On Wed, 6 Jun 2007, Paul Jackson wrote:
> Seems like that mlock code is able then to get great globs of memory
> without returning to user space ... perhaps that's where the fix
> should be ... that code should quit chewing up memory if it's
> marked MEMDIE or some such?
>
That's one case. Are there others?
The TIF_MEMDIE exception in cpuset_zone_allowed_softwall() allowed this
problem in mlock(). If it had not been allowed to allocate anywhere
based simply on the zonelist ordering, the mlock iteration would break
because it could not handle the fault.
Thus, at the least, we should make sure that memory is not allocated
outside of a task's mems_allowed unless we do sanity checks against
gfp_mask in the TIF_MEMDIE case via cpuset_zone_allowed_softwall() to make
sure a rouge application doesn't cause the same trouble. That is, unless
you can guarantee this type of problem will not happen again through any
other means. The logic needs to be with the TIF_MEMDIE exception to grant
access to memory outside the cpuset only when it is relevant to the OOM
killed task's prompt exit.
David
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]