On 10/25/19 9:26 AM, Michal Hocko wrote:
From: Michal Hocko mhocko@suse.com
/proc/pagetypeinfo is a debugging tool to examine internal page allocator state wrt to fragmentation. It is not very useful for any other use so normal users really do not need to read this file.
Waiman Long has noticed that reading this file can have negative side effects because zone->lock is necessary for gathering data and that a) interferes with the page allocator and its users and b) can lead to hard lockups on large machines which have very long free_list.
Reduce both issues by simply not exporting the file to regular users.
Reported-by: Waiman Long longman@redhat.com Cc: stable
Fixes: 467c996c1e19 ("Print out statistics in relation to fragmentation avoidance to /proc/pagetypeinfo") Acked-by: Mel Gorman mgorman@suse.de Acked-by: Vlastimil Babka vbabka@suse.cz Acked-by: Waiman Long longman@redhat.com Acked-by: Rafael Aquini aquini@redhat.com Acked-by: David Rientjes rientjes@google.com Signed-off-by: Michal Hocko mhocko@suse.com
mm/vmstat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/vmstat.c b/mm/vmstat.c index 6afc892a148a..4e885ecd44d1 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1972,7 +1972,7 @@ void __init init_mm_internals(void) #endif #ifdef CONFIG_PROC_FS proc_create_seq("buddyinfo", 0444, NULL, &fragmentation_op);
- proc_create_seq("pagetypeinfo", 0444, NULL, &pagetypeinfo_op);
- proc_create_seq("pagetypeinfo", 0400, NULL, &pagetypeinfo_op); proc_create_seq("vmstat", 0444, NULL, &vmstat_op); proc_create_seq("zoneinfo", 0444, NULL, &zoneinfo_op);
#endif
On Fri, 25 Oct 2019 09:33:26 +0200 Vlastimil Babka vbabka@suse.cz wrote:
On 10/25/19 9:26 AM, Michal Hocko wrote:
From: Michal Hocko mhocko@suse.com
/proc/pagetypeinfo is a debugging tool to examine internal page allocator state wrt to fragmentation. It is not very useful for any other use so normal users really do not need to read this file.
Waiman Long has noticed that reading this file can have negative side effects because zone->lock is necessary for gathering data and that a) interferes with the page allocator and its users and b) can lead to hard lockups on large machines which have very long free_list.
Reduce both issues by simply not exporting the file to regular users.
Reported-by: Waiman Long longman@redhat.com Cc: stable
As we don't really know how much damage this will cause, it would be nice to let it bake in mainline for a month or three before committing it to the -stable trees. But we don't have a process for that, apart from remembering to poke Greg at a suitable date.
Oh well. I guess that if someone is truly harmed by this change, they can just chmod /proc/pagetypeinfo back to 0444.
linux-stable-mirror@lists.linaro.org