diff mbox

cifs: fix error code in cifs_match_super()

Message ID 20140620192205.GC19824@mwanda (mailing list archive)
State New, archived
Headers show

Commit Message

Dan Carpenter June 20, 2014, 7:22 p.m. UTC
It looks like there is a typo here where return "rc" which is "success"
instead of PTR_ERR(tlink) which is a negative error code.

I have also removed the unneeded initialization so that GCC has a chance
to warn about this sort of thing next time.

Fixes: 25c7f41e9234 ('CIFS: Migrate to shared superblock model')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
This is a static checker warning and I'm not certain this is the correct
fix.  Please review this one carefully.

--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Shirish Pargaonkar June 21, 2014, 8:06 p.m. UTC | #1
I do not think his is correct. cifs_match_super return code is used as
a test by sb_get,
so if there is any error/mismatch within cifs_match_super, it should
return 0. 'if (test)' in sb_get() will succeed with PTR_ERR(tlink) which
would be incorrect.

On Fri, Jun 20, 2014 at 2:22 PM, Dan Carpenter <dan.carpenter@oracle.com> wrote:
> It looks like there is a typo here where return "rc" which is "success"
> instead of PTR_ERR(tlink) which is a negative error code.
>
> I have also removed the unneeded initialization so that GCC has a chance
> to warn about this sort of thing next time.
>
> Fixes: 25c7f41e9234 ('CIFS: Migrate to shared superblock model')
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> This is a static checker warning and I'm not certain this is the correct
> fix.  Please review this one carefully.
>
> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> index 20d75b8..a5704e1 100644
> --- a/fs/cifs/connect.c
> +++ b/fs/cifs/connect.c
> @@ -2730,14 +2730,14 @@ cifs_match_super(struct super_block *sb, void *data)
>         struct cifs_ses *ses;
>         struct cifs_tcon *tcon;
>         struct tcon_link *tlink;
> -       int rc = 0;
> +       int rc;
>
>         spin_lock(&cifs_tcp_ses_lock);
>         cifs_sb = CIFS_SB(sb);
>         tlink = cifs_get_tlink(cifs_sb_master_tlink(cifs_sb));
>         if (IS_ERR(tlink)) {
>                 spin_unlock(&cifs_tcp_ses_lock);
> -               return rc;
> +               return PTR_ERR(tlink);
>         }
>         tcon = tlink_tcon(tlink);
>         ses = tcon->ses;
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 20d75b8..a5704e1 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -2730,14 +2730,14 @@  cifs_match_super(struct super_block *sb, void *data)
 	struct cifs_ses *ses;
 	struct cifs_tcon *tcon;
 	struct tcon_link *tlink;
-	int rc = 0;
+	int rc;
 
 	spin_lock(&cifs_tcp_ses_lock);
 	cifs_sb = CIFS_SB(sb);
 	tlink = cifs_get_tlink(cifs_sb_master_tlink(cifs_sb));
 	if (IS_ERR(tlink)) {
 		spin_unlock(&cifs_tcp_ses_lock);
-		return rc;
+		return PTR_ERR(tlink);
 	}
 	tcon = tlink_tcon(tlink);
 	ses = tcon->ses;