On Thu, Aug 8, 2013 at 12:47 PM, Toshi Kani <toshi.k...@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.k...@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.motoh...@jp.fujitsu.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to