mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-24 11:25:43 +00:00
[PATCH] Fix __xfrm_find_acq_byseq()
This function, as it's name implies, is supposed to only return IPSEC objects which are in the XFRM_STATE_ACQ ("acquire") state. But it returns any object with the matching sequence number. This is wrong and confuses IPSEC daemons to no end. [XFRM]: xfrm_find_acq_byseq should only return XFRM_STATE_ACQ states. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
1b1530aa9b
commit
ebf0f01a31
1 changed files with 1 additions and 1 deletions
|
@ -609,7 +609,7 @@ static struct xfrm_state *__xfrm_find_acq_byseq(u32 seq)
|
|||
|
||||
for (i = 0; i < XFRM_DST_HSIZE; i++) {
|
||||
list_for_each_entry(x, xfrm_state_bydst+i, bydst) {
|
||||
if (x->km.seq == seq) {
|
||||
if (x->km.seq == seq && x->km.state == XFRM_STATE_ACQ) {
|
||||
xfrm_state_hold(x);
|
||||
return x;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue