diff options
author | Nathan Scott <nathans@sgi.com> | 2006-08-10 04:40:41 (GMT) |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2006-08-10 04:40:41 (GMT) |
commit | 0e1edbd99994270023cea5afe593f972eb09a778 (patch) | |
tree | e4b2618172c17426d200ec435c24daaf606e2437 /lib/iomap.c | |
parent | 9f737633e6ee54fc174282d49b2559bd2208391d (diff) | |
download | linux-fsl-qoriq-0e1edbd99994270023cea5afe593f972eb09a778.tar.xz |
[XFS] Fix xfs_free_extent related NULL pointer dereference.
We recently fixed an out-of-space deadlock in XFS, and part of that fix
involved the addition of the XFS_ALLOC_FLAG_FREEING flag to some of the
space allocator calls to indicate they're freeing space, not allocating
it. There was a missed xfs_alloc_fix_freelist condition test that did not
correctly test "flags". The same test would also test an uninitialised
structure field (args->userdata) and depending on its value either would
or would not return early with a critical buffer pointer set to NULL.
This fixes that up, adds asserts to several places to catch future botches
of this nature, and skips sections of xfs_alloc_fix_freelist that are
irrelevent for the space-freeing case.
SGI-PV: 955303
SGI-Modid: xfs-linux-melb:xfs-kern:26743a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'lib/iomap.c')
0 files changed, 0 insertions, 0 deletions