On Sun, Feb 28, 2016 at 09:28:46PM -0800, Andy Lutomirski wrote:
> Setting TF prevents fastpath returns in most cases, which causes the
> test to fail on 32-bit kernels because 32-bit kernels do not, in
> fact, handle NT correctly on SYSENTER entries.
> 
> The next patch will fix 32-bit kernels.
> 
> Signed-off-by: Andy Lutomirski <l...@kernel.org>
> ---
>  tools/testing/selftests/x86/syscall_nt.c | 57 
> +++++++++++++++++++++++++++-----
>  1 file changed, 49 insertions(+), 8 deletions(-)
> 
> diff --git a/tools/testing/selftests/x86/syscall_nt.c 
> b/tools/testing/selftests/x86/syscall_nt.c
> index 60c06af4646a..a6ceff86c199 100644
> --- a/tools/testing/selftests/x86/syscall_nt.c
> +++ b/tools/testing/selftests/x86/syscall_nt.c

...

> +static void do_it(unsigned long extraflags)
> +{
> +     unsigned long flags;
> +
> +     set_eflags(get_eflags() | extraflags);
>       syscall(SYS_getpid);
> -     if (get_eflags() & X86_EFLAGS_NT) {
> -             printf("[OK]\tThe syscall worked and NT is still set\n");
> -             return 0;
> +     flags = get_eflags();
> +     if ((flags & extraflags) == extraflags) {
> +             printf("[OK]\tThe syscall worked and flags are still set\n");
>       } else {
> -             printf("[FAIL]\tThe syscall worked but NT was cleared\n");
> -             return 1;
> +             printf("[FAIL]\tThe syscall worked but flags were cleared 
> (flags = 0x%lx but expected 0x%lx set)\n",
> +                    flags, extraflags);
> +             nerrs++;
>       }
>  }
> +
> +int main()

ERROR: Bad function definition - int main() should probably be int main(void)

-- 
Regards/Gruss,
    Boris.

ECO tip #101: Trim your mails when you reply.

Reply via email to