diff options
author | 2011-03-20 15:40:06 +0100 | |
---|---|---|
committer | 2011-03-20 15:40:06 +0100 | |
commit | db856674ac69e31946e56085239757cca3f7655f (patch) | |
tree | 73fc82e92a119dcf1a0ce4e2ca45ef410165776f /lib/vsprintf.c | |
parent | netfilter: ipset: fix checking the type revision at create command (diff) | |
download | wireguard-linux-db856674ac69e31946e56085239757cca3f7655f.tar.xz wireguard-linux-db856674ac69e31946e56085239757cca3f7655f.zip |
netfilter: xtables: fix reentrancy
commit f3c5c1bfd4308 (make ip_tables reentrant) introduced a race in
handling the stackptr restore, at the end of ipt_do_table()
We should do it before the call to xt_info_rdunlock_bh(), or we allow
cpu preemption and another cpu overwrites stackptr of original one.
A second fix is to change the underflow test to check the origptr value
instead of 0 to detect underflow, or else we allow a jump from different
hooks.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Jan Engelhardt <jengelh@medozas.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'lib/vsprintf.c')
0 files changed, 0 insertions, 0 deletions