diff options
author | Edward Cree <[email protected]> | 2015-05-20 11:10:03 +0100 |
---|---|---|
committer | David S. Miller <[email protected]> | 2015-05-21 18:43:53 -0400 |
commit | 0d322413d6cff0bd2ccafc03ab9314dc55417e9d (patch) | |
tree | d988fe63fd837ce5127c25f6a517aae0e33d9494 /tools/perf/scripts/python/syscall-counts.py | |
parent | f1122a345b96713eb6e059121c592b3c0612f5be (diff) |
sfc: protect filter table against use-after-free
If MCDI timeouts are encountered during efx_ef10_filter_table_remove(),
an FLR will be queued, but efx->filter_state will still be kfree()d.
The queued FLR will then call efx_ef10_filter_table_restore(), which
will try to use efx->filter_state. This previously caused a panic.
This patch adds an rwsem to protect the existence of efx->filter_state,
separately from the spinlock protecting its contents. Users which can
race against efx_ef10_filter_table_remove() should down_read this rwsem.
Signed-off-by: Shradha Shah <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts.py')
0 files changed, 0 insertions, 0 deletions