xfs
[Top] [All Lists]

Re: [PATCH] xfs: fix possible NULL dereference

To: Ben Myers <bpm@xxxxxxx>, Geyslan Gregório Bem <geyslan@xxxxxxxxx>
Subject: Re: [PATCH] xfs: fix possible NULL dereference
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Wed, 30 Oct 2013 15:08:12 -0500
Cc: Alex Elder <elder@xxxxxxxxxx>, open list <linux-kernel@xxxxxxxxxxxxxxx>, XFS FILESYSTEM <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20131023203435.GR1935@xxxxxxx>
References: <20131021231849.GL10553@xxxxxxx> <20131021235601.GG4446@dastard> <5265C03B.50701@xxxxxxxxxxx> <20131022001732.GI4446@dastard> <CAGG-pUTh-PJJ4Nzo0r-f3VDPMc81U2z_NMX+Wcex3KzGs=U8cA@xxxxxxxxxxxxxx> <20131022203946.GB2797@dastard> <5266E4BD.8030601@xxxxxxxxxxx> <20131022210300.GC2797@dastard> <5266EBF0.901@xxxxxxxxxxx> <CAGG-pUTtYomspBXn=RE7YFU=vu6rWZ1fU7CBO45Mmodj8DZFiQ@xxxxxxxxxxxxxx> <20131023203435.GR1935@xxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.0.1
On 10/23/13 3:34 PM, Ben Myers wrote:

> xfs: fix possible NULL dereference in xlog_verify_iclog
> 
> In xlog_verify_iclog a debug check of the incore log buffers prints an
> error if icptr is null and then goes on to dereference the pointer
> regardless.  Convert this to an assert so that the intention is clear.
> This was reported by Coverty.
> 
> Reported-by: Geyslan G. Bem <geyslan@xxxxxxxxx>
> Signed-off-by: Ben Myers <bpm@xxxxxxx>

Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>

> ---
>  fs/xfs/xfs_log.c |    8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> Index: b/fs/xfs/xfs_log.c
> ===================================================================
> --- a/fs/xfs/xfs_log.c        2013-10-23 14:52:47.875216875 -0500
> +++ b/fs/xfs/xfs_log.c        2013-10-23 14:53:53.775245830 -0500
> @@ -3714,11 +3714,9 @@ xlog_verify_iclog(
>       /* check validity of iclog pointers */
>       spin_lock(&log->l_icloglock);
>       icptr = log->l_iclog;
> -     for (i=0; i < log->l_iclog_bufs; i++) {
> -             if (icptr == NULL)
> -                     xfs_emerg(log->l_mp, "%s: invalid ptr", __func__);
> -             icptr = icptr->ic_next;
> -     }
> +     for (i=0; i < log->l_iclog_bufs; i++, icptr = icptr->ic_next)
> +                     ASSERT(icptr);
> +
>       if (icptr != log->l_iclog)
>               xfs_emerg(log->l_mp, "%s: corrupt iclog ring", __func__);
>       spin_unlock(&log->l_icloglock);
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs
> 

<Prev in Thread] Current Thread [Next in Thread>