Commit 07b87f9
committed
xfrm: Fix unregister netdevice hang on hardware offload.
When offloading xfrm states to hardware, the offloading
device is attached to the skbs secpath. If a skb is free
is deferred, an unregister netdevice hangs because the
netdevice is still refcounted.
Fix this by removing the netdevice from the xfrm states
when the netdevice is unregistered. To find all xfrm states
that need to be cleared we add another list where skbs
linked to that are unlinked from the lists (deleted)
but not yet freed.
Fixes: d77e38e ("xfrm: Add an IPsec hardware offloading API")
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>1 parent 15f5fe9 commit 07b87f9
2 files changed
+69
-28
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | | - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
182 | 185 | | |
183 | 186 | | |
184 | 187 | | |
| |||
1588 | 1591 | | |
1589 | 1592 | | |
1590 | 1593 | | |
1591 | | - | |
| 1594 | + | |
1592 | 1595 | | |
1593 | 1596 | | |
1594 | 1597 | | |
| |||
1946 | 1949 | | |
1947 | 1950 | | |
1948 | 1951 | | |
| 1952 | + | |
| 1953 | + | |
1949 | 1954 | | |
1950 | 1955 | | |
1951 | 1956 | | |
1952 | 1957 | | |
| 1958 | + | |
1953 | 1959 | | |
1954 | | - | |
1955 | | - | |
| 1960 | + | |
| 1961 | + | |
1956 | 1962 | | |
1957 | 1963 | | |
1958 | 1964 | | |
| |||
1973 | 1979 | | |
1974 | 1980 | | |
1975 | 1981 | | |
1976 | | - | |
1977 | | - | |
1978 | | - | |
1979 | | - | |
1980 | | - | |
1981 | | - | |
1982 | | - | |
1983 | | - | |
1984 | | - | |
1985 | | - | |
1986 | | - | |
1987 | | - | |
1988 | | - | |
1989 | | - | |
1990 | | - | |
1991 | | - | |
1992 | | - | |
1993 | | - | |
1994 | | - | |
1995 | | - | |
1996 | | - | |
1997 | | - | |
1998 | 1982 | | |
1999 | 1983 | | |
2000 | 1984 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| 52 | + | |
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| |||
214 | 215 | | |
215 | 216 | | |
216 | 217 | | |
| 218 | + | |
217 | 219 | | |
218 | 220 | | |
219 | 221 | | |
| |||
683 | 685 | | |
684 | 686 | | |
685 | 687 | | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
686 | 722 | | |
687 | 723 | | |
688 | 724 | | |
| |||
848 | 884 | | |
849 | 885 | | |
850 | 886 | | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
851 | 890 | | |
852 | 891 | | |
853 | 892 | | |
| |||
857 | 896 | | |
858 | 897 | | |
859 | 898 | | |
860 | | - | |
861 | | - | |
862 | 899 | | |
863 | 900 | | |
864 | 901 | | |
| |||
868 | 905 | | |
869 | 906 | | |
870 | 907 | | |
| 908 | + | |
| 909 | + | |
871 | 910 | | |
872 | 911 | | |
873 | 912 | | |
| |||
884 | 923 | | |
885 | 924 | | |
886 | 925 | | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
887 | 944 | | |
888 | 945 | | |
889 | 946 | | |
| |||
0 commit comments