|
@@ -559,14 +559,14 @@ static void esp_input_restore_header(struct sk_buff *skb)
|
|
|
static void esp_input_set_header(struct sk_buff *skb, __be32 *seqhi)
|
|
|
{
|
|
|
struct xfrm_state *x = xfrm_input_state(skb);
|
|
|
- struct ip_esp_hdr *esph = (struct ip_esp_hdr *)skb->data;
|
|
|
|
|
|
/* For ESN we move the header forward by 4 bytes to
|
|
|
* accomodate the high bits. We will move it back after
|
|
|
* decryption.
|
|
|
*/
|
|
|
if ((x->props.flags & XFRM_STATE_ESN)) {
|
|
|
- esph = skb_push(skb, 4);
|
|
|
+ struct ip_esp_hdr *esph = skb_push(skb, 4);
|
|
|
+
|
|
|
*seqhi = esph->spi;
|
|
|
esph->spi = esph->seq_no;
|
|
|
esph->seq_no = XFRM_SKB_CB(skb)->seq.input.hi;
|