Julia Lawall wrote: > From: Julia Lawall <julia@xxxxxxx> > > In fs/xfs/xfs_trans_buf.c, bp is tested for being NULL just a few lines > above. > > A simplified version of the semantic patch that makes this change is as > follows: (http://www.emn.fr/x-info/coccinelle/) > > // <smpl> > @r exists@ > local idexpression x; > expression E; > position p1,p2; > @@ > > if (x@p1 == NULL || ...) { ... when forall > return ...; } > ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > // another path to the test that is not through p1? > @s exists@ > local idexpression r.x; > position r.p1,r.p2; > @@ > > ... when != x@p1 > ( > x@p2 == NULL > | > x@p2 != NULL > ) > > @fix depends on !s@ > position r.p1,r.p2; > expression x,E; > statement S1,S2; > @@ > > ( > - if ((x@p2 != NULL) || ...) > S1 > | > - if ((x@p2 == NULL) && ...) S1 > | > - BUG_ON(x@p2 == NULL); > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@xxxxxxx> Looks good to me, thanks. Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxxx> > --- > var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c > index 8ee2f8c..218829e 100644 > --- a/var/linuxes/linux-next/fs/xfs/xfs_trans_buf.c > +++ b/var/julia/linuxcopy/fs/xfs/xfs_trans_buf.c > @@ -307,7 +307,7 @@ xfs_trans_read_buf( > return (flags & XFS_BUF_TRYLOCK) ? > EAGAIN : XFS_ERROR(ENOMEM); > > - if ((bp != NULL) && (XFS_BUF_GETERROR(bp) != 0)) { > + if (XFS_BUF_GETERROR(bp) != 0) { > xfs_ioerror_alert("xfs_trans_read_buf", mp, > bp, blkno); > error = XFS_BUF_GETERROR(bp); > @@ -315,7 +315,7 @@ xfs_trans_read_buf( > return error; > } > #ifdef DEBUG > - if (xfs_do_error && (bp != NULL)) { > + if (xfs_do_error) { > if (xfs_error_target == target) { > if (((xfs_req_num++) % xfs_error_mod) == 0) { > xfs_buf_relse(bp); > -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html