xfs: ensure committed is initialized in xfs_trans_roll
authorEric Sandeen <sandeen@redhat.com>
Tue, 15 Mar 2016 00:42:47 +0000 (11:42 +1100)
committerDave Chinner <david@fromorbit.com>
Tue, 15 Mar 2016 00:42:47 +0000 (11:42 +1100)
commitcc07eed8336d6452214d13e0cba770a0f5296a7f
treec480a343183a036e4c46b02b8e4714f5aea0d9b5
parentd34999c97ae87cd56514b8cbc6269651efe274fe
xfs: ensure committed is initialized in xfs_trans_roll

__xfs_trans_roll() can return without setting the
*committed argument; this was a problem for xfs_bmap_finish():

        int       committed;/* xact committed or not */
...
        error = __xfs_trans_roll(tp, ip, &committed);
        if (error) {
...
                if (committed) {

and we tested an uninitialized "committed" variable on the
error path.  No caller is preserving "committed" state across
calls to __xfs_trans_roll(), so just initialize committed inside
the function to avoid future errors like this.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_trans.c