2015-08-14 22:38:54

by Andy Lutomirski

[permalink] [raw]
Subject: More hw_breakpoint scariness reduction

Would you all consider it acceptable to disallow watchpoints on per
cpu data entirely? I can think of a *lot* of places where hitting #DB
when accessing per cpu data from entry asm would be bad.

Of course, actually implementing that might be less than entirely fun,
given that a cpu could be onlined after creating a watchpoint.

--Andy

--
Andy Lutomirski
AMA Capital Management, LLC


2015-08-15 16:55:42

by Frederic Weisbecker

[permalink] [raw]
Subject: Re: More hw_breakpoint scariness reduction

2015-08-15 0:38 GMT+02:00 Andy Lutomirski <[email protected]>:
> Would you all consider it acceptable to disallow watchpoints on per
> cpu data entirely? I can think of a *lot* of places where hitting #DB
> when accessing per cpu data from entry asm would be bad.
>
> Of course, actually implementing that might be less than entirely fun,
> given that a cpu could be onlined after creating a watchpoint.

Well I think there will always be places where setting a breakpoint is
a bad idea. The same goes for kprobes. We can't fix all of them.
Kernel breakpoints can only be set by root users so it's not a
security issue. Besides, kernel breakpoints should only be used by
kernel hackers (perf, kdb).

Given the wide use of per-cpu data, forbidding all of them will
seriously reduce the usability of kernel breakpoints. Not that I think
they are really used in practice though ;-)