diff options
-rw-r--r-- | net/ipv6/seg6_hmac.c | 2 | ||||
-rw-r--r-- | net/ipv6/seg6_iptunnel.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/net/ipv6/seg6_hmac.c b/net/ipv6/seg6_hmac.c index ef1c8a46e7ac..03a064803626 100644 --- a/net/ipv6/seg6_hmac.c +++ b/net/ipv6/seg6_hmac.c | |||
@@ -400,7 +400,7 @@ static int seg6_hmac_init_algo(void) | |||
400 | *p_tfm = tfm; | 400 | *p_tfm = tfm; |
401 | } | 401 | } |
402 | 402 | ||
403 | p_tfm = this_cpu_ptr(algo->tfms); | 403 | p_tfm = raw_cpu_ptr(algo->tfms); |
404 | tfm = *p_tfm; | 404 | tfm = *p_tfm; |
405 | 405 | ||
406 | shsize = sizeof(*shash) + crypto_shash_descsize(tfm); | 406 | shsize = sizeof(*shash) + crypto_shash_descsize(tfm); |
diff --git a/net/ipv6/seg6_iptunnel.c b/net/ipv6/seg6_iptunnel.c index bbfca22c34ae..1d60cb132835 100644 --- a/net/ipv6/seg6_iptunnel.c +++ b/net/ipv6/seg6_iptunnel.c | |||
@@ -265,7 +265,9 @@ int seg6_output(struct net *net, struct sock *sk, struct sk_buff *skb) | |||
265 | slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); | 265 | slwt = seg6_lwt_lwtunnel(orig_dst->lwtstate); |
266 | 266 | ||
267 | #ifdef CONFIG_DST_CACHE | 267 | #ifdef CONFIG_DST_CACHE |
268 | preempt_disable(); | ||
268 | dst = dst_cache_get(&slwt->cache); | 269 | dst = dst_cache_get(&slwt->cache); |
270 | preempt_enable(); | ||
269 | #endif | 271 | #endif |
270 | 272 | ||
271 | if (unlikely(!dst)) { | 273 | if (unlikely(!dst)) { |
@@ -286,7 +288,9 @@ int seg6_output(struct net *net, struct sock *sk, struct sk_buff *skb) | |||
286 | } | 288 | } |
287 | 289 | ||
288 | #ifdef CONFIG_DST_CACHE | 290 | #ifdef CONFIG_DST_CACHE |
291 | preempt_disable(); | ||
289 | dst_cache_set_ip6(&slwt->cache, dst, &fl6.saddr); | 292 | dst_cache_set_ip6(&slwt->cache, dst, &fl6.saddr); |
293 | preempt_enable(); | ||
290 | #endif | 294 | #endif |
291 | } | 295 | } |
292 | 296 | ||