RE: NFS: Add event tracing for generic NFS lookups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Dan Carpenter [mailto:dan.carpenter@xxxxxxxxxx]
> Sent: Thursday, August 29, 2013 5:49 PM
> To: Myklebust, Trond
> Cc: linux-nfs@xxxxxxxxxxxxxxx
> Subject: re: NFS: Add event tracing for generic NFS lookups
> 
> Hello Trond Myklebust,
> 
> The patch 6e0d0be715fe: "NFS: Add event tracing for generic NFS lookups"
> from Aug 20, 2013, leads to the following static checker
> warning: "fs/nfs/dir.c:1465 nfs_atomic_open()
> 	 	warn: 'ctx' was already freed."
> 
> fs/nfs/dir.c
>   1462          if (IS_ERR(inode)) {
>   1463                  put_nfs_open_context(ctx);
>                         ^^^^^^^^^^^^^^^^^^^^^^^^^ Can free "ctx".
> 
>   1464                  err = PTR_ERR(inode);
>   1465                  trace_nfs_atomic_open_exit(dir, ctx, open_flags, err);
>                                                         ^^^ Dereference.
> 
>   1466                  switch (err) {
>   1467                  case -ENOENT:
>   1468                          d_drop(dentry);
>   1469                          d_add(dentry, NULL);
>   1470                          break;
>   1471                  case -EISDIR:
>   1472                  case -ENOTDIR:
>   1473                          goto no_open;
>   1474                  case -ELOOP:
>   1475                          if (!(open_flags & O_NOFOLLOW))
>   1476                                  goto no_open;
>   1477                          break;
>   1478                          /* case -EINVAL: */
>   1479                  default:
>   1480                          break;
>   1481                  }
>   1482                  goto out;
>   1483          }
>   1484
>   1485          err = nfs_finish_open(ctx, ctx->dentry, file, open_flags, opened);
>   1486          trace_nfs_atomic_open_exit(dir, ctx, open_flags, err);
>                                                 ^^^ If we hit an error in the call to nfs_finish_open()
> then I think "ctx"
> is freed.
> 
>   1487  out:
>   1488          return err;
>   1489
> 

Thanks Dan! I've fixed this up.

Cheers
  Trond

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




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux