diff options
| author | Ethan Tidmore <ethantidmore06@gmail.com> | 2026-02-19 16:10:01 -0600 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-02-20 11:21:16 +0100 |
| commit | f6a495484a27150fb85f943e1a7464da88c2a797 (patch) | |
| tree | 820bdfddc85df7a9996e92db141df556e96adea2 | |
| parent | 768f4dc4cc318a547303f3ec984e5b366566950b (diff) | |
proc: Fix pointer error dereference
The function try_lookup_noperm() can return an error pointer. Add check
for error pointer.
Detected by Smatch:
fs/proc/base.c:2148 proc_fill_cache() error:
'child' dereferencing possible ERR_PTR()
Fixes: 1df98b8bbcca ("proc_fill_cache(): clean up, get rid of pointless find_inode_number() use")
Signed-off-by: Ethan Tidmore <ethantidmore06@gmail.com>
Link: https://patch.msgid.link/20260219221001.1117135-1-ethantidmore06@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
| -rw-r--r-- | fs/proc/base.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c index 4eec684baca9..4c863d17dfb4 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -2128,6 +2128,9 @@ bool proc_fill_cache(struct file *file, struct dir_context *ctx, ino_t ino = 1; child = try_lookup_noperm(&qname, dir); + if (IS_ERR(child)) + goto end_instantiate; + if (!child) { DECLARE_WAIT_QUEUE_HEAD_ONSTACK(wq); child = d_alloc_parallel(dir, &qname, &wq); |
