Messages in this thread | | | From | KOSAKI Motohiro <> | Date | Thu, 8 Aug 2013 15:53:48 -0400 | Subject | Re: [PATCH] mm/hotplug: Verify hotplug memory range |
| |
On Thu, Aug 8, 2013 at 12:47 PM, Toshi Kani <toshi.kani@hp.com> wrote: > add_memory() and remove_memory() can only handle a memory range aligned > with section. There are problems when an unaligned range is added and > then deleted as follows: > > - add_memory() with an unaligned range succeeds, but __add_pages() > called from add_memory() adds a whole section of pages even though > a given memory range is less than the section size. > - remove_memory() to the added unaligned range hits BUG_ON() in > __remove_pages(). > > This patch changes add_memory() and remove_memory() to check if a given > memory range is aligned with section at the beginning. As the result, > add_memory() fails with -EINVAL when a given range is unaligned, and > does not add such memory range. This prevents remove_memory() to be > called with an unaligned range as well. Note that remove_memory() has > to use BUG_ON() since this function cannot fail. > > Signed-off-by: Toshi Kani <toshi.kani@hp.com> > --- > mm/memory_hotplug.c | 22 ++++++++++++++++++++++
memory_hotplug.c is maintained by me and kamezawa-san. Please cc us if you have a subsequent patch.
Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
| |