|
@@ -181,8 +181,6 @@ static int esp6_output(struct xfrm_state *x, struct sk_buff *skb)
|
|
|
}
|
|
|
blksize = ALIGN(crypto_aead_blocksize(aead), 4);
|
|
|
clen = ALIGN(skb->len + 2 + tfclen, blksize);
|
|
|
- if (esp->padlen)
|
|
|
- clen = ALIGN(clen, esp->padlen);
|
|
|
plen = clen - skb->len - tfclen;
|
|
|
|
|
|
err = skb_cow_data(skb, tfclen + plen + alen, &trailer);
|
|
@@ -416,7 +414,6 @@ static u32 esp6_get_mtu(struct xfrm_state *x, int mtu)
|
|
|
{
|
|
|
struct esp_data *esp = x->data;
|
|
|
u32 blksize = ALIGN(crypto_aead_blocksize(esp->aead), 4);
|
|
|
- u32 align = max_t(u32, blksize, esp->padlen);
|
|
|
unsigned int net_adj;
|
|
|
|
|
|
if (x->props.mode != XFRM_MODE_TUNNEL)
|
|
@@ -425,7 +422,7 @@ static u32 esp6_get_mtu(struct xfrm_state *x, int mtu)
|
|
|
net_adj = 0;
|
|
|
|
|
|
return ((mtu - x->props.header_len - crypto_aead_authsize(esp->aead) -
|
|
|
- net_adj) & ~(align - 1)) + net_adj - 2;
|
|
|
+ net_adj) & ~(blksize - 1)) + net_adj - 2;
|
|
|
}
|
|
|
|
|
|
static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
|
|
@@ -606,8 +603,6 @@ static int esp6_init_state(struct xfrm_state *x)
|
|
|
|
|
|
aead = esp->aead;
|
|
|
|
|
|
- esp->padlen = 0;
|
|
|
-
|
|
|
x->props.header_len = sizeof(struct ip_esp_hdr) +
|
|
|
crypto_aead_ivsize(aead);
|
|
|
switch (x->props.mode) {
|
|
@@ -626,8 +621,6 @@ static int esp6_init_state(struct xfrm_state *x)
|
|
|
}
|
|
|
|
|
|
align = ALIGN(crypto_aead_blocksize(aead), 4);
|
|
|
- if (esp->padlen)
|
|
|
- align = max_t(u32, align, esp->padlen);
|
|
|
x->props.trailer_len = align + 1 + crypto_aead_authsize(esp->aead);
|
|
|
|
|
|
error:
|