Yes. The failure point is too late to do anything really interesting with,
and the old code also just causes a SIGBUS. My intention was to change the
WARN_ONCE(!vma->anon_vma);
into returning that SIGBUS - which is not wonderful, but is no different
from old failures.
In the long run, it would be nicer to actually return an error from the
mmap() that fails, but that's more complicated, and as mentioned, it's not
what the old code used to do either (since the failure point was always at
the page fault stage).
We really aren't any worse off than we have always been.
If anon_vma_prepare() fails, the vma list will be valid, but no new pages
can be added to that vma. That used to be true before too.
Linus
--