Re: [PATCH v2 0/3] special_mapping_fault() is broken

From: Oleg Nesterov
Date: Sat Jul 11 2015 - 19:47:28 EST


On 07/10, Andrew Morton wrote:
>
> On Fri, 10 Jul 2015 18:51:21 +0200 Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
>
> > special_mapping_fault() is absolutely broken. It seems it was always
> > wrong, but this didn't matter until vdso/vvar started to use more than
> > one page.
> >
> > The patches are the same, just 1/3 was re-diffed on top of the recent
> > 6b7339f4c31ad "mm: avoid setting up anonymous pages into file mapping"
> > from Kirill.
> >
> > And after this change vma_is_anonymous() becomes really trivial, it
> > simply checks vm_ops == NULL. However, I do think the helper makes
> > sense. There are a lot of ->vm_ops != NULL checks, the helper makes
> > the caller's code more understandable (self-documented) and this is
> > more grep-friendly.
>
> I'm trying to work out which kernel version(s) this should go into,
> without a lot of success.
>
> What do we think the worst-case effects of the bug?

Ah, I should have mentioned this. And when I re-read my messages I see
that "absolutely broken" looks like "should be fixed asap". Sorry for
confusion.

No, this bug is not serious. Nothing bad can happen from the kernel
perspective. And I doubt that some application will ever unmap/remap
the part of vdso or any other install_special_mapping() user. So this
is just correctness fix. In fact, to me the main problem is that I
was totally confused when I tried to read/understand this code ;)

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/