From: Gerhard T. <TO...@de...> - 2002-07-10 09:04:07
|
BTW, the pread02 testcase failure on 31 bit platforms has the same cause as the pwrite02 failure described below. We are also going to fix that in the glibc. Regards / Mit freundlichen Gruessen Gerhard Gerhard Tonn, Linux for eServer Development, +(49)-7031-16-4716, Lotus Notes: ton@ibmde, Internet: to...@de... Gerhard Tonn/Germany/IBM@IB...@li... on 10.07.2002 10:27:07 Please respond to Gerhard Tonn/Germany/IBM@IBMDE Sent by: ltp...@li... To: ltp...@li... cc: Susanne Wintenberger/Germany/IBM@IBMDE Subject: [LTP] expected errors on 64 bit zSeries Hi, I am currently fixing some of the expected errors of the ltp on the Linux for zSeries kernel on 31 bit, 64 bit and the 31 bit emulation on 64 bit. Below are some findings for the 64 bit case in advance. It refers to http://ltp.sourceforge.net/errorstemp.php?file=20020507-Zseries64.html. >Tests that fail all of the time: > ioctl01 - investigating > ioctl02 - investigating > mmap01 - investigating This is a known linux for zSeries kernel bug, will be fixed in 2.4.19 > mprotect03 - investigating same as above > personality01 - sf#511474 > personality02 - sf#511474 > pwrite02 - investigating This is in my opinion a testcase bug and a glibc bug on 31 bit platforms. http://www.opengroup.org/onlinepubs/007908799/xsh/write.html defines that pwrite returns EINVAL, if the offset is negative. However the glibc implementation on 31 bit doesn't check it but does a conversion from an off_t (defined as long) to an loff_t (defined as lon long), but ignoring the sign. The 64 bit implementation is correct. We are going to fix this in the glibc function. > read02 - investigating It seems as if the buf address value is not checked as long as the accessed file is empty. The testcase works fine if the file is non-empty. Could you fix the testcase to make the file non-empty? > setgroups03 - investigating The testcase fails, because on the 64 bit system the glibc implementation issues directly a system call without any additional checks. The kernel checks first for permission which fails and returns EPERM. The attached file contains a patch for the testcase that changes uid only for the second testcase. > setrlimit03 - investigating > sockioctl01 - investigating > waitpid04 - investigating The failure of the testcase seems to depend on the value of pid that is not explicitly set. Since it is 0 on the zSeries platforms for some reason, the testcase fails. If I set pid explicitly to some invalid value, the testcase works. The attached file contains a patch for the testcase. > writev02 - investigating The writev call of the testcase passes as third parameter the value 3 to indicate that iovec has three elements, but it has only two. The attached file contains a patch for the testcase. > writev05 - investigating same as above > ar - investigating > sem02 - investigating > float_power - investigating (See attached file: ltp.patch64) Regards / Mit freundlichen Gruessen Gerhard Gerhard Tonn, Linux for eServer Development, +(49)-7031-16-4716, Lotus Notes: ton@ibmde, Internet: to...@de... |