[LTP] LTP pre-release testing and freeze
Cyril Hrubis
chrubis@suse.cz
Thu Apr 28 14:26:25 CEST 2016
Hi!
> Looks good from my side. I ran the usual set we use as smoke test
> (syscalls, selection of mem/io/etc.) on
> RHEL6.2 through RHEL6.8 (i386, x86_64, ppc64, s390x)
> RHEL7.0 through RHEL7.2 (x86_64, ppc64, ppc64le, s390x, aarch64)
> and ran mostly into known bugs in kernel / glibc.
>
> Other than known issues, there were couple failures to note:
>
> epoll_wait02
> There is a tolerance, but it goes only one way (oversleep).
> I occasionally see it waking up a ms earlier and then testcase
> reports it as failure. This was new addition, so there are
> no historical data for comparison.
That may be bug, since AFAIC all POSIX timers are not allowed to wake up
earlier. The epoll_wait() is Linux specific, but the manual talks only
about possible overrun as well.
> personality01
> PER_LINUX32 is masked on powerpc as PER_LINUX, so this
> always fails.
>
> arch/powerpc/kernel/syscalls.c:
> long ppc64_personality(unsigned long personality)
> {
> long ret;
>
> if (personality(current->personality) == PER_LINUX32
> && personality(personality) == PER_LINUX)
> personality = (personality & ~PER_MASK) | PER_LINUX32;
> ret = sys_personality(personality);
> if (personality(ret) == PER_LINUX32)
> ret = (ret & ~PER_MASK) | PER_LINUX;
> return ret;
> }
So the fist if () makes sure that process cannot excape PER_LINUX32
while the second hides PER_LINUX32 completly. I've missed the second
part when I was rewriting the testcase. Looking at kernel sources
sparc64 and s390 seems to do the same but the code assumes that
PER_LINUX == 0.
SYSCALL_DEFINE1(s390_personality, unsigned int, personality)
{
unsigned int ret;
if (personality(current->personality) == PER_LINUX32 &&
personality(personality) == PER_LINUX)
personality |= PER_LINUX32;
ret = sys_personality(personality);
if (personality(ret) == PER_LINUX32)
ret &= ~PER_LINUX32;
return ret;
}
Does the test fail on s390x as well?
It seems that mapping PER_LINUX32 to PER_LINUX is a common practice on
64 bit, maybe we should just skip that personality on anything than
x86_64.
I'm currently working on few more fixes:
* The umount2() tests still fails with EBUSY rarely,
I will have to fix the TEST(umount2()) to retry on
EBUSY as well
* Another diotest fix for Btrfs
And I would like to get the isofs fix I've send to the list in before
the release as well. Can you please have a look at that one?
Apart from these, the rest looks fine.
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list