OK - removed the two places where rc is set uselessly. Patch attached On Tue, Jun 22, 2021 at 2:05 PM Steve French <smfrench@xxxxxxxxx> wrote: > > Should we make the error noisier? > > Perhaps we could add a dynamic trace point for failed id mappings so > we could debug these if problems with the upcall, malformed ids/SIDs > etc? > > On Tue, Jun 22, 2021 at 5:18 AM Aurélien Aptel <aaptel@xxxxxxxx> wrote: > > > > Steve French <smfrench@xxxxxxxxx> writes: > > > Any thoughts on whether it would be better to return the errors, or > > > continue the current strategy of simply using the default uid/gid for > > > the mount and returning 0 (and removing the two places above where we > > > set rc to non zero values, since rc will be overwritten with 0)? > > > > My opinion: I think best-effort would be better, so returning things as > > default uid/gid (or possibly root). > > > > Cheers, > > -- > > Aurélien Aptel / SUSE Labs Samba Team > > GPG: 1839 CB5F 9F5B FB9B AA97 8C99 03C8 A49B 521B D5D3 > > SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg, DE > > GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 247165 (AG München) > > > > > -- > Thanks, > > Steve -- Thanks, Steve
From 7c3cbf7dbc5d67ba4b3df4a502fbc2441aedd36a Mon Sep 17 00:00:00 2001 From: Steve French <stfrench@xxxxxxxxxxxxx> Date: Tue, 22 Jun 2021 14:07:36 -0500 Subject: [PATCH] cifs: remove two cases where rc is set unnecessarily in sid_to_id In both these cases sid_to_id unconditionally returned success, and used the default uid/gid for the mount, so setting rc is confusing and simply gets overwritten (set to 0) later in the function. Addresses-Coverity: 1491672 ("Unused value") Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx> --- fs/cifs/cifsacl.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c index 3898a9e6d3c6..5ec5d9d24032 100644 --- a/fs/cifs/cifsacl.c +++ b/fs/cifs/cifsacl.c @@ -397,7 +397,6 @@ sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid, saved_cred = override_creds(root_cred); sidkey = request_key(&cifs_idmap_key_type, sidstr, ""); if (IS_ERR(sidkey)) { - rc = -EINVAL; cifs_dbg(FYI, "%s: Can't map SID %s to a %cid\n", __func__, sidstr, sidtype == SIDOWNER ? 'u' : 'g'); goto out_revert_creds; @@ -410,7 +409,6 @@ sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid, */ BUILD_BUG_ON(sizeof(uid_t) != sizeof(gid_t)); if (sidkey->datalen != sizeof(uid_t)) { - rc = -EIO; cifs_dbg(FYI, "%s: Downcall contained malformed key (datalen=%hu)\n", __func__, sidkey->datalen); key_invalidate(sidkey); -- 2.30.2