----- Original Message -----
| On Thu, Aug 24, 2017 at 02:03:57PM +0300, Dan Carpenter wrote:
| > Hello Bob Peterson,
| > 
| > The patch 9bfef7554e20: "GFS2: Withdraw for IO errors writing to the
| > journal or statfs" from Aug 16, 2017, leads to the following static
| > checker warning:
| > 
| >     fs/gfs2/super.c:949 gfs2_sync_fs()
| >     error: we previously assumed 'sdp' could be null (see line 947)
| > 
| > fs/gfs2/super.c
| >    942  static int gfs2_sync_fs(struct super_block *sb, int wait)
| >    943  {
| >    944          struct gfs2_sbd *sdp = sb->s_fs_info;
| >    945
| >    946          gfs2_quota_sync(sb, -1);
| >    947          if (wait && sdp)
| >                             ^^^
| > Existing code checks for NULL.
| 
| The NULL check seemed odd to me, and other ->sync_fs implementations don't
| check it, but digging through the history there's a reason it was added (see
| 9171f5a ). That said, I can't see the quota_off code path that it was
| guarding against any more, so perhaps it is no longer required.
| 
| Andy
| 
| > 
| >    948                  gfs2_log_flush(sdp, NULL, NORMAL_FLUSH);
| >    949          return sdp->sd_log_error;
| >                        ^^^^^^^^^^^^^^^^^
| > Patch adds unchecked dereference.
| 
Hi Andy (and Dan),

You're right. I did some research and this check for "&& sdp" seems completely
unnecessary now. In fact, I took it out and tried to recreate the problem
for which it was added (mounting with an invalid lock protocol) and it did
not recreate.

Therefore, I removed the offending check and did a force-push back to for-next.
Thanks; well spotted.

Regards,

Bob Peterson
Red Hat File Systems

Reply via email to