| From: Xiu Jianfeng <xiujianfeng@huawei.com> |
| Subject: mm: memcg: adjust the warning when seq_buf overflows |
| Date: Fri, 28 Jun 2024 07:23:33 +0000 |
| |
| Currently it uses WARN_ON_ONCE() if seq_buf overflows when user reads |
| memory.stat, the only advantage of WARN_ON_ONCE is that the splat is so |
| verbose that it gets noticed. And also it panics the system if |
| panic_on_warn is enabled. It seems like the warning is just an over |
| reaction and a simple pr_warn should just achieve the similar effect. |
| |
| Link: https://lkml.kernel.org/r/20240628072333.2496527-1-xiujianfeng@huawei.com |
| Signed-off-by: Xiu Jianfeng <xiujianfeng@huawei.com> |
| Suggested-by: Michal Hocko <mhocko@suse.com> |
| Cc: Johannes Weiner <hannes@cmpxchg.org> |
| Cc: Muchun Song <muchun.song@linux.dev> |
| Cc: Roman Gushchin <roman.gushchin@linux.dev> |
| Cc: Shakeel Butt <shakeel.butt@linux.dev> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| mm/memcontrol.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/mm/memcontrol.c~mm-memcg-adjust-the-warning-when-seq_buf-overflows |
| +++ a/mm/memcontrol.c |
| @@ -1484,7 +1484,8 @@ static void memory_stat_format(struct me |
| memcg_stat_format(memcg, s); |
| else |
| memcg1_stat_format(memcg, s); |
| - WARN_ON_ONCE(seq_buf_has_overflowed(s)); |
| + if (seq_buf_has_overflowed(s)) |
| + pr_warn("%s: Warning, stat buffer overflow, please report\n", __func__); |
| } |
| |
| /** |
| _ |