From: Toshi Kani <toshi.kani@hpe.com> To: akpm@linux-foundation.org, gregkh@linuxfoundation.org Cc: linux-mm@kvack.org, zhenzhang.zhang@huawei.com, arbab@linux.vnet.ibm.com, dan.j.williams@intel.com, abanman@sgi.com, rientjes@google.com, linux-kernel@vger.kernel.org, stable@vger.kernel.org, toshi.kani@hpe.com Subject: [PATCH v2 0/2] fix a kernel oops when reading sysfs valid_zones Date: Fri, 27 Jan 2017 15:21:47 -0700 [thread overview] Message-ID: <20170127222149.30893-1-toshi.kani@hpe.com> (raw) A sysfs memory file is created for each 2GiB memory block on x86-64 when the system has 64GiB or more memory. [1] When the start address of a memory block is not backed by struct page, i.e. a memory range is not aligned by 2GiB, reading its 'valid_zones' attribute file leads to a kernel oops. This issue was observed on multiple x86-64 systems with more than 64GiB of memory. This patch-set fixes this issue. Patch 1 first fixes an issue in test_pages_in_a_zone(), which does not test the start section. Patch 2 then fixes the kernel oops by extending test_pages_in_a_zone() to return valid [start, end). Note for stable kernels: The memory block size change was made by commit bdee237c034, which was accepted to 3.9. However, this patch-set depends on (and fixes) the change to test_pages_in_a_zone() made by commit 5f0f2887f4, which was accepted to 4.4. So, I recommend that we backport it up to 4.4. [1] 'Commit bdee237c0343 ("x86: mm: Use 2GB memory block size on large-memory x86-64 systems")' v2: - Rebase to the -mm tree. (Andrew Morton) - Add more descriptions about the issue. (Andrew Morton) - Add cc to stable kernels. (Greg Kroah-Hartman, Andrew Morton) --- Toshi Kani (2): 1/2 mm/memory_hotplug.c: check start_pfn in test_pages_in_a_zone() 2/2 base/memory, hotplug: fix a kernel oops in show_valid_zones() --- drivers/base/memory.c | 12 ++++++------ include/linux/memory_hotplug.h | 3 ++- mm/memory_hotplug.c | 28 +++++++++++++++++++++-------
WARNING: multiple messages have this Message-ID (diff)
From: Toshi Kani <toshi.kani@hpe.com> To: akpm@linux-foundation.org, gregkh@linuxfoundation.org Cc: linux-mm@kvack.org, zhenzhang.zhang@huawei.com, arbab@linux.vnet.ibm.com, dan.j.williams@intel.com, abanman@sgi.com, rientjes@google.com, linux-kernel@vger.kernel.org, stable@vger.kernel.org, toshi.kani@hpe.com Subject: [PATCH v2 0/2] fix a kernel oops when reading sysfs valid_zones Date: Fri, 27 Jan 2017 15:21:47 -0700 [thread overview] Message-ID: <20170127222149.30893-1-toshi.kani@hpe.com> (raw) A sysfs memory file is created for each 2GiB memory block on x86-64 when the system has 64GiB or more memory. [1] When the start address of a memory block is not backed by struct page, i.e. a memory range is not aligned by 2GiB, reading its 'valid_zones' attribute file leads to a kernel oops. This issue was observed on multiple x86-64 systems with more than 64GiB of memory. This patch-set fixes this issue. Patch 1 first fixes an issue in test_pages_in_a_zone(), which does not test the start section. Patch 2 then fixes the kernel oops by extending test_pages_in_a_zone() to return valid [start, end). Note for stable kernels: The memory block size change was made by commit bdee237c034, which was accepted to 3.9. However, this patch-set depends on (and fixes) the change to test_pages_in_a_zone() made by commit 5f0f2887f4, which was accepted to 4.4. So, I recommend that we backport it up to 4.4. [1] 'Commit bdee237c0343 ("x86: mm: Use 2GB memory block size on large-memory x86-64 systems")' v2: - Rebase to the -mm tree. (Andrew Morton) - Add more descriptions about the issue. (Andrew Morton) - Add cc to stable kernels. (Greg Kroah-Hartman, Andrew Morton) --- Toshi Kani (2): 1/2 mm/memory_hotplug.c: check start_pfn in test_pages_in_a_zone() 2/2 base/memory, hotplug: fix a kernel oops in show_valid_zones() --- drivers/base/memory.c | 12 ++++++------ include/linux/memory_hotplug.h | 3 ++- mm/memory_hotplug.c | 28 +++++++++++++++++++++------- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2017-01-27 21:27 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-01-27 22:21 Toshi Kani [this message] 2017-01-27 22:21 ` [PATCH v2 0/2] fix a kernel oops when reading sysfs valid_zones Toshi Kani 2017-01-27 22:21 ` [PATCH v2 1/2] mm/memory_hotplug.c: check start_pfn in test_pages_in_a_zone() Toshi Kani 2017-01-27 22:21 ` Toshi Kani 2017-01-27 22:21 ` [PATCH v2 2/2] base/memory, hotplug: fix a kernel oops in show_valid_zones() Toshi Kani 2017-01-27 22:21 ` Toshi Kani
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170127222149.30893-1-toshi.kani@hpe.com \ --to=toshi.kani@hpe.com \ --cc=abanman@sgi.com \ --cc=akpm@linux-foundation.org \ --cc=arbab@linux.vnet.ibm.com \ --cc=dan.j.williams@intel.com \ --cc=gregkh@linuxfoundation.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=rientjes@google.com \ --cc=stable@vger.kernel.org \ --cc=zhenzhang.zhang@huawei.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.