lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 27 Nov 2015 14:58:37 +0100
From:	Arnd Bergmann <arnd@...db.de>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	Vlastimil Babka <vbabka@...e.cz>,
	Joonsoo Kim <iamjoonsoo.kim@....com>,
	Minchan Kim <minchan@...nel.org>,
	Sasha Levin <sasha.levin@...cle.com>,
	"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
	Mel Gorman <mgorman@...e.de>, Michal Hocko <mhocko@...e.com>,
	linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: [PATCH] mm, page_owner: only track migration if enabled

The newly added code to print page ownership in dump_page fails
to link when CONFIG_MIGRATION is disabled:

mm/built-in.o: In function `print_page_owner':
frame_vector.c:(.text+0x72358): undefined reference to `migrate_reason_names'

This changes the two users of migrate_reason_names to first check
CONFIG_MIGRATION, which avoids the error.

Signed-off-by: Arnd Bergmann <arnd@...db.de>
Fixes: cf7ec391dae4 ("mm, page_owner: dump page owner info from dump_page()")
---
Found on yesterday's linux-next with ARM randconfig builds. The patch
that introduced this is currently in Andrews tree.

If you don't already have a fix, please apply this one on top, or fold
it into the original commit.

diff --git a/mm/page_owner.c b/mm/page_owner.c
index a81cfa0c13c3..4033542c3f5a 100644
--- a/mm/page_owner.c
+++ b/mm/page_owner.c
@@ -170,7 +170,8 @@ print_page_owner(char __user *buf, size_t count, unsigned long pfn,
 	if (ret >= count)
 		goto err;
 
-	if (page_ext->last_migrate_reason != -1) {
+	if (IS_ENABLED(CONFIG_MIGRATION) &&
+	    page_ext->last_migrate_reason != -1) {
 		ret += snprintf(kbuf + ret, count - ret,
 			"Page has been migrated, last migrate reason: %s\n",
 			migrate_reason_names[page_ext->last_migrate_reason]);
@@ -213,7 +214,8 @@ void __dump_page_owner(struct page *page)
 	dump_gfpflag_names(gfp_mask);
 	print_stack_trace(&trace, 0);
 
-	if (page_ext->last_migrate_reason != -1)
+	if (IS_ENABLED(CONFIG_MIGRATION) &&
+	    page_ext->last_migrate_reason != -1)
 		pr_alert("page has been migrated, last migrate reason: %s\n",
 			migrate_reason_names[page_ext->last_migrate_reason]);
 }

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ