Messages in this thread | | | From | Roman Gushchin <> | Subject | Re: [PATCH] mm: fix arithmetic overflow in __vm_enough_memory() | Date | Fri, 30 Jan 2015 16:14:10 +0300 |
| |
29.01.2015, 22:57, "Andrew Shewmaker" <agshew@gmail.com>: > On Thu, Jan 29, 2015 at 04:06:03PM +0300, Roman Gushchin wrote: >> I noticed, that "allowed" can easily overflow by falling below 0, >> because (total_vm / 32) can be larger than "allowed". The problem >> occurs in OVERCOMMIT_NONE mode. >>
> Makes sense to me. Please fix mm/nommu.c also.
Thanks! I sent a patch for nommu.c.
> > If a caller passes in a big negative value for pages, > then vm_acct_memory() would decrement vm_committed_as, possibly > causing percpu_counter_read_positive(&vm_committed_as) and > __vm_enough_memory to return 0. Maybe that's okay? Callers > won't be passing in a negative pages anyway. Is there a reason > to let them, though?
I think, it isn't a problem, since no one will commit negative values (I hope).
R.
| |