Messages in this thread | | | Date | Sun, 01 Sep 2013 09:13:57 -0700 | From | "H. Peter Anvin" <> | Subject | Re: On the correctness of dbe3ed1c078c193be34326728d494c5c4bc115e2 |
| |
On 09/01/2013 09:12 AM, Linus Torvalds wrote: > On Sun, Sep 1, 2013 at 9:00 AM, H. Peter Anvin <hpa@zytor.com> wrote: >> On 09/01/2013 08:58 AM, Linus Torvalds wrote: >>> >>> Not necessarily. Don't we basically do exactly that for the F00F bug >>> workaround, for example? >> >> We do, but only after matching on an exact address (is_f00f_bug()). >> Note also that is_f00f_bug() isn't conditional on PF_USER. > > Right. But I'm wondering why you care? There's nothing we can do about > spurious page faults if they dp happen. The PF_USER thing we do means > that bad_area_nosemaphore will go through the "send signal" path. > > I guess we can remove the setting of PF_USER, but that would just mean > that then we have to test for "is_user_vm()" in bad_area_semaphore > instead. So the end result would be exactly the same. > > And my point was that we actually do have this "users can cause page > faults on IDT etc accesses" as a real thing. > > So basically: what do you propose to do? You basically can't remove > the line without adding it somewhere else. >
is_f00f_bug() already contains:
if (nr == 6) { do_invalid_op(regs, 0); return 1; }
... that's where we're supposed to issue SIGILL.
-hpa
| |