proc: proc_maps_open allow proc_mem_open to return NULL
authorJialin Wang <wjl.linux@gmail.com>
Thu, 7 Aug 2025 16:54:55 +0000 (00:54 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 12 Aug 2025 06:01:00 +0000 (23:01 -0700)
commitc0e1b774f68bdbea1618e356e30672c7f1e32509
treec4a4f808c80ec1ee70c19f3a21f4ef725d7bdc22
parent0b5be138ce00f421bd7cc5a226061bd62c4ab850
proc: proc_maps_open allow proc_mem_open to return NULL

The commit 65c66047259f ("proc: fix the issue of proc_mem_open returning
NULL") caused proc_maps_open() to return -ESRCH when proc_mem_open()
returns NULL.  This breaks legitimate /proc/<pid>/maps access for kernel
threads since kernel threads have NULL mm_struct.

The regression causes perf to fail and exit when profiling a kernel
thread:

  # perf record -v -g -p $(pgrep kswapd0)
  ...
  couldn't open /proc/65/task/65/maps

This patch partially reverts the commit to fix it.

Link: https://lkml.kernel.org/r/20250807165455.73656-1-wjl.linux@gmail.com
Fixes: 65c66047259f ("proc: fix the issue of proc_mem_open returning NULL")
Signed-off-by: Jialin Wang <wjl.linux@gmail.com>
Cc: Penglei Jiang <superman.xpt@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/proc/task_mmu.c