Unverified Commit 8a220d1c authored by Hongling Zeng's avatar Hongling Zeng Committed by Christian Brauner
Browse files

cachefiles: Fix error return when vfs_mkdir() fails



When vfs_mkdir() fails, the error code is not extracted from the
returned error pointer. This causes mkdir_error to be reached with
ret=0, which leads to returning ERR_PTR(0) (NULL) instead of a
proper error pointer.

Fix this by extracting the error code from the error pointer when
vfs_mkdir() fails.

Fixes: 406fad76 ("cachefiles: Fix oops in vfs_mkdir from cachefiles_get_directory")
Signed-off-by: default avatarHongling Zeng <zenghongling@kylinos.cn>
Link: https://patch.msgid.link/20260513103406.202320-1-zenghongling@kylinos.cn


Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 45205929
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -130,6 +130,8 @@ struct dentry *cachefiles_get_directory(struct cachefiles_cache *cache,
		ret = cachefiles_inject_write_error();
		if (ret == 0) {
			subdir = vfs_mkdir(&nop_mnt_idmap, d_inode(dir), subdir, 0700, NULL);
			if (IS_ERR(subdir))
				ret = PTR_ERR(subdir);
		} else {
			end_creating(subdir);
			subdir = ERR_PTR(ret);