xfrm: Fix replay window size calculation on initialization
On replay initialization, we compute the size of the replay buffer to see if the replay window fits into the buffer. This computation lacks a mutliplication by 8 because we need the size in bit, not in byte. So we might return an error even though the replay window would fit into the buffer. This patch fixes this issue. Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0972ddb237
commit
3f602b08de
|
@ -532,7 +532,7 @@ int xfrm_init_replay(struct xfrm_state *x)
|
|||
|
||||
if (replay_esn) {
|
||||
if (replay_esn->replay_window >
|
||||
replay_esn->bmp_len * sizeof(__u32))
|
||||
replay_esn->bmp_len * sizeof(__u32) * 8)
|
||||
return -EINVAL;
|
||||
|
||||
if ((x->props.flags & XFRM_STATE_ESN) && x->replay_esn)
|
||||
|
|
Loading…
Reference in New Issue