diff options
author | Brian Behlendorf <[email protected]> | 2011-11-01 13:07:41 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-11-03 10:15:39 -0700 |
commit | 6a95d0b74c2951f0dc82361ea279f64a7349f060 (patch) | |
tree | 1401df8a79823003f52821d83ac274c5365864e9 /module/zfs/refcount.c | |
parent | a7b125e9a577cbf66ddbd7cf9701028ff150ee8e (diff) |
Fix NULL deref in balance_pgdat()
Be careful not to unconditionally clear the PF_MEMALLOC bit in
the task structure. It may have already been set when entering
zpl_putpage() in which case it must remain set on exit. In
particular the kswapd thread will have PF_MEMALLOC set in
order to prevent it from entering direct reclaim. By clearing
it we allow the following NULL deref to potentially occur.
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<ffffffff8109c7ab>] balance_pgdat+0x25b/0x4ff
Signed-off-by: Brian Behlendorf <[email protected]>
Issue #287
Diffstat (limited to 'module/zfs/refcount.c')
0 files changed, 0 insertions, 0 deletions