Herbert Xu
5c1824587f
ipsec: Fix xfrm_state_walk race
...
As discovered by Timo Teräs, the currently xfrm_state_walk scheme
is racy because if a second dump finishes before the first, we
may free xfrm states that the first dump would walk over later.
This patch fixes this by storing the dumps in a list in order
to calculate the correct completion counter which cures this
problem.
I've expanded netlink_cb in order to accomodate the extra state
related to this. It shouldn't be a big deal since netlink_cb
is kmalloced for each dump and we're just increasing it by 4 or
8 bytes.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au >
Signed-off-by: David S. Miller <davem@davemloft.net >
2008-09-22 19:48:19 -07:00
..
2008-05-14 19:23:27 -05:00
2008-09-09 07:19:20 +02:00
2008-07-08 23:00:25 -07:00
2008-07-21 10:10:58 -07:00
2008-07-22 14:33:45 -07:00
2008-08-03 21:15:08 -07:00
2008-09-12 16:30:20 -07:00
2008-07-14 22:42:19 -07:00
2008-08-14 15:33:21 -07:00
2008-07-26 20:53:40 -04:00
2008-09-15 16:48:19 -04:00
2008-07-19 22:35:47 -07:00
2008-08-04 23:04:08 -07:00
2008-07-05 19:01:28 -07:00
2008-08-05 01:19:50 -07:00
2008-07-05 21:26:57 -07:00
2008-06-03 16:36:54 -07:00
2008-07-18 04:04:22 -07:00
2008-07-25 10:53:26 -07:00
2008-05-07 15:02:14 -04:00
2008-07-22 14:21:58 -07:00
2008-06-16 17:14:11 -07:00
2008-04-03 14:28:30 -07:00
2008-08-28 02:53:51 -07:00
2008-04-13 23:40:51 -07:00
2008-03-28 16:35:27 -07:00
2008-06-16 17:14:11 -07:00
2008-06-16 17:14:11 -07:00
2008-09-08 13:17:27 -07:00
2008-06-11 21:00:38 -07:00
2008-03-04 13:48:30 -08:00
2008-08-14 15:33:21 -07:00
2008-06-11 21:00:38 -07:00
2008-09-09 09:53:08 +10:00
2008-07-26 20:53:10 -04:00
2008-07-25 02:54:40 -07:00
2008-06-11 21:00:38 -07:00
2008-05-21 14:16:36 -07:00
2008-07-27 04:40:51 -07:00
2008-06-16 18:50:49 -07:00
2008-03-31 21:02:47 -07:00
2008-03-31 21:02:47 -07:00
2008-03-28 16:28:36 -07:00
2008-09-15 16:48:25 -04:00
2008-04-12 13:43:22 +09:00
2008-05-19 16:25:42 -07:00
2008-07-16 20:50:49 -07:00
2008-07-26 20:53:08 -04:00
2008-04-28 06:18:03 -04:00
2008-09-02 17:30:27 -07:00
2008-03-27 16:53:37 -07:00
2008-08-22 03:31:39 -07:00
2008-03-24 15:33:00 -07:00
2008-03-22 16:56:51 -07:00
2008-08-06 23:50:04 -07:00
2008-06-17 17:08:32 -07:00
2008-07-27 04:40:51 -07:00
2008-04-16 00:46:52 -07:00
2008-08-27 02:27:10 -07:00
2008-06-11 21:00:38 -07:00
2008-08-28 02:53:51 -07:00
2008-07-05 21:25:39 -07:00
2008-07-23 23:00:31 +02:00
2008-09-21 21:28:51 -07:00
2008-06-14 17:04:49 -07:00
2008-07-18 04:03:45 -07:00
2008-03-06 16:22:02 -08:00
2008-06-16 18:32:46 -07:00
2008-09-15 16:48:19 -04:00
2008-09-22 19:48:19 -07:00