Messages in this thread | | | Date | Thu, 25 Apr 2013 18:48:37 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 1/2] Fix perf LBR filtering |
| |
On Thu, Apr 25, 2013 at 06:41:00PM +0200, Andi Kleen wrote: > > So why not do the same as we do for userspace? Copy MAX_INSN_SIZE bytes > > and trap -EFAULT. > > Read the whole description, then you'll know why that is insecure.
You didn't actually explicitly mention it; you just said unconditional reading of random addresses was bad.
You list:
> But that is dangerous if can be controlled by the user: > - It can be used to crash the kernel > - It allows to probe any physical address for a small set of values > (valid call op codes) which is an information leak. > - It may point to a side effect on read MMIO region
Traping the read deals with the first. The second shouldn't be a problem since we generally only allow kernel info for CAP_ADMIN; if we don't already for LBR that needs to be fixed separately.
That only leaves the third.. can we descern MMIO maps from the kernel page tables?
| |