Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1284363

Re: [PATCH] drivers: memory: check for missing sections when testing zones

From Andrew Morton <akpm@linux-foundation.org>
Newsgroups linux.kernel
Subject Re: [PATCH] drivers: memory: check for missing sections when testing zones
Date 2015-12-05 01:10 +0100
Message-ID <qC8Ak-1kc-71@gated-at.bofh.it> (permalink)
References <qBhcB-nj-3@gated-at.bofh.it> <qBhcB-nj-1@gated-at.bofh.it> <qBonM-4Vx-7@gated-at.bofh.it> <qBGkG-8hM-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, 3 Dec 2015 11:58:46 -0600 Andrew Banman <abanman@sgi.com> wrote:

> test_pages_in_a_zone does not account for the possibility of missing sections
> in the given pfn range. Since pfn_valid_within always returns 1 when
> CONFIG_HOLES_IN_ZONE is not set, invalid pfns from missing sections
> will pass the test, resulting in a kernel oops. This is remedied by simply
> checking for the presence of the pfn's section. We don't have to remove
> the pfn_valid_within optimization.
> 
> The patch also prevents a crash from offlining memory devices with missing
> sections. Despite this, it's probably best to keep
> 
> [PATCH 3/3] drivers: memory: prohibit offlining of memory blocks withmissing sections
> 
> because missing sections may indicate other problems, like overlapping mem
> blocks and who knows what else (see the discussion at BZ 107781).
> 
> ---
>  mm/memory_hotplug.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index 67d488a..74f5bcd 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -1383,6 +1383,9 @@ int test_pages_in_a_zone(unsigned long start_pfn, unsigned long end_pfn)
>              pfn < end_pfn;
>              pfn += MAX_ORDER_NR_PAGES) {
>                 i = 0;
> +               /* Make sure the memory section is present */
> +               if (!present_section_nr(pfn_to_section_nr(pfn)))
> +                       continue;
>                 /* This is just a CONFIG_HOLES_IN_ZONE check.*/
>                 while ((i < MAX_ORDER_NR_PAGES) && !pfn_valid_within(pfn + i))
>                         i++;

Please send a Signed-off-by: for this patch.

Your email client is replacing tabs with spaces.

Please confirm that this patch is applicable to current mainline.

Please confirm that this patch is suitable for backporting into -stable
trees.

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH 3/3] drivers: memory: prohibit offlining of memory blocks with missing sections Seth Jennings <sjennings@variantweb.net> - 2015-12-02 16:10 +0100
  Re: [PATCH 3/3] drivers: memory: prohibit offlining of memory  blocks with missing sections Andrew Morton <akpm@linux-foundation.org> - 2015-12-02 23:50 +0100
    [PATCH] drivers: memory: check for missing sections when testing  zones Andrew Banman <abanman@sgi.com> - 2015-12-03 19:00 +0100
      Re: [PATCH] drivers: memory: check for missing sections when  testing zones Andrew Morton <akpm@linux-foundation.org> - 2015-12-05 01:10 +0100

csiph-web