aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffen Klassert <steffen.klassert@secunet.com>2012-03-21 19:36:13 -0400
committerDavid S. Miller <davem@davemloft.net>2012-03-22 19:29:58 -0400
commit1265fd616782ef03b98fd19f65c2b47fcd4ea11f (patch)
treeca6b946227f4d0f1b8419a335de1657f3e3a6aea
parent26b2072e7536e57995b2867d057fbb32ecfe498d (diff)
xfrm: Access the replay notify functions via the registered callbacks
We call the wrong replay notify function when we use ESN replay handling. This leads to the fact that we don't send notifications if we use ESN. Fix this by calling the registered callbacks instead of xfrm_replay_notify(). Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/xfrm/xfrm_replay.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/xfrm/xfrm_replay.c b/net/xfrm/xfrm_replay.c
index 39e02c54ed26..2f6d11d04a2b 100644
--- a/net/xfrm/xfrm_replay.c
+++ b/net/xfrm/xfrm_replay.c
@@ -167,7 +167,7 @@ static void xfrm_replay_advance(struct xfrm_state *x, __be32 net_seq)
167 } 167 }
168 168
169 if (xfrm_aevent_is_on(xs_net(x))) 169 if (xfrm_aevent_is_on(xs_net(x)))
170 xfrm_replay_notify(x, XFRM_REPLAY_UPDATE); 170 x->repl->notify(x, XFRM_REPLAY_UPDATE);
171} 171}
172 172
173static int xfrm_replay_overflow_bmp(struct xfrm_state *x, struct sk_buff *skb) 173static int xfrm_replay_overflow_bmp(struct xfrm_state *x, struct sk_buff *skb)
@@ -279,7 +279,7 @@ static void xfrm_replay_advance_bmp(struct xfrm_state *x, __be32 net_seq)
279 replay_esn->bmp[nr] |= (1U << bitnr); 279 replay_esn->bmp[nr] |= (1U << bitnr);
280 280
281 if (xfrm_aevent_is_on(xs_net(x))) 281 if (xfrm_aevent_is_on(xs_net(x)))
282 xfrm_replay_notify(x, XFRM_REPLAY_UPDATE); 282 x->repl->notify(x, XFRM_REPLAY_UPDATE);
283} 283}
284 284
285static void xfrm_replay_notify_bmp(struct xfrm_state *x, int event) 285static void xfrm_replay_notify_bmp(struct xfrm_state *x, int event)
@@ -473,7 +473,7 @@ static void xfrm_replay_advance_esn(struct xfrm_state *x, __be32 net_seq)
473 replay_esn->bmp[nr] |= (1U << bitnr); 473 replay_esn->bmp[nr] |= (1U << bitnr);
474 474
475 if (xfrm_aevent_is_on(xs_net(x))) 475 if (xfrm_aevent_is_on(xs_net(x)))
476 xfrm_replay_notify(x, XFRM_REPLAY_UPDATE); 476 x->repl->notify(x, XFRM_REPLAY_UPDATE);
477} 477}
478 478
479static struct xfrm_replay xfrm_replay_legacy = { 479static struct xfrm_replay xfrm_replay_legacy = {