diff options
| author | Ingo Molnar <mingo@elte.hu> | 2005-03-24 17:25:23 -0800 |
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2005-03-24 17:25:23 -0800 |
| commit | 65c8e82ebc92d03e5892585a067232f58ead1939 (patch) | |
| tree | 5bf704b26746fd00402f2757208345373e0f7596 /net/unix/af_unix.c | |
| parent | edb2b1885291d8e0cc52ab9826c235e155ab0c43 (diff) | |
[XFRM]: xfrm_policy destructor fix
the patch below fixes a bug that i encountered while running a
PREEMPT_RT kernel, but i believe it should be fixed in the generic
kernel too. xfrm_policy_kill() queues a destroyed policy structure to
the GC list, and unlocks the policy->lock spinlock _after_ that point.
This created a scenario where GC processing got to the new structure
first, and kfree()d it - then the write_unlock_bh() was done on the
already kfreed structure. There is no guarantee that GC processing will
be done after policy->lock has been dropped and softirq processing has
been enabled.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions
