ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.
[h-e-n] / net / ipv6 / ipcomp6.c
index 710325e..e3dcfa2 100644 (file)
@@ -146,7 +146,9 @@ static int ipcomp6_output(struct xfrm_state *x, struct sk_buff *skb)
        scratch = *per_cpu_ptr(ipcomp6_scratches, cpu);
        tfm = *per_cpu_ptr(ipcd->tfms, cpu);
 
+       local_bh_disable();
        err = crypto_comp_compress(tfm, start, plen, scratch, &dlen);
+       local_bh_enable();
        if (err || (dlen + sizeof(*ipch)) >= plen) {
                put_cpu();
                goto out_ok;
@@ -453,7 +455,7 @@ error:
        goto out;
 }
 
-static struct xfrm_type ipcomp6_type =
+static const struct xfrm_type ipcomp6_type =
 {
        .description    = "IPCOMP6",
        .owner          = THIS_MODULE,