mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 20:54:03 +02:00
ocfs2: make ocfs2_calc_xattr_init() return void
ocfs2_calc_xattr_init() used to read the default ACL off the parent inode itself, so it could return an error from ocfs2_xattr_get_nolock(). Commitbd7c05fb4a("ocfs2: fix circular locking dependency in ocfs2_init_acl()") moved that lookup before the transaction starts and deleted the error path, but left the now vestigial 'int ret = 0' declaration and both 'return ret' statements behind, along with an unreachable error branch in ocfs2_mknod(). Drop the leftover variable and convert the return type to void, so the callee states that it always succeeds and the caller no longer carries a check that can never trigger. No functional change. Link: https://lore.kernel.org/20260904023751.3703334-1-joseph.qi@linux.alibaba.com Fixes:bd7c05fb4a("ocfs2: fix circular locking dependency in ocfs2_init_acl()") Signed-off-by: Joseph Qi <joseph.qi@linux.alibaba.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202609040247.8B3lmoqX-lkp@intel.com/ Cc: Mark Fasheh <mark@fasheh.com> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Cc: Changwei Ge <gechangwei@live.cn> Cc: Jun Piao <piaojun@huawei.com> Cc: Heming Zhao <heming.zhao@suse.com>
This commit is contained in:
parent
8d50c2f37b
commit
525c0edc03
|
|
@ -336,13 +336,8 @@ static int ocfs2_mknod(struct mnt_idmap *idmap,
|
|||
goto leave;
|
||||
|
||||
/* calculate meta data/clusters for setting security and acl xattr */
|
||||
status = ocfs2_calc_xattr_init(dir, mode, &si, &want_clusters,
|
||||
&xattr_credits, &want_meta,
|
||||
&acl_state);
|
||||
if (status < 0) {
|
||||
mlog_errno(status);
|
||||
goto leave;
|
||||
}
|
||||
ocfs2_calc_xattr_init(dir, mode, &si, &want_clusters, &xattr_credits,
|
||||
&want_meta, &acl_state);
|
||||
|
||||
/* Reserve a cluster if creating an extent based directory. */
|
||||
if (S_ISDIR(mode) && !ocfs2_supports_inline_data(osb)) {
|
||||
|
|
|
|||
|
|
@ -635,12 +635,11 @@ int ocfs2_calc_security_init(struct inode *dir,
|
|||
return ret;
|
||||
}
|
||||
|
||||
int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
|
||||
struct ocfs2_security_xattr_info *si,
|
||||
int *want_clusters, int *xattr_credits,
|
||||
int *want_meta, struct ocfs2_acl_state *acl_state)
|
||||
void ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
|
||||
struct ocfs2_security_xattr_info *si,
|
||||
int *want_clusters, int *xattr_credits,
|
||||
int *want_meta, struct ocfs2_acl_state *acl_state)
|
||||
{
|
||||
int ret = 0;
|
||||
struct ocfs2_super *osb = OCFS2_SB(dir->i_sb);
|
||||
int s_size = 0, a_size = 0, acl_len = 0, new_clusters;
|
||||
|
||||
|
|
@ -662,7 +661,7 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
|
|||
}
|
||||
|
||||
if (!(s_size + a_size))
|
||||
return ret;
|
||||
return;
|
||||
|
||||
/*
|
||||
* The max space of security xattr taken inline is
|
||||
|
|
@ -728,8 +727,6 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ocfs2_xattr_extend_allocation(struct inode *inode,
|
||||
|
|
|
|||
|
|
@ -59,10 +59,10 @@ int ocfs2_calc_security_init(struct inode *,
|
|||
int *, int *, struct ocfs2_alloc_context **);
|
||||
|
||||
struct ocfs2_acl_state;
|
||||
int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
|
||||
struct ocfs2_security_xattr_info *si,
|
||||
int *want_clusters, int *xattr_credits,
|
||||
int *want_meta, struct ocfs2_acl_state *acl_state);
|
||||
void ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
|
||||
struct ocfs2_security_xattr_info *si,
|
||||
int *want_clusters, int *xattr_credits,
|
||||
int *want_meta, struct ocfs2_acl_state *acl_state);
|
||||
|
||||
/*
|
||||
* xattrs can live inside an inode, as part of an external xattr block,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user