Message ID | 20210610223747.GR664593@dread.disaster.area (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | xfs: perag may be null in xfs_imap() | expand |
On Fri, Jun 11, 2021 at 08:37:47AM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@redhat.com> > > Dan Carpenter's static checker reported: > > The patch 7b13c5155182: "xfs: use perag for ialloc btree cursors" > from Jun 2, 2021, leads to the following Smatch complaint: > > fs/xfs/libxfs/xfs_ialloc.c:2403 xfs_imap() > error: we previously assumed 'pag' could be null (see line 2294) > > And it's right. Fix it. > > Fixes: 7b13c5155182 ("xfs: use perag for ialloc btree cursors") > Reported-by: Dan Carpenter <dan.carpenter@oracle.com> > Signed-off-by: Dave Chinner <dchinner@redhat.com> Looks correct to me, Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > --- > fs/xfs/libxfs/xfs_ialloc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/libxfs/xfs_ialloc.c b/fs/xfs/libxfs/xfs_ialloc.c > index 654a8d9681e1..57d9cb632983 100644 > --- a/fs/xfs/libxfs/xfs_ialloc.c > +++ b/fs/xfs/libxfs/xfs_ialloc.c > @@ -2398,7 +2398,8 @@ xfs_imap( > } > error = 0; > out_drop: > - xfs_perag_put(pag); > + if (pag) > + xfs_perag_put(pag); > return error; > } >
On 6/10/21 3:37 PM, Dave Chinner wrote: > From: Dave Chinner <dchinner@redhat.com> > > Dan Carpenter's static checker reported: > > The patch 7b13c5155182: "xfs: use perag for ialloc btree cursors" > from Jun 2, 2021, leads to the following Smatch complaint: > > fs/xfs/libxfs/xfs_ialloc.c:2403 xfs_imap() > error: we previously assumed 'pag' could be null (see line 2294) > > And it's right. Fix it. > > Fixes: 7b13c5155182 ("xfs: use perag for ialloc btree cursors") > Reported-by: Dan Carpenter <dan.carpenter@oracle.com> > Signed-off-by: Dave Chinner <dchinner@redhat.com> Looks ok Reviewed-by: Allison Henderson <allison.henderson@oracle.com> > --- > fs/xfs/libxfs/xfs_ialloc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/xfs/libxfs/xfs_ialloc.c b/fs/xfs/libxfs/xfs_ialloc.c > index 654a8d9681e1..57d9cb632983 100644 > --- a/fs/xfs/libxfs/xfs_ialloc.c > +++ b/fs/xfs/libxfs/xfs_ialloc.c > @@ -2398,7 +2398,8 @@ xfs_imap( > } > error = 0; > out_drop: > - xfs_perag_put(pag); > + if (pag) > + xfs_perag_put(pag); > return error; > } > >
diff --git a/fs/xfs/libxfs/xfs_ialloc.c b/fs/xfs/libxfs/xfs_ialloc.c index 654a8d9681e1..57d9cb632983 100644 --- a/fs/xfs/libxfs/xfs_ialloc.c +++ b/fs/xfs/libxfs/xfs_ialloc.c @@ -2398,7 +2398,8 @@ xfs_imap( } error = 0; out_drop: - xfs_perag_put(pag); + if (pag) + xfs_perag_put(pag); return error; }