2019-01-19 15:21:33

by Florian La Roche

[permalink] [raw]
Subject: fix int_sqrt() for very large numbers

If an input number x for int_sqrt() has the highest bit set, then
__ffs(x) is 64. (1UL << 64) is an overflow and breaks the algorithm.

Just subtracting 1 is an even better guess for the initial
value of m and that's what also used to be done in earlier
versions of this code.

best regards,

Florian La Roche

Signed-off-by: Florian La Roche <[email protected]>
---
lib/int_sqrt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/int_sqrt.c b/lib/int_sqrt.c
index 14436f4ca6bd..ea00e84dc272 100644
--- a/lib/int_sqrt.c
+++ b/lib/int_sqrt.c
@@ -23,7 +23,7 @@ unsigned long int_sqrt(unsigned long x)
if (x <= 1)
return x;

- m = 1UL << (__fls(x) & ~1UL);
+ m = 1UL << ((__fls(x) - 1) & ~1UL);
while (m != 0) {
b = y + m;
y >>= 1;
@@ -52,7 +52,7 @@ u32 int_sqrt64(u64 x)
if (x <= ULONG_MAX)
return int_sqrt((unsigned long) x);

- m = 1ULL << (fls64(x) & ~1ULL);
+ m = 1ULL << ((fls64(x) - 1) & ~1ULL);
while (m != 0) {
b = y + m;
y >>= 1;
--
2.17.1



2019-01-20 00:04:34

by Will Deacon

[permalink] [raw]
Subject: Re: fix int_sqrt() for very large numbers

On Sat, Jan 19, 2019 at 04:14:50PM +0100, Florian La Roche wrote:
> If an input number x for int_sqrt() has the highest bit set, then
> __ffs(x) is 64. (1UL << 64) is an overflow and breaks the algorithm.

This is confusing, because the patch doesn't go near an __ffs().

> Just subtracting 1 is an even better guess for the initial
> value of m and that's what also used to be done in earlier
> versions of this code.
>
> best regards,
>
> Florian La Roche
>
> Signed-off-by: Florian La Roche <[email protected]>
> ---
> lib/int_sqrt.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/int_sqrt.c b/lib/int_sqrt.c
> index 14436f4ca6bd..ea00e84dc272 100644
> --- a/lib/int_sqrt.c
> +++ b/lib/int_sqrt.c
> @@ -23,7 +23,7 @@ unsigned long int_sqrt(unsigned long x)
> if (x <= 1)
> return x;
>
> - m = 1UL << (__fls(x) & ~1UL);
> + m = 1UL << ((__fls(x) - 1) & ~1UL);

I think this one is fine, because __fls() gives you back 0-63 (or
undefined, but the previous <= 1 check handles that case).

> while (m != 0) {
> b = y + m;
> y >>= 1;
> @@ -52,7 +52,7 @@ u32 int_sqrt64(u64 x)
> if (x <= ULONG_MAX)
> return int_sqrt((unsigned long) x);
>
> - m = 1ULL << (fls64(x) & ~1ULL);
> + m = 1ULL << ((fls64(x) - 1) & ~1ULL);

This just looks like a copy-paste error because there isn't an __fls64().
But I think your suggestion here is ok, given the previous check against
ULONG_MAX.

Will

2019-01-20 03:53:34

by Linus Torvalds

[permalink] [raw]
Subject: Re: fix int_sqrt() for very large numbers

On Sun, Jan 20, 2019 at 12:01 PM Will Deacon <[email protected]> wrote:
>
> > @@ -52,7 +52,7 @@ u32 int_sqrt64(u64 x)
> > if (x <= ULONG_MAX)
> > return int_sqrt((unsigned long) x);
> >
> > - m = 1ULL << (fls64(x) & ~1ULL);
> > + m = 1ULL << ((fls64(x) - 1) & ~1ULL);
>
> This just looks like a copy-paste error because there isn't an __fls64().
> But I think your suggestion here is ok, given the previous check against
> ULONG_MAX.

Hmm. We probably *should* add a __fls64().

There looks to be only one user of int_sqrt64(), and that one is
confused. It does int_sqrt64() twice, but since the inner one will
reduce the range to 32 bits, the outer one is just silly.

That one user also had better not be overflowing into the high bit -
it uses "s64" as a type and does seem to use signed operatons, so high
bit set really means negative. sqrt() returning something odd for a
negative number wouldn't be all that odd in that context.

But yes, our current int_sqrt64() does seem buggy as-is, because it's
*supposed* to work on u64's, even if I don't think we really have any
users that care.

And as Will mentioned, the regular int_sqrt() looks perfectly fine,
and subtracting 1 from the __fls() return value would actually
_introduce_ a bug.

Linus

2019-01-20 05:10:26

by Florian La Roche

[permalink] [raw]
Subject: Re: fix int_sqrt() for very large numbers

Hello all,

my comment said ffs(), but the code only uses fls() and that's what I meant.


Am So., 20. Jan. 2019 um 04:49 Uhr schrieb Linus Torvalds
<[email protected]>:
> But yes, our current int_sqrt64() does seem buggy as-is, because it's
> *supposed* to work on u64's, even if I don't think we really have any
> users that care.

Right. No real bug, just not 100% correct code.

> And as Will mentioned, the regular int_sqrt() looks perfectly fine,
> and subtracting 1 from the __fls() return value would actually
> _introduce_ a bug.

I think no bug introduced as the code handling 0 and 1 is already done.

For __fls() and fls64() I am actually using the folloing code:
/*
* fls - find last (most-significant) bit set
* Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32.
*/
static __always_inline unsigned int flsl(unsigned long x)
{
return x ? sizeof(x) * 8 - __builtin_clzl(x) : 0;
}

Please note the "_builtin_clzl()" instead of the "_builtin_clz()".

The real bug is that we compute 1 to 64 for bit 0 to bit 63, whereas
the algorithm
expects 0 to 63 for the value of m.

best regards,

Florian La Roche

2019-01-20 05:12:52

by Linus Torvalds

[permalink] [raw]
Subject: Re: fix int_sqrt() for very large numbers

On Sun, Jan 20, 2019 at 5:03 PM Florian La Roche
<[email protected]> wrote:
>
> The real bug is that we compute 1 to 64 for bit 0 to bit 63, whereas
> the algorithm expects 0 to 63 for the value of m.

Florian, you seem to be in denial.

__fls() returns 0-63. Your patch is *wrong* for the __fls() use,
because when you subtract 1, you get -1 to 62, and the -1 now
introduces the very undefined behavior you claim your patch fixes.

So your patch fixes one real case (int_sqrt64(), that has one user
that doesn't care) but it *BREAKS* the other case that is actually
much more widely used (int_sqrt()).

See what Will and I are complainig about?

Linus

2019-01-20 08:34:29

by Crt Mori

[permalink] [raw]
Subject: Re: fix int_sqrt() for very large numbers

On Sun, 20 Jan 2019 at 04:49, Linus Torvalds
<[email protected]> wrote:
>
> On Sun, Jan 20, 2019 at 12:01 PM Will Deacon <[email protected]> wrote:
> >
> > > @@ -52,7 +52,7 @@ u32 int_sqrt64(u64 x)
> > > if (x <= ULONG_MAX)
> > > return int_sqrt((unsigned long) x);
> > >
> > > - m = 1ULL << (fls64(x) & ~1ULL);
> > > + m = 1ULL << ((fls64(x) - 1) & ~1ULL);
> >
> > This just looks like a copy-paste error because there isn't an __fls64().
> > But I think your suggestion here is ok, given the previous check against
> > ULONG_MAX.
>
> Hmm. We probably *should* add a __fls64().
>
> There looks to be only one user of int_sqrt64(), and that one is
> confused. It does int_sqrt64() twice, but since the inner one will
> reduce the range to 32 bits, the outer one is just silly.

II have a usecase (mlx90632) where this calculation worked on arm64
(nexus), but not in normal 32-bit arm (beaglebone). I have tried going
with full u64 to u64, but I was persuaded that it is not necessary and
testing on black body (sensor range from 0 - 80 degrees) confirmed
that for my calculations u32/u64 is enough. Because of the testing
range (and keep in mind it is casted to signed after two sqrts) the
high bit might never affect my end result, but I needed precision, not
the range. Inside the function the b was 32bit on 32bit core, but I
needed it to be 64bit. To keep it similar to existing int_sqrt, I have
decided to just type all variables there to 64bit.

We have implementation of this with doubles (see datasheet) and I
ported it to integer on arm64. The end result was fairly similar
calculation (for within object tempearture range from 0-80), between
both.

> That one user also had better not be overflowing into the high bit -
> it uses "s64" as a type and does seem to use signed operatons, so high
> bit set really means negative. sqrt() returning something odd for a
> negative number wouldn't be all that odd in that context.
>
> But yes, our current int_sqrt64() does seem buggy as-is, because it's
> *supposed* to work on u64's, even if I don't think we really have any
> users that care.

I introduced strong types for existing int_sqrt implementation to keep
it aligned between 64bit and 32bit.

Best regards,
Crt

> And as Will mentioned, the regular int_sqrt() looks perfectly fine,
> and subtracting 1 from the __fls() return value would actually
> _introduce_ a bug.
>
> Linus

2019-01-20 09:34:31

by Crt Mori

[permalink] [raw]
Subject: Re: fix int_sqrt() for very large numbers

On Sun, 20 Jan 2019 at 09:31, Crt Mori <[email protected]> wrote:
>
> On Sun, 20 Jan 2019 at 04:49, Linus Torvalds
> <[email protected]> wrote:
> >
> > On Sun, Jan 20, 2019 at 12:01 PM Will Deacon <[email protected]> wrote:
> > >
> > > > @@ -52,7 +52,7 @@ u32 int_sqrt64(u64 x)
> > > > if (x <= ULONG_MAX)
> > > > return int_sqrt((unsigned long) x);
> > > >
> > > > - m = 1ULL << (fls64(x) & ~1ULL);
> > > > + m = 1ULL << ((fls64(x) - 1) & ~1ULL);
> > >
> > > This just looks like a copy-paste error because there isn't an __fls64().
> > > But I think your suggestion here is ok, given the previous check against
> > > ULONG_MAX.
> >
> > Hmm. We probably *should* add a __fls64().
> >
> > There looks to be only one user of int_sqrt64(), and that one is
> > confused. It does int_sqrt64() twice, but since the inner one will
> > reduce the range to 32 bits, the outer one is just silly.
>
> II have a usecase (mlx90632) where this calculation worked on arm64
> (nexus), but not in normal 32-bit arm (beaglebone). I have tried going
> with full u64 to u64, but I was persuaded that it is not necessary and
> testing on black body (sensor range from 0 - 80 degrees) confirmed
> that for my calculations u32/u64 is enough. Because of the testing

I have just re-read the patch submit discussion and a sqrt of 64bit
number can never be more than 32bit. That is why u32 return value is
enough. But I do not clearly remember if I tested with outside
int_sqrt (insted int_sqrt64). We still have everything, so I could
test if that is the suggestion.

> range (and keep in mind it is casted to signed after two sqrts) the
> high bit might never affect my end result, but I needed precision, not
> the range. Inside the function the b was 32bit on 32bit core, but I
> needed it to be 64bit. To keep it similar to existing int_sqrt, I have
> decided to just type all variables there to 64bit.
>
> We have implementation of this with doubles (see datasheet) and I
> ported it to integer on arm64. The end result was fairly similar
> calculation (for within object tempearture range from 0-80), between
> both.
>
> > That one user also had better not be overflowing into the high bit -
> > it uses "s64" as a type and does seem to use signed operatons, so high
> > bit set really means negative. sqrt() returning something odd for a
> > negative number wouldn't be all that odd in that context.
> >
> > But yes, our current int_sqrt64() does seem buggy as-is, because it's
> > *supposed* to work on u64's, even if I don't think we really have any
> > users that care.
>
> I introduced strong types for existing int_sqrt implementation to keep
> it aligned between 64bit and 32bit.
>
> Best regards,
> Crt
>
> > And as Will mentioned, the regular int_sqrt() looks perfectly fine,
> > and subtracting 1 from the __fls() return value would actually
> > _introduce_ a bug.
> >
> > Linus

2019-01-20 10:17:55

by Linus Torvalds

[permalink] [raw]
Subject: Re: fix int_sqrt() for very large numbers

On Sun, Jan 20, 2019 at 9:30 PM Crt Mori <[email protected]> wrote:
>
> I have just re-read the patch submit discussion and a sqrt of 64bit
> number can never be more than 32bit. That is why u32 return value is
> enough.

Right. And that's exactly why I thought it was so odd how the
mlx90632.c driver - which is the only user of int_sqrt64() - does a
nested one.

It would be sufficient to do

int_sqrt(int_sqrt64(..))

because the domain on the outer one isn't actually 64 bits, it's only 32 bits.

But it's just a slight confusion and doesn't really matter much.

The bug in int_sqrt64() is real, but as mentioned, the calculations
done to generate the argument for that one user do seem to all be
*signed*. If it overflows into the high bit of an u64 (which is where
the off-by-one bug would matter), then the types in that one user are
already wrong.

So it would probably be a good idea to clarify the single user too while at it.

Linus

2019-01-21 07:27:03

by Linus Torvalds

[permalink] [raw]
Subject: Re: fix int_sqrt() for very large numbers

On Sun, Jan 20, 2019 at 4:15 AM Florian La Roche
<[email protected]> wrote:
>
> @@ -52,7 +52,7 @@ u32 int_sqrt64(u64 x)
> if (x <= ULONG_MAX)
> return int_sqrt((unsigned long) x);
>
> - m = 1ULL << (fls64(x) & ~1ULL);
> + m = 1ULL << ((fls64(x) - 1) & ~1ULL);

I've applied this part of the patch as commit fbfaf851902c ("fix
int_sqrt64() for very large numbers") with slightly edited commit
log.

I still think there are some oddities in here in the types. I
mentioned the caller that unnecessarily does the int_sqrt64() twice,
even though the outer one doesn't actually take a 64-bit value.

But in the very line above, there's another type oddity: the "& ~1ULL"
is entirely the wrong type. The shift *count* shouldn't be an unsigned
long long, so that type doesn't make much sense. It should be just a
~1, or even just "62".

But I didn't actually start micro-editing the patch, and just did that
one-liner off-by-one fix.

Linus

2019-01-21 20:28:42

by Crt Mori

[permalink] [raw]
Subject: Re: fix int_sqrt() for very large numbers

On Mon, 21 Jan 2019 at 01:20, Linus Torvalds
<[email protected]> wrote:
>
> On Sun, Jan 20, 2019 at 4:15 AM Florian La Roche
> <[email protected]> wrote:
> >
> > @@ -52,7 +52,7 @@ u32 int_sqrt64(u64 x)
> > if (x <= ULONG_MAX)
> > return int_sqrt((unsigned long) x);
> >
> > - m = 1ULL << (fls64(x) & ~1ULL);
> > + m = 1ULL << ((fls64(x) - 1) & ~1ULL);
>
> I've applied this part of the patch as commit fbfaf851902c ("fix
> int_sqrt64() for very large numbers") with slightly edited commit
> log.
>

Thanks for the patch - I its indeed my copy-paste error, because
__fls64 does not exist on 32bit CPU, but the fls64 is not "equal"
replacement. I am very sorry for the bug.

> I still think there are some oddities in here in the types. I
> mentioned the caller that unnecessarily does the int_sqrt64() twice,
> even though the outer one doesn't actually take a 64-bit value.
>

True. This is oddity is originating from time where mlx90632 used its
own function for int_sqrt64 on 32bit.

> But in the very line above, there's another type oddity: the "& ~1ULL"
> is entirely the wrong type. The shift *count* shouldn't be an unsigned
> long long, so that type doesn't make much sense. It should be just a
> ~1, or even just "62".
>

This was also inline with above copy-paste and variable expansion to
force the 64bit everywhere. I will prepare a patch to clean this line
to ~1, question is why does the int_sqrt is having UL if this should
just be "62". I was thinking because we want to cast to the type
before we shift.

> But I didn't actually start micro-editing the patch, and just did that
> one-liner off-by-one fix.
>
> Linus

2019-02-02 06:12:28

by Chen, Rong A

[permalink] [raw]
Subject: [LKP] 32bd07585d: kernel_selftests.lib.prime_numbers.sh.fail

FYI, we noticed the following commit (built with gcc-7):

commit: 32bd07585d303a945d476d3d86b3c0dae43a9919 ("fix int_sqrt() for very large numbers")
url: https://github.com/0day-ci/linux/commits/Florian-La-Roche/fix-int_sqrt-for-very-large-numbers/20190122-045319


in testcase: kernel_selftests
with following parameters:

group: kselftests-01

test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt


on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 4G

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):




KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919
2019-02-01 19:32:50 ln -sf /usr/bin/clang-7 /usr/bin/clang
2019-02-01 19:32:50 ln -sf /usr/bin/llc-7 /usr/bin/llc

2019-02-01 19:32:50 chown lkp capabilities -R
2019-02-01 19:32:50 su lkp -c make run_tests -C capabilities 2>&1
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/capabilities'
gcc -O2 -g -std=gnu99 -Wall test_execve.c -lcap-ng -lrt -ldl -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/capabilities/test_execve
gcc -O2 -g -std=gnu99 -Wall validate_cap.c -lcap-ng -lrt -ldl -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/capabilities/validate_cap
TAP version 13
selftests: capabilities: test_execve
========================================
# validate_cap:: Capabilities after execve were correct
# validate_cap:: Capabilities after execve were correct
# validate_cap:: Capabilities after execve were correct
# [RUN] +++ Tests with uid == 0 +++
# [NOTE] Using a user namespace for tests
# [RUN] Root => ep
ok 1 Passed
# Check cap_ambient manipulation rules
ok 2 PR_CAP_AMBIENT_RAISE failed on non-inheritable cap
ok 3 PR_CAP_AMBIENT_RAISE failed on non-permitted cap
ok 4 PR_CAP_AMBIENT_RAISE worked
ok 5 Basic manipulation appears to work
# [RUN] Root +i => eip
ok 6 Passed
# [RUN] UID 0 +ia => eipa
ok 7 Passed
ok 8 # skip SUID/SGID tests (needs privilege)
Pass 7 Fail 0 Xfail 0 Xpass 0 Skip 1 Error 0
1..8
# validate_cap:: Capabilities after execve were correct
# validate_cap:: Capabilities after execve were correct
# validate_cap:: Capabilities after execve were correct
# ==================================================
# [RUN] +++ Tests with uid != 0 +++
# [NOTE] Using a user namespace for tests
# [RUN] Non-root => no caps
ok 1 Passed
# Check cap_ambient manipulation rules
ok 2 PR_CAP_AMBIENT_RAISE failed on non-inheritable cap
ok 3 PR_CAP_AMBIENT_RAISE failed on non-permitted cap
ok 4 PR_CAP_AMBIENT_RAISE worked
ok 5 Basic manipulation appears to work
# [RUN] Non-root +i => i
ok 6 Passed
# [RUN] UID 1 +ia => eipa
ok 7 Passed
ok 8 # skip SUID/SGID tests (needs privilege)
Pass 7 Fail 0 Xfail 0 Xpass 0 Skip 1 Error 0
1..8
# ==================================================
ok 1..1 selftests: capabilities: test_execve [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/capabilities'
ignored_by_lkp cgroup test

2019-02-01 19:32:50 make run_tests -C cpu-hotplug
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/cpu-hotplug'
TAP version 13
selftests: cpu-hotplug: cpu-on-off-test.sh
========================================
pid 1199's current affinity mask: 3
pid 1199's new affinity mask: 1
CPU online/offline summary:
Cpus in online state: 0-1
Cpus in offline state: 0
Limited scope test: one hotplug cpu
(leaves cpu in the original state):
online to offline to online: cpu 1
ok 1..1 selftests: cpu-hotplug: cpu-on-off-test.sh [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/cpu-hotplug'

2019-02-01 19:32:51 make run_tests -C cpufreq
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/cpufreq'
TAP version 13
selftests: cpufreq: main.sh
========================================
pid 1260's current affinity mask: 3
pid 1260's new affinity mask: 1
not ok 1..1 selftests: cpufreq: main.sh [FAIL]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/cpufreq'
ignored_by_lkp efivarfs test: /sys/firmware/efi dir does not exist

2019-02-01 19:32:51 make run_tests -C exec
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec'
gcc -Wall execveat.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/execveat
cd /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec && ln -s -f execveat execveat.symlink
cp /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/execveat /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/execveat.denatured
chmod -x /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/execveat.denatured
echo '#!/bin/sh' > /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/script
echo 'exit $*' >> /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/script
chmod +x /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/script
mkdir -p /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/subdir
TAP version 13
selftests: exec: execveat
========================================
/bin/sh: 0: Can't open /dev/fd/7/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Check success of execveat(4, '../execveat', 0)... [OK]
Check success of execveat(6, 'execveat', 0)... [OK]
Check success of execveat(8, 'execveat', 0)... [OK]
Check success of execveat(-100, '/usr/src/perf_selfte...ftests/exec/execveat', 0)... [OK]
Check success of execveat(99, '/usr/src/perf_selfte...ftests/exec/execveat', 0)... [OK]
Check success of execveat(10, '', 4096)... [OK]
Check success of execveat(19, '', 4096)... [OK]
Check success of execveat(11, '', 4096)... [OK]
Check success of execveat(16, '', 4096)... [OK]
Check success of execveat(16, '', 4096)... [OK]
Check success of execveat(17, '', 4096)... [OK]
Check failure of execveat(10, '', 0) with ENOENT... [OK]
Check failure of execveat(10, '(null)', 4096) with EFAULT... [OK]
Check success of execveat(6, 'execveat.symlink', 0)... [OK]
Check success of execveat(8, 'execveat.symlink', 0)... [OK]
Check success of execveat(-100, '/usr/src/perf_selfte...xec/execveat.symlink', 0)... [OK]
Check success of execveat(12, '', 4096)... [OK]
Check success of execveat(12, '', 4352)... [OK]
Check failure of execveat(6, 'execveat.symlink', 256) with ELOOP... [OK]
Check failure of execveat(8, 'execveat.symlink', 256) with ELOOP... [OK]
Check failure of execveat(-100, '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec/execveat.symlink', 256) with ELOOP... [OK]
Check success of execveat(4, '../script', 0)... [OK]
Check success of execveat(6, 'script', 0)... [OK]
Check success of execveat(8, 'script', 0)... [OK]
Check success of execveat(-100, '/usr/src/perf_selfte...elftests/exec/script', 0)... [OK]
Check success of execveat(15, '', 4096)... [OK]
Check success of execveat(15, '', 4352)... [OK]
Check failure of execveat(20, '', 4096) with ENOENT... [OK]
Check failure of execveat(9, 'script', 0) with ENOENT... [OK]
Check success of execveat(18, '', 4096)... [OK]
Check success of execveat(18, '', 4096)... [OK]
Check success of execveat(5, '../script', 0)... [OK]
Check success of execveat(5, 'script', 0)... [OK]
Check success of execveat(5, '../script', 0)... [OK]
Check failure of execveat(5, 'script', 0) with ENOENT... [OK]
Check failure of execveat(6, 'execveat', 65535) with EINVAL... [OK]
Check failure of execveat(6, 'no-such-file', 0) with ENOENT... [OK]
Check failure of execveat(8, 'no-such-file', 0) with ENOENT... [OK]
Check failure of execveat(-100, 'no-such-file', 0) with ENOENT... [OK]
Check failure of execveat(6, '', 4096) with EACCES... [OK]
Check failure of execveat(6, 'Makefile', 0) with EACCES... [OK]
Check failure of execveat(13, '', 4096) with EACCES... [OK]
Check failure of execveat(14, '', 4096) with EACCES... [OK]
Check failure of execveat(99, '', 4096) with EBADF... [OK]
Check failure of execveat(99, 'execveat', 0) with EBADF... [OK]
Check failure of execveat(10, 'execveat', 0) with ENOTDIR... [OK]
Invoke copy of 'execveat' via filename of length 4094:
Check success of execveat(21, '', 4096)... [OK]
Check success of execveat(7, 'usr/src/perf_selftes...yyyyyyyyyyyyyyyyyyyy', 0)... [OK]
Invoke copy of 'script' via filename of length 4094:
Check success of execveat(22, '', 4096)... [OK]
Check success of execveat(7, 'usr/src/perf_selftes...yyyyyyyyyyyyyyyyyyyy', 0)... [OK]
ok 1..1 selftests: exec: execveat [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/exec'
ignored_by_lkp filesystems test
2019-02-01 19:32:51 mv /lib/udev/rules.d/50-firmware.rules .
2019-02-01 19:32:51 /etc/init.d/udev restart
Restarting udev (via systemctl): udev.service.

2019-02-01 19:32:51 make run_tests -C firmware
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/firmware'
TAP version 13
selftests: firmware: fw_run_tests.sh
========================================
-----------------------------------------------------
Running kernel configuration test 1 -- rare
Emulates:
CONFIG_FW_LOADER=y
CONFIG_FW_LOADER_USER_HELPER=n
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=n
./fw_filesystem.sh: filesystem loading works
./fw_filesystem.sh: async filesystem loading works

Testing with the file present...
Batched request_firmware() try #1: Files /tmp/tmp.QCJhVEPkiu/test-firmware.bin and /sys/devices/virtual/misc/test_firmware/read_firmware differ
request #0: firmware was not loaded
not ok 1..1 selftests: firmware: fw_run_tests.sh [FAIL]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/firmware'
2019-02-01 19:32:51 mv 50-firmware.rules /lib/udev/rules.d/50-firmware.rules

2019-02-01 19:32:51 make run_tests -C ftrace
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ftrace'
TAP version 13
selftests: ftrace: ftracetest
========================================
./ftracetest: 163: [: Illegal number:
-e === Ftrace unit tests ===
-e -n [1] Basic trace file check
-e [PASS]
-e -n [2] Basic test for tracers
-e [PASS]
-e -n [3] Basic trace clock test
-e [PASS]
-e -n [4] Basic event tracing check
-e [PASS]
-e -n [5] Change the ringbuffer size
-e [PASS]
-e -n [6] Snapshot and tracing setting
-e [PASS]
-e -n [7] trace_pipe and trace_marker
-e [PASS]
-e -n [8] Generic dynamic event - add/remove kprobe events
-e [PASS]
-e -n [9] Generic dynamic event - add/remove synthetic events
-e [PASS]
-e -n [10] Generic dynamic event - selective clear (compatibility)
-e [PASS]
-e -n [11] Generic dynamic event - generic clear event
-e [PASS]
-e -n [12] event tracing - enable/disable with event level files
-e [PASS]
-e -n [13] event tracing - restricts events based on pid
-e [PASS]
-e -n [14] event tracing - enable/disable with subsystem level files
-e [PASS]
-e -n [15] event tracing - enable/disable with top level files
-e [PASS]
-e -n [16] Test trace_printk from module
-e [UNRESOLVED]
-e -n [17] ftrace - function graph filters with stack tracer
-e [PASS]
-e -n [18] ftrace - function graph filters
-e [PASS]
-e -n [19] ftrace - function glob filters
-e [PASS]
-e -n [20] ftrace - function pid filters
-e [PASS]
-e -n [21] ftrace - stacktrace filter command
-e [PASS]
-e -n [22] ftrace - function trace with cpumask
-e [PASS]
-e -n [23] ftrace - test for function event triggers
-e [PASS]
-e -n [24] ftrace - function trace on module
-e [UNRESOLVED]
-e -n [25] ftrace - function profiling
-e [PASS]
-e -n [26] ftrace - function profiler with function tracing
-e [PASS]
-e -n [27] ftrace - test reading of set_ftrace_filter
-e [PASS]
-e -n [28] ftrace - Max stack tracer
-e [PASS]
-e -n [29] ftrace - test for function traceon/off triggers
-e [PASS]
-e -n [30] Test creation and deletion of trace instances while setting an event
-e [PASS]
-e -n [31] Test creation and deletion of trace instances
-e [PASS]
-e -n [32] Kprobe dynamic event - adding and removing
-e [PASS]
-e -n [33] Kprobe dynamic event - busy event check
-e [PASS]
-e -n [34] Kprobe dynamic event with arguments
-e [PASS]
-e -n [35] Kprobe event with comm arguments
-e [PASS]
-e -n [36] Kprobe event string type argument
-e [PASS]
-e -n [37] Kprobe event symbol argument
-e [PASS]
-e -n [38] Kprobe event argument syntax
-e [PASS]
-e -n [39] Kprobes event arguments with types
-e [PASS]
-e -n [40] Kprobe event auto/manual naming
-e [PASS]
-e -n [41] Kprobe dynamic event with function tracer
-e [PASS]
-e -n [42] Kprobe dynamic event - probing module
-e [UNRESOLVED]
-e -n [43] Kretprobe dynamic event with arguments
-e [PASS]
-e -n [44] Kretprobe dynamic event with maxactive
-e [PASS]
-e -n [45] Register/unregister many kprobe events
-e [PASS]
-e -n [46] Kprobe events - probe points
-e [PASS]
-e -n [47] Kprobe dynamic event - adding and removing
-e [PASS]
-e -n [48] test for the preemptirqsoff tracer
-e [UNSUPPORTED]
-e -n [49] Test wakeup tracer
-e [PASS]
-e -n [50] Test wakeup RT tracer
-e [PASS]
-e -n [51] event trigger - test extended error support
-e [PASS]
-e -n [52] event trigger - test field variable support
-e [PASS]
-e -n [53] event trigger - test inter-event combined histogram trigger
-e [PASS]
-e -n [54] event trigger - test multiple actions on hist trigger
-e [PASS]
-e -n [55] event trigger - test inter-event histogram trigger onmatch action
-e [PASS]
-e -n [56] event trigger - test inter-event histogram trigger onmatch-onmax action
-e [PASS]
-e -n [57] event trigger - test inter-event histogram trigger onmax action
-e [PASS]
-e -n [58] event trigger - test synthetic event create remove
-e [PASS]
-e -n [59] event trigger - test synthetic_events syntax parser
-e [PASS]
-e -n [60] event trigger - test event enable/disable trigger
-e [PASS]
-e -n [61] event trigger - test trigger filter
-e [PASS]
-e -n [62] event trigger - test histogram modifiers
-e [PASS]
-e -n [63] event trigger - test histogram trigger
-e [PASS]
-e -n [64] event trigger - test multiple histogram triggers
-e [PASS]
-e -n [65] event trigger - test snapshot-trigger
-e [PASS]
-e -n [66] event trigger - test stacktrace-trigger
-e [PASS]
-e -n [67] trace_marker trigger - test histogram trigger
-e [PASS]
-e -n [68] trace_marker trigger - test snapshot trigger
-e [PASS]
-e -n [69] trace_marker trigger - test histogram with synthetic event against kernel event
-e [PASS]
-e -n [70] trace_marker trigger - test histogram with synthetic event
-e [PASS]
-e -n [71] event trigger - test traceon/off trigger
-e [PASS]
-e -n [72] (instance) Basic test for tracers
-e [PASS]
-e -n [73] (instance) Basic trace clock test
-e [PASS]
-e -n [74] (instance) Change the ringbuffer size
-e [PASS]
-e -n [75] (instance) Snapshot and tracing setting
-e [PASS]
-e -n [76] (instance) trace_pipe and trace_marker
-e [PASS]
-e -n [77] (instance) event tracing - enable/disable with event level files
-e [PASS]
-e -n [78] (instance) event tracing - restricts events based on pid
-e [PASS]
-e -n [79] (instance) event tracing - enable/disable with subsystem level files
-e [PASS]
-e -n [80] (instance) ftrace - stacktrace filter command
-e [PASS]
-e -n [81] (instance) ftrace - test for function event triggers
-e [PASS]
-e -n [82] (instance) ftrace - test for function traceon/off triggers
-e [PASS]
-e -n [83] (instance) event trigger - test event enable/disable trigger
-e [PASS]
-e -n [84] (instance) event trigger - test trigger filter
-e [PASS]
-e -n [85] (instance) event trigger - test histogram modifiers
-e [PASS]
-e -n [86] (instance) event trigger - test histogram trigger
-e [PASS]
-e -n [87] (instance) event trigger - test multiple histogram triggers
-e [PASS]
-e -n [88] (instance) trace_marker trigger - test histogram trigger
-e [PASS]
-e -n [89] (instance) trace_marker trigger - test snapshot trigger
-e [PASS]


-e
-e # of passed: 85
-e # of failed: 0
-e # of unresolved: 3
-e # of untested: 0
-e # of unsupported: 1
-e # of xfailed: 0
-e # of undefined(test bug): 0
not ok 1..1 selftests: ftrace: ftracetest [FAIL]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ftrace'

2019-02-01 19:34:47 make run_tests -C futex
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex'
make[1]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex/functional'
make ARCH=x86 -C ../../../../.. headers_install
make[2]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919'
HOSTCC scripts/basic/fixdep
WRAP arch/x86/include/generated/uapi/asm/bpf_perf_event.h
WRAP arch/x86/include/generated/uapi/asm/poll.h
SYSTBL arch/x86/include/generated/asm/syscalls_32.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
HOSTLD arch/x86/tools/relocs
UPD include/generated/uapi/linux/version.h
HOSTCC scripts/unifdef
INSTALL usr/include/asm-generic/ (37 files)
INSTALL usr/include/drm/ (26 files)
INSTALL usr/include/linux/ (503 files)
INSTALL usr/include/linux/android/ (2 files)
INSTALL usr/include/linux/byteorder/ (2 files)
INSTALL usr/include/linux/caif/ (2 files)
INSTALL usr/include/linux/can/ (6 files)
INSTALL usr/include/linux/cifs/ (1 file)
INSTALL usr/include/linux/dvb/ (8 files)
INSTALL usr/include/linux/genwqe/ (1 file)
INSTALL usr/include/linux/hdlc/ (1 file)
INSTALL usr/include/linux/hsi/ (2 files)
INSTALL usr/include/linux/iio/ (2 files)
INSTALL usr/include/linux/isdn/ (1 file)
INSTALL usr/include/linux/mmc/ (1 file)
INSTALL usr/include/linux/netfilter/ (88 files)
INSTALL usr/include/linux/netfilter/ipset/ (4 files)
INSTALL usr/include/linux/netfilter_arp/ (2 files)
INSTALL usr/include/linux/netfilter_bridge/ (17 files)
INSTALL usr/include/linux/netfilter_ipv4/ (9 files)
INSTALL usr/include/linux/netfilter_ipv6/ (13 files)
INSTALL usr/include/linux/nfsd/ (5 files)
INSTALL usr/include/linux/raid/ (2 files)
INSTALL usr/include/linux/sched/ (1 file)
INSTALL usr/include/linux/spi/ (1 file)
INSTALL usr/include/linux/sunrpc/ (1 file)
INSTALL usr/include/linux/tc_act/ (15 files)
INSTALL usr/include/linux/tc_ematch/ (5 files)
INSTALL usr/include/linux/usb/ (13 files)
INSTALL usr/include/linux/wimax/ (1 file)
INSTALL usr/include/misc/ (2 files)
INSTALL usr/include/mtd/ (5 files)
INSTALL usr/include/rdma/ (25 files)
INSTALL usr/include/rdma/hfi/ (2 files)
INSTALL usr/include/scsi/ (5 files)
INSTALL usr/include/scsi/fc/ (4 files)
INSTALL usr/include/sound/ (16 files)
INSTALL usr/include/video/ (3 files)
INSTALL usr/include/xen/ (4 files)
INSTALL usr/include/asm/ (62 files)
make[2]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919'
gcc -g -O2 -Wall -D_GNU_SOURCE -pthread -I../include -I../../ -pthread -lrt futex_wait_timeout.c ../include/futextest.h ../include/atomic.h ../include/logging.h -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex/functional/futex_wait_timeout
gcc -g -O2 -Wall -D_GNU_SOURCE -pthread -I../include -I../../ -pthread -lrt futex_wait_wouldblock.c ../include/futextest.h ../include/atomic.h ../include/logging.h -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex/functional/futex_wait_wouldblock
gcc -g -O2 -Wall -D_GNU_SOURCE -pthread -I../include -I../../ -pthread -lrt futex_requeue_pi.c ../include/futextest.h ../include/atomic.h ../include/logging.h -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex/functional/futex_requeue_pi
gcc -g -O2 -Wall -D_GNU_SOURCE -pthread -I../include -I../../ -pthread -lrt futex_requeue_pi_signal_restart.c ../include/futextest.h ../include/atomic.h ../include/logging.h -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart
gcc -g -O2 -Wall -D_GNU_SOURCE -pthread -I../include -I../../ -pthread -lrt futex_requeue_pi_mismatched_ops.c ../include/futextest.h ../include/atomic.h ../include/logging.h -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops
gcc -g -O2 -Wall -D_GNU_SOURCE -pthread -I../include -I../../ -pthread -lrt futex_wait_uninitialized_heap.c ../include/futextest.h ../include/atomic.h ../include/logging.h -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap
gcc -g -O2 -Wall -D_GNU_SOURCE -pthread -I../include -I../../ -pthread -lrt futex_wait_private_mapped_file.c ../include/futextest.h ../include/atomic.h ../include/logging.h -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex/functional/futex_wait_private_mapped_file
make[1]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex/functional'
TAP version 13
selftests: futex: run.sh
========================================
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified

# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=0 owner=0 timeout=0ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=0 owner=0 timeout=0ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=1 owner=0 timeout=0ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=0 owner=1 timeout=0ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=1 owner=0 timeout=0ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=0 owner=1 timeout=0ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=1 owner=0 timeout=5000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=1 owner=0 timeout=5000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=1 owner=0 timeout=500000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=1 owner=0 timeout=500000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=0 owner=0 timeout=5000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=0 owner=0 timeout=5000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=0 owner=0 timeout=500000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=0 owner=0 timeout=500000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=0 owner=1 timeout=5000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=1 owner=0 timeout=5000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=0 owner=1 timeout=500000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=1 owner=0 timeout=500000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=1 locked=1 owner=0 timeout=2000000000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_requeue_pi: Test requeue functionality
# Arguments: broadcast=0 locked=1 owner=0 timeout=2000000000ns
ok 1 futex-requeue-pi
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1

# futex_requeue_pi_mismatched_ops: Detect mismatched requeue_pi operations
ok 1 futex-requeue-pi-mismatched-ops
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1

# futex_requeue_pi_signal_restart: Test signal handling during requeue_pi
# Arguments: <none>
ok 1 futex-requeue-pi-signal-restart
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1

# futex_wait_timeout: Block on a futex and wait for timeout
# Arguments: timeout=100000ns
ok 1 futex-wait-timeout
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1

# futex_wait_wouldblock: Test the unexpected futex value in FUTEX_WAIT
ok 1 futex-wait-wouldblock
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1

# futex_wait_uninitialized_heap: Test the uninitialized futex value in FUTEX_WAIT
ok 1 futex-wait-uninitialized-heap
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
# futex_wait_private_mapped_file: Test the futex value of private file mappings in FUTEX_WAIT
ok 1 futex-wait-private-mapped-file
Pass 1 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..1
ok 1..1 selftests: futex: run.sh [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/futex'

2019-02-01 19:35:29 make run_tests -C gpio
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/gpio'
make OUTPUT=/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/ -C /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio
make[1]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio'
mkdir -p /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/include/linux 2>&1 || true
ln -sf /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/../../include/uapi/linux/gpio.h /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/include/linux/gpio.h
make -f /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/build/Makefile.build dir=. obj=lsgpio
make[2]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio'
CC /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/lsgpio.o
CC /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/gpio-utils.o
LD /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/lsgpio-in.o
make[2]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio'
LINK /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/lsgpio
make -f /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/build/Makefile.build dir=. obj=gpio-hammer
make[2]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio'
CC /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/gpio-hammer.o
LD /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/gpio-hammer-in.o
make[2]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio'
LINK /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/gpio-hammer
make -f /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/build/Makefile.build dir=. obj=gpio-event-mon
make[2]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio'
CC /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/gpio-event-mon.o
LD /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/gpio-event-mon-in.o
make[2]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio'
LINK /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/gpio-event-mon
make[1]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio'
gcc -O2 -g -std=gnu99 -Wall -I../../../../usr/include/ -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid gpio-mockup-chardev.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/gpio/gpio-utils.o -lmount -o gpio-mockup-chardev
make ARCH=x86 -C ../../../.. headers_install
make[1]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919'
make[1]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919'
TAP version 13
selftests: gpio: gpio-mockup.sh
========================================
1. Test dynamic allocation of gpio successful means insert gpiochip and
manipulate gpio pin successful
GPIO gpio-mockup test with ranges: <-1,32>:
-1,32
gpio<gpio-mockup> test failed
Test gpiochip gpio-mockup: GPIO gpio-mockup test with ranges: <-1,32,-1,32>:
-1,32,-1,32
gpio<gpio-mockup> test failed
Test gpiochip gpio-mockup: GPIO gpio-mockup test with ranges: <-1,32,-1,32,-1,32>:
-1,32,-1,32,-1,32
gpio<gpio-mockup> test failed
Test gpiochip gpio-mockup: 3. Error test: successful means insert gpiochip failed
3.1 Test number of gpio overflow
GPIO gpio-mockup test with ranges: <-1,32,-1,1024>:
-1,32,-1,1024
Test gpiochip gpio-mockup: Invalid test successful
GPIO test PASS
ok 1..1 selftests: gpio: gpio-mockup.sh [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/gpio'
ia64 test: not in Makefile
2019-02-01 19:35:36 make TARGETS=ia64
make[1]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ia64'
Makefile:9: warning: overriding recipe for target 'clean'
../lib.mk:137: warning: ignoring old recipe for target 'clean'
gcc aliasing-test.c -o aliasing-test
make[1]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ia64'

2019-02-01 19:35:36 make run_tests -C ia64
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ia64'
Makefile:9: warning: overriding recipe for target 'clean'
../lib.mk:137: warning: ignoring old recipe for target 'clean'
TAP version 13
selftests: ia64: aliasing-test
========================================
PASS: /dev/mem 0x0-0xa0000 is readable
PASS: /dev/mem 0xa0000-0xc0000 is mappable
PASS: /dev/mem 0xc0000-0x100000 is readable
PASS: /dev/mem 0x0-0x100000 is mappable
PASS: /sys/devices/pci0000:00/0000:00:02.0/rom read 39422 bytes
PASS: /sys/devices/pci0000:00/0000:00:03.0/rom read 231422 bytes
PASS: /proc/bus/pci/00/00.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/01.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/01.1 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/01.3 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/02.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/03.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/04.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/05.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/06.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/07.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/08.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/09.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/0a.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/0b.0 0x0-0xa0000 not mappable
PASS: /proc/bus/pci/00/00.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/01.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/01.1 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/01.3 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/02.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/03.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/04.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/05.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/06.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/07.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/08.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/09.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/0a.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/0b.0 0xa0000-0xc0000 not mappable
PASS: /proc/bus/pci/00/00.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/01.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/01.1 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/01.3 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/02.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/03.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/04.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/05.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/06.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/07.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/08.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/09.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/0a.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/0b.0 0xc0000-0x100000 not mappable
PASS: /proc/bus/pci/00/00.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/01.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/01.1 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/01.3 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/02.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/03.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/04.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/05.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/06.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/07.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/08.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/09.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/0a.0 0x0-0x100000 not mappable
PASS: /proc/bus/pci/00/0b.0 0x0-0x100000 not mappable
ok 1..1 selftests: ia64: aliasing-test [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ia64'

2019-02-01 19:35:39 make run_tests -C ima
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ima'
TAP version 13
selftests: ima: test_kexec_load.sh
========================================
./test_kexec_load.sh: 15: [: !=: unexpected operator
./test_kexec_load.sh: efivars is not mounted on /sys/firmware/efi/efivars
not ok 1..1 selftests: ima: test_kexec_load.sh [SKIP]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ima'

2019-02-01 19:35:40 make run_tests -C intel_pstate
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/intel_pstate'
gcc -Wall -D_GNU_SOURCE msr.c -lm -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/intel_pstate/msr
gcc -Wall -D_GNU_SOURCE aperf.c -lm -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/intel_pstate/aperf
TAP version 13
selftests: intel_pstate: run.sh
========================================
cpupower: error while loading shared libraries: libcpupower.so.0: cannot open shared object file: No such file or directory
./run.sh: line 90: / 1000: syntax error: operand expected (error token is "/ 1000")
cpupower: error while loading shared libraries: libcpupower.so.0: cannot open shared object file: No such file or directory
./run.sh: line 92: / 1000: syntax error: operand expected (error token is "/ 1000")
========================================================================
The marketing frequency of the cpu is 0 MHz
The maximum frequency of the cpu is MHz
The minimum frequency of the cpu is MHz
Target Actual Difference MSR(0x199) max_perf_pct
ok 1..1 selftests: intel_pstate: run.sh [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/intel_pstate'

2019-02-01 19:35:41 make run_tests -C ipc
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ipc'
gcc -DCONFIG_X86_64 -D__x86_64__ -I../../../../usr/include/ msgque.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ipc/msgque
msgque.c: In function ‘restore_queue’:
msgque.c:52:7: warning: implicit declaration of function ‘msgget’ [-Wimplicit-function-declaration]
id = msgget(msgque->key, msgque->mode | IPC_CREAT | IPC_EXCL);
^~~~~~
msgque.c:66:7: warning: implicit declaration of function ‘msgsnd’ [-Wimplicit-function-declaration]
if (msgsnd(msgque->msq_id, &msgque->messages[i].mtype,
^~~~~~
msgque.c:76:6: warning: implicit declaration of function ‘msgctl’ [-Wimplicit-function-declaration]
if (msgctl(id, IPC_RMID, 0))
^~~~~~
msgque.c: In function ‘check_and_destroy_queue’:
msgque.c:87:9: warning: implicit declaration of function ‘msgrcv’ [-Wimplicit-function-declaration]
ret = msgrcv(msgque->msq_id, &message.mtype, MAX_MSG_SIZE,
^~~~~~
msgque.c: In function ‘main’:
msgque.c:203:15: warning: implicit declaration of function ‘ftok’ [-Wimplicit-function-declaration]
msgque.key = ftok(argv[0], 822155650);
^~~~
TAP version 13
selftests: ipc: msgque
========================================
Pass 0 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..0
ok 1..1 selftests: ipc: msgque [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ipc'

2019-02-01 19:35:41 make run_tests -C ir
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ir'
gcc ir_loopback.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ir/ir_loopback
TAP version 13
selftests: ir: ir_loopback.sh
========================================
Bail out! cannot find lirc device for rc0
Pass 0 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..0
not ok 1..1 selftests: ir: ir_loopback.sh [FAIL]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/ir'

2019-02-01 19:35:41 make run_tests -C kcmp
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kcmp'
gcc -I../../../../usr/include/ kcmp_test.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kcmp/kcmp_test
TAP version 13
selftests: kcmp: kcmp_test
========================================
pid1: 14472 pid2: 14473 FD: 2 FILES: 2 VM: 1 FS: 1 SIGHAND: 1 IO: 0 SYSVSEM: 0 INV: -1
PASS: 0 returned as expected
PASS: 0 returned as expected
PASS: 0 returned as expected
Pass 3 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..3
Pass 3 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..3
Pass 0 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0
1..0
ok 1..1 selftests: kcmp: kcmp_test [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kcmp'
kmod test: not in Makefile
2019-02-01 19:35:42 make TARGETS=kmod
make[1]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kmod'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kmod'

2019-02-01 19:35:42 make run_tests -C kmod
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kmod'
TAP version 13
selftests: kmod: kmod.sh
========================================
Fri Feb 1 19:35:42 CST 2019
Running test: kmod_test_0001 - run #0
kmod_test_0001_driver: OK! - loading kmod test
kmod_test_0001_driver: OK! - Return value: 256 (MODULE_NOT_FOUND), expected MODULE_NOT_FOUND
kmod_test_0001_fs: OK! - loading kmod test
kmod_test_0001_fs: OK! - Return value: -22 (-EINVAL), expected -EINVAL
Fri Feb 1 19:35:42 CST 2019
Running test: kmod_test_0001 - run #1
kmod_test_0001_driver: OK! - loading kmod test
kmod_test_0001_driver: OK! - Return value: 256 (MODULE_NOT_FOUND), expected MODULE_NOT_FOUND
kmod_test_0001_fs: OK! - loading kmod test
kmod_test_0001_fs: OK! - Return value: -22 (-EINVAL), expected -EINVAL
Fri Feb 1 19:35:42 CST 2019
Running test: kmod_test_0001 - run #2
kmod_test_0001_driver: OK! - loading kmod test
kmod_test_0001_driver: OK! - Return value: 256 (MODULE_NOT_FOUND), expected MODULE_NOT_FOUND
kmod_test_0001_fs: OK! - loading kmod test
kmod_test_0001_fs: OK! - Return value: -22 (-EINVAL), expected -EINVAL
Fri Feb 1 19:35:42 CST 2019
Running test: kmod_test_0002 - run #0
kmod_test_0002_driver: OK! - loading kmod test
kmod_test_0002_driver: OK! - Return value: 256 (MODULE_NOT_FOUND), expected MODULE_NOT_FOUND
kmod_test_0002_fs: OK! - loading kmod test
kmod_test_0002_fs: OK! - Return value: -22 (-EINVAL), expected -EINVAL
Fri Feb 1 19:35:43 CST 2019
Running test: kmod_test_0002 - run #1
kmod_test_0002_driver: OK! - loading kmod test
kmod_test_0002_driver: OK! - Return value: 256 (MODULE_NOT_FOUND), expected MODULE_NOT_FOUND
kmod_test_0002_fs: OK! - loading kmod test
kmod_test_0002_fs: OK! - Return value: -22 (-EINVAL), expected -EINVAL
Fri Feb 1 19:35:44 CST 2019
Running test: kmod_test_0002 - run #2
kmod_test_0002_driver: OK! - loading kmod test
kmod_test_0002_driver: OK! - Return value: 256 (MODULE_NOT_FOUND), expected MODULE_NOT_FOUND
kmod_test_0002_fs: OK! - loading kmod test
kmod_test_0002_fs: OK! - Return value: -22 (-EINVAL), expected -EINVAL
Fri Feb 1 19:35:44 CST 2019
Running test: kmod_test_0003 - run #0
kmod_test_0003: OK! - loading kmod test
kmod_test_0003: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:44 CST 2019
Running test: kmod_test_0004 - run #0
kmod_test_0004: OK! - loading kmod test
kmod_test_0004: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:45 CST 2019
Running test: kmod_test_0005 - run #0
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:45 CST 2019
Running test: kmod_test_0005 - run #1
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:46 CST 2019
Running test: kmod_test_0005 - run #2
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:46 CST 2019
Running test: kmod_test_0005 - run #3
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:47 CST 2019
Running test: kmod_test_0005 - run #4
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:47 CST 2019
Running test: kmod_test_0005 - run #5
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:48 CST 2019
Running test: kmod_test_0005 - run #6
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:48 CST 2019
Running test: kmod_test_0005 - run #7
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:48 CST 2019
Running test: kmod_test_0005 - run #8
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:49 CST 2019
Running test: kmod_test_0005 - run #9
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:50 CST 2019
Running test: kmod_test_0006 - run #0
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:50 CST 2019
Running test: kmod_test_0006 - run #1
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:51 CST 2019
Running test: kmod_test_0006 - run #2
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:52 CST 2019
Running test: kmod_test_0006 - run #3
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:53 CST 2019
Running test: kmod_test_0006 - run #4
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:54 CST 2019
Running test: kmod_test_0006 - run #5
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:54 CST 2019
Running test: kmod_test_0006 - run #6
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:55 CST 2019
Running test: kmod_test_0006 - run #7
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:56 CST 2019
Running test: kmod_test_0006 - run #8
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:57 CST 2019
Running test: kmod_test_0006 - run #9
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:58 CST 2019
Running test: kmod_test_0007 - run #0
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:35:59 CST 2019
Running test: kmod_test_0007 - run #1
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:36:00 CST 2019
Running test: kmod_test_0007 - run #2
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:36:02 CST 2019
Running test: kmod_test_0007 - run #3
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
Fri Feb 1 19:36:02 CST 2019
Running test: kmod_test_0007 - run #4
kmod_test_0005: OK! - loading kmod test
kmod_test_0005: OK! - Return value: 0 (SUCCESS), expected SUCCESS
kmod_test_0006: OK! - loading kmod test
kmod_test_0006: OK! - Return value: 0 (SUCCESS), expected SUCCESS
./kmod.sh: line 529: [[: 1 0002:3:1 0003:1:1 0004:1:1 0005:10:1 0006:10:1 0007:5:1 0008:150:1 0009:150:1: syntax error in expression (error token is "0002:3:1 0003:1:1 0004:1:1 0005:10:1 0006:10:1 0007:5:1 0008:150:1 0009:150:1")
./kmod.sh: line 529: [[: 1 0002:3:1 0003:1:1 0004:1:1 0005:10:1 0006:10:1 0007:5:1 0008:150:1 0009:150:1: syntax error in expression (error token is "0002:3:1 0003:1:1 0004:1:1 0005:10:1 0006:10:1 0007:5:1 0008:150:1 0009:150:1")
Test completed
ok 1..1 selftests: kmod: kmod.sh [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kmod'

2019-02-01 19:36:04 make run_tests -C kvm
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm'
make ARCH=x86 -C ../../../.. headers_install
make[1]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919'
make[1]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919'
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ilib -Iinclude/x86_64 -I.. -c lib/assert.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/assert.o
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ilib -Iinclude/x86_64 -I.. -c lib/elf.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/elf.o
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ilib -Iinclude/x86_64 -I.. -c lib/io.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/io.o
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ilib -Iinclude/x86_64 -I.. -c lib/kvm_util.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/kvm_util.o
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ilib -Iinclude/x86_64 -I.. -c lib/ucall.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/ucall.o
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ilib -Iinclude/x86_64 -I.. -c lib/sparsebit.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/sparsebit.o
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ilib/x86_64 -Iinclude/x86_64 -I.. -c lib/x86_64/processor.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/x86_64/processor.o
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ilib/x86_64 -Iinclude/x86_64 -I.. -c lib/x86_64/vmx.c -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/x86_64/vmx.o
ar crs /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/assert.o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/elf.o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/io.o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/kvm_util.o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/ucall.o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/sparsebit.o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/x86_64/processor.o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/lib/x86_64/vmx.o
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ix86_64 -Iinclude/x86_64 -I.. -pthread x86_64/platform_info_test.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/x86_64/platform_info_test
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ix86_64 -Iinclude/x86_64 -I.. -pthread x86_64/set_sregs_test.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/x86_64/set_sregs_test
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ix86_64 -Iinclude/x86_64 -I.. -pthread x86_64/sync_regs_test.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/x86_64/sync_regs_test
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ix86_64 -Iinclude/x86_64 -I.. -pthread x86_64/vmx_tsc_adjust_test.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/x86_64/vmx_tsc_adjust_test
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ix86_64 -Iinclude/x86_64 -I.. -pthread x86_64/cr4_cpuid_sync_test.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/x86_64/cr4_cpuid_sync_test
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ix86_64 -Iinclude/x86_64 -I.. -pthread x86_64/state_test.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/x86_64/state_test
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ix86_64 -Iinclude/x86_64 -I.. -pthread x86_64/evmcs_test.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/x86_64/evmcs_test
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -Ix86_64 -Iinclude/x86_64 -I.. -pthread x86_64/hyperv_cpuid.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/x86_64/hyperv_cpuid
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -I. -Iinclude/x86_64 -I.. -pthread dirty_log_test.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/dirty_log_test
gcc -O2 -g -std=gnu99 -I../../../../tools/include -I../../../../usr/include/ -Iinclude -I. -Iinclude/x86_64 -I.. -pthread clear_dirty_log_test.c /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/libkvm.a -o /usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm/clear_dirty_log_test
TAP version 13
selftests: kvm: platform_info_test
========================================
not ok 1..1 selftests: kvm: platform_info_test [SKIP]
selftests: kvm: set_sregs_test
========================================
not ok 1..2 selftests: kvm: set_sregs_test [SKIP]
selftests: kvm: sync_regs_test
========================================
not ok 1..3 selftests: kvm: sync_regs_test [SKIP]
selftests: kvm: vmx_tsc_adjust_test
========================================
not ok 1..4 selftests: kvm: vmx_tsc_adjust_test [SKIP]
selftests: kvm: cr4_cpuid_sync_test
========================================
not ok 1..5 selftests: kvm: cr4_cpuid_sync_test [SKIP]
selftests: kvm: state_test
========================================
not ok 1..6 selftests: kvm: state_test [SKIP]
selftests: kvm: evmcs_test
========================================
not ok 1..7 selftests: kvm: evmcs_test [SKIP]
selftests: kvm: hyperv_cpuid
========================================
not ok 1..8 selftests: kvm: hyperv_cpuid [SKIP]
selftests: kvm: dirty_log_test
========================================
Test iterations: 32, interval: 10 (ms)
Testing guest mode: PA-bits:52, VA-bits:48, 4K pages
guest physical test memory offset: 0x7fbffff000
not ok 1..9 selftests: kvm: dirty_log_test [SKIP]
selftests: kvm: clear_dirty_log_test
========================================
not ok 1..10 selftests: kvm: clear_dirty_log_test [SKIP]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/kvm'

2019-02-01 19:36:14 make run_tests -C lib
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/lib'
TAP version 13
selftests: lib: printf.sh
========================================
printf: ok
ok 1..1 selftests: lib: printf.sh [PASS]
selftests: lib: bitmap.sh
========================================
bitmap: ok
ok 1..2 selftests: lib: bitmap.sh [PASS]
selftests: lib: prime_numbers.sh
========================================
prime_numbers: [FAIL]
not ok 1..3 selftests: lib: prime_numbers.sh [FAIL]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/lib'
locking test: not in Makefile
2019-02-01 19:36:14 make TARGETS=locking
make[1]: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/locking'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/locking'

2019-02-01 19:36:14 make run_tests -C locking
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/locking'
TAP version 13
selftests: locking: ww_mutex.sh
========================================
locking/ww_mutex: ok
ok 1..1 selftests: locking: ww_mutex.sh [PASS]
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-7.2-32bd07585d303a945d476d3d86b3c0dae43a9919/tools/testing/selftests/locking'



To reproduce:

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email



Thanks,
Rong Chen


Attachments:
(No filename) (65.53 kB)
config-5.0.0-rc2-00142-g32bd075 (171.83 kB)
job-script (6.48 kB)
dmesg.xz (36.26 kB)
kernel_selftests (64.54 kB)
Download all attachments

2019-02-02 13:11:42

by Florian La Roche

[permalink] [raw]
Subject: Re: [LKP] 32bd07585d: kernel_selftests.lib.prime_numbers.sh.fail

Thanks for this test-result. That patch was only sent in on
linux-kernel@, but got never applied to
the kernel. Indeed the first half of the patch was wrong.

best regards,

Florian La Roche