When get_task_mm() returns NULL to mm, no error return code of
proc_map_files_readdir() is assigned.
To fix this bug, ret is assigned with -ENOENT in this case.

Fixes: f0c3b5093add ("[readdir] convert procfs")
Reported-by: TOTE Robot <[email protected]>
Signed-off-by: Jia-Ju Bai <[email protected]>
---
 fs/proc/base.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/proc/base.c b/fs/proc/base.c
index 3851bfcdba56..254cc6ac65fb 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -2332,8 +2332,10 @@ proc_map_files_readdir(struct file *file, struct 
dir_context *ctx)
                goto out_put_task;
 
        mm = get_task_mm(task);
-       if (!mm)
+       if (!mm) {
+               ret = -ENOENT;
                goto out_put_task;
+       }
 
        ret = mmap_read_lock_killable(mm);
        if (ret) {
-- 
2.17.1

Reply via email to