| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Copyright (C)2003,2004 USAGI/WIDE Project |
|---|
| 3 | | - * |
|---|
| 4 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 5 | | - * it under the terms of the GNU General Public License as published by |
|---|
| 6 | | - * the Free Software Foundation; either version 2 of the License, or |
|---|
| 7 | | - * (at your option) any later version. |
|---|
| 8 | | - * |
|---|
| 9 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 10 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 11 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 12 | | - * GNU General Public License for more details. |
|---|
| 13 | | - * |
|---|
| 14 | | - * You should have received a copy of the GNU General Public License |
|---|
| 15 | | - * along with this program; if not, see <http://www.gnu.org/licenses/>. |
|---|
| 16 | 4 | * |
|---|
| 17 | 5 | * Authors Mitsuru KANDA <mk@linux-ipv6.org> |
|---|
| 18 | 6 | * YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> |
|---|
| 19 | 7 | * |
|---|
| 20 | 8 | * Based on net/ipv4/xfrm4_tunnel.c |
|---|
| 21 | | - * |
|---|
| 22 | 9 | */ |
|---|
| 23 | 10 | #include <linux/module.h> |
|---|
| 24 | 11 | #include <linux/xfrm.h> |
|---|
| .. | .. |
|---|
| 91 | 78 | |
|---|
| 92 | 79 | hlist_for_each_entry_rcu(x6spi, |
|---|
| 93 | 80 | &xfrm6_tn->spi_byaddr[xfrm6_tunnel_spi_hash_byaddr(saddr)], |
|---|
| 94 | | - list_byaddr) { |
|---|
| 81 | + list_byaddr, lockdep_is_held(&xfrm6_tunnel_spi_lock)) { |
|---|
| 95 | 82 | if (xfrm6_addr_equal(&x6spi->addr, saddr)) |
|---|
| 96 | 83 | return x6spi; |
|---|
| 97 | 84 | } |
|---|
| .. | .. |
|---|
| 316 | 303 | static struct xfrm6_tunnel xfrm6_tunnel_handler __read_mostly = { |
|---|
| 317 | 304 | .handler = xfrm6_tunnel_rcv, |
|---|
| 318 | 305 | .err_handler = xfrm6_tunnel_err, |
|---|
| 319 | | - .priority = 2, |
|---|
| 306 | + .priority = 3, |
|---|
| 320 | 307 | }; |
|---|
| 321 | 308 | |
|---|
| 322 | 309 | static struct xfrm6_tunnel xfrm46_tunnel_handler __read_mostly = { |
|---|
| 323 | 310 | .handler = xfrm6_tunnel_rcv, |
|---|
| 324 | 311 | .err_handler = xfrm6_tunnel_err, |
|---|
| 325 | | - .priority = 2, |
|---|
| 312 | + .priority = 3, |
|---|
| 326 | 313 | }; |
|---|
| 327 | 314 | |
|---|
| 328 | 315 | static int __net_init xfrm6_tunnel_net_init(struct net *net) |
|---|