Searched hist:b20fe4730ea5c037c16631fb0df659c7b6d4b3b1 (Results 1 – 1 of 1) sorted by relevance
/linux/fs/xfs/ |
H A D | xfs_mount.c | diff b20fe4730ea5c037c16631fb0df659c7b6d4b3b1 Tue Feb 07 21:59:33 CET 2017 Bill O'Donnell <billodo@redhat.com> xfs: correct null checks and error processing in xfs_initialize_perag
If pag cannot be allocated, the current error exit path will trip a null pointer deference error when calling xfs_buf_hash_destroy with a null pag. Fix this by adding a new error exit labels and jumping to those accordingly, avoiding the hash destroy and unnecessary kmem_free on pag.
Up to three things need to be properly unwound:
1) pag memory allocation 2) xfs_buf_hash_init 3) radix_tree_insert
For any given iteration through the loop, any of the above which succeed must be unwound for /this/ pag, and then all prior initialized pags must be unwound.
Addresses-Coverity-Id: 1397628 ("Dereference after null check")
Reported-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Bill O'Donnell <billodo@redhat.com> Reviewed-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
|