mirror of https://gitee.com/openkylin/linux.git
xfs: always init bma in xfs_bmapi_write
Always init the tp/ip fields of bma in xfs_bmapi_write so that the bmapi_finish at the bottom never trips over null transaction or inode pointers. Coverity-id: 1443964 Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Brian Foster <bfoster@redhat.com>
This commit is contained in:
parent
a72e9d8d69
commit
4b0bce30f3
|
@ -4252,9 +4252,13 @@ xfs_bmapi_write(
|
|||
struct xfs_bmbt_irec *mval, /* output: map values */
|
||||
int *nmap) /* i/o: mval size/count */
|
||||
{
|
||||
struct xfs_bmalloca bma = {
|
||||
.tp = tp,
|
||||
.ip = ip,
|
||||
.total = total,
|
||||
};
|
||||
struct xfs_mount *mp = ip->i_mount;
|
||||
struct xfs_ifork *ifp;
|
||||
struct xfs_bmalloca bma = { NULL }; /* args for xfs_bmap_alloc */
|
||||
xfs_fileoff_t end; /* end of mapped file region */
|
||||
bool eof = false; /* after the end of extents */
|
||||
int error; /* error return */
|
||||
|
@ -4322,10 +4326,6 @@ xfs_bmapi_write(
|
|||
eof = true;
|
||||
if (!xfs_iext_peek_prev_extent(ifp, &bma.icur, &bma.prev))
|
||||
bma.prev.br_startoff = NULLFILEOFF;
|
||||
bma.tp = tp;
|
||||
bma.ip = ip;
|
||||
bma.total = total;
|
||||
bma.datatype = 0;
|
||||
bma.minleft = xfs_bmapi_minleft(tp, ip, whichfork);
|
||||
|
||||
n = 0;
|
||||
|
|
Loading…
Reference in New Issue