<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 2, 2020 at 2:28 PM Yang Xu <<a href="mailto:xuyang2018.jy@cn.fujitsu.com">xuyang2018.jy@cn.fujitsu.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Since "syscall/ptrace08: Simplify the test", on older kernels we check that the<br>
POKEUSER to dr7 that enables the breakpoint fails properly after the dr0 has been<br>
set to an address in the kernel range.<br>
<br>
on centos7.8GA, it can expose a failure as below:<br>
tst_test.c:1250: TINFO: Timeout per run is 0h 05m 00s<br>
tst_kernel.c:79: TINFO: uname.machine=x86_64 kernel is 64bit<br>
ptrace08.c:90: TINFO: Trying address 0xffff800000000000<br>
ptrace08.c:120: TPASS: ptrace() breakpoint with kernel addr failed: EINVAL (22)<br>
ptrace08.c:129: TINFO: 0xffff800000000000<br>
ptrace08.c:90: TINFO: Trying address 0xffffffffffffffff<br>
ptrace08.c:116: TFAIL: ptrace() breakpoint with kernel addr succeeded<br>
ptrace08.c:129: TINFO: 0xffffffffffffffff<br>
ptrace08.c:90: TINFO: Trying address 0xffffbfffffffffff<br>
ptrace08.c:120: TPASS: ptrace() breakpoint with kernel addr failed: EINVAL (22)<br>
ptrace08.c:129: TINFO: 0xffffbfffffffffff<br>
<br>
It fails because x86 hw_breakpoint code can't parse this 0xffffffffffffffff kernel<br>
address on x86_64 platform.<br>
<br>
arch/x86/kernel/hw_breakpoint.c<br>
 int arch_check_bp_in_kernelspace(struct perf_event *bp)<br>
        return (va >= TASK_SIZE) && ((va + len - 1) >= TASK_SIZE);<br>
<br>
TASK_SIZE is small and value will overflow if we use 0xffffffffffffffff address<br>
(va is unsigned long and len is unsigned int).<br>
<br>
Signed-off-by: Yang Xu <<a href="mailto:xuyang2018.jy@cn.fujitsu.com" target="_blank">xuyang2018.jy@cn.fujitsu.com</a>><br></blockquote><div><br></div><div class="gmail_default" style="font-size:small">Patch applied. Thanks!</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div>