gfs2: gfs2_create_inode error handling fix

[ Upstream commit af4044fd0b ]

When gfs2_create_inode() finds a directory, make sure to return -EISDIR.

Fixes: 571a4b5797 ("GFS2: bugger off early if O_CREAT open finds a directory")
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Andreas Gruenbacher 2025-04-18 16:40:58 +02:00 committed by Greg Kroah-Hartman
parent 6572440f78
commit 15200ea0ff

View File

@ -636,7 +636,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);