From: Andreas Gruenbacher Date: Fri, 18 Apr 2025 14:40:58 +0000 (+0200) Subject: gfs2: gfs2_create_inode error handling fix X-Git-Tag: v6.1.142~494 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5bf31f49067eabed5e8cdd832a1c22cef05bf516;p=thirdparty%2Fkernel%2Fstable.git gfs2: gfs2_create_inode error handling fix [ Upstream commit af4044fd0b77e915736527dd83011e46e6415f01 ] When gfs2_create_inode() finds a directory, make sure to return -EISDIR. Fixes: 571a4b57975a ("GFS2: bugger off early if O_CREAT open finds a directory") Signed-off-by: Andreas Gruenbacher Signed-off-by: Sasha Levin --- diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 04fc3e72a96e4..06629aeefbe6f 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -631,7 +631,8 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, if (!IS_ERR(inode)) { if (S_ISDIR(inode->i_mode)) { iput(inode); - inode = ERR_PTR(-EISDIR); + inode = NULL; + error = -EISDIR; goto fail_gunlock; } d_instantiate(dentry, inode);