]> git.baikalelectronics.ru Git - kernel.git/commit
xfrm: Fix kernel panic when flush and dump SPD entries
authorWei Yongjun <yjwei@cn.fujitsu.com>
Wed, 3 Dec 2008 08:27:18 +0000 (00:27 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 3 Dec 2008 08:27:18 +0000 (00:27 -0800)
commitcfcb5347202727e7e166c501e1ce15d4286f893a
treedd93620de07f9a181e0238ee820b81df92c376f4
parentb34f663fc02bd08678644305ed278dcd00c975e5
xfrm: Fix kernel panic when flush and dump SPD entries

After flush the SPD entries, dump the SPD entries will cause kernel painc.

Used the following commands to reproduct:

- echo 'spdflush;' | setkey -c
- echo 'spdadd 3ffe:501:ffff:ff01::/64 3ffe:501:ffff:ff04::/64  any -P out ipsec \
  ah/tunnel/3ffe:501:ffff:ff00:200:ff:fe00:b0b0-3ffe:501:ffff:ff02:200:ff:fe00:a1a1/require;\
  spddump;' | setkey -c
- echo 'spdflush; spddump;' | setkey -c
- echo 'spdadd 3ffe:501:ffff:ff01::/64 3ffe:501:ffff:ff04::/64  any -P out ipsec \
  ah/tunnel/3ffe:501:ffff:ff00:200:ff:fe00:b0b0-3ffe:501:ffff:ff02:200:ff:fe00:a1a1/require;\
  spddump;' | setkey -c

This is because when flush the SPD entries, the SPD entry is not remove
from the list.

This patch fix the problem by remove the SPD entry from the list.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/xfrm/xfrm_policy.c