freebsd-src/sys/net
Kristof Provost bdd12889ea if_vlan: handle VID conflicts
If we fail to change the vlan id we have to undo the removal (and vlan id
change) in the error path. Otherwise we'll have removed the vlan object from the
hash table, and have the wrong vlan id as well. Subsequent modification attempts
will then try to remove an entry which doesn't exist, and panic.

Undo the vlan id modification if the insertion in the hash table fails, and
re-insert it under the original vlan id.

PR:		279195
Reviewed by:	zlei
MFC atfer:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D45285
2024-05-22 09:08:02 +02:00
..
altq sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
route fib_algo(4): Lower level of algorithm switching messages to LOG_INFO 2024-02-05 23:44:38 +01:00
bpf.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bpf.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bpf_buffer.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bpf_buffer.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bpf_filter.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
bpf_jitter.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bpf_jitter.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bpf_zerocopy.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bpf_zerocopy.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
bpfdesc.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bridgestp.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
bridgestp.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
debugnet.c debugnet: Fix logging of frame length 2024-04-09 00:47:10 +08:00
debugnet.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
debugnet_inet.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
debugnet_int.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
dlt.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
ethernet.h Teach if_smsc to get MAC from bootargs. 2023-12-07 12:32:01 +01:00
firewire.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee8023ad_lacp.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
ieee8023ad_lacp.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ieee_oui.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if.c if: guard against if_ioctl being NULL 2024-05-06 11:39:08 +02:00
if.h net: Fix two typos in source code comments 2024-01-20 17:28:12 +01:00
if_arp.h Support ARP for 802 networks 2024-04-23 12:30:53 -04:00
if_bridge.c if_bridge: Minor style fixes 2024-04-26 02:19:11 +08:00
if_bridgevar.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_clone.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_clone.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_dead.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
if_disc.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_dl.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_edsc.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_enc.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_enc.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_epair.c sys: Use mbufq_empty instead of comparing mbufq_len against 0 2024-01-09 11:00:46 -08:00
if_ethersubr.c ethernet: Fix logging of frame length 2024-04-09 00:44:33 +08:00
if_fwsubr.c net: bandaid for plugging a fw_com leak in fwip_detach() 2024-02-15 01:00:49 +00:00
if_gif.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_gif.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
if_gre.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_gre.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
if_infiniband.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
if_ipsec.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_ipsec.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_lagg.c lagg: remove use of net epoch in the ioctl paths 2024-05-06 15:27:32 -07:00
if_lagg.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_llatbl.c if_llatbl: Fix a typo in a KASSERT message 2024-01-20 21:00:22 +01:00
if_llatbl.h sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_llc.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_loop.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_me.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_media.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_media.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
if_mib.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_mib.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_ovpn.c if_ovpn: cope with loops 2024-05-13 12:11:06 +02:00
if_ovpn.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
if_pflog.h pflog: pass the action to pflog directly 2024-01-04 23:08:08 +01:00
if_pfsync.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
if_private.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_stf.c sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
if_stf.h if_stf: make if_stf.h self-contained 2021-12-17 12:38:34 +01:00
if_strings.h ifnet: fix if_strings.h build check 2023-06-16 15:54:29 +00:00
if_tap.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
if_tun.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_tuntap.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_types.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_var.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_vlan.c if_vlan: handle VID conflicts 2024-05-22 09:08:02 +02:00
if_vlan_var.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_vxlan.c if_vxlan(4): Add checking for loops and nesting of tunnels 2024-05-20 20:14:07 +08:00
if_vxlan.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ifdi_if.m iflib: invert default restart on VLAN changes 2023-08-24 13:48:19 -07:00
iflib.c iflib: Add subinterface interrupt allocation function 2024-04-18 16:14:02 -07:00
iflib.h iflib: Add subinterface interrupt allocation function 2024-04-18 16:14:02 -07:00
ifq.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
ifq.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
infiniband.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mp_ring.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
mp_ring.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mppc.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mppcc.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
mppcd.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netisr.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
netisr.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netisr_internal.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netmap.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
netmap_legacy.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
netmap_user.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
netmap_virt.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
paravirt.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
pfil.c pfil: PFIL_PASS never frees the mbuf 2024-01-29 14:10:19 +01:00
pfil.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
pfkeyv2.h libipsec: make const-correct 2024-04-22 22:36:34 -06:00
pflow.h pflow: show socket status in verbose mode 2024-01-25 17:37:51 +01:00
pfvar.h pf: convert kill/clear state to use netlink 2024-02-28 23:26:18 +01:00
ppp_defs.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
radix.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
radix.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rndis.h net: Fix typo (triple S) 2023-12-27 20:24:32 -07:00
route.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
route.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rss_config.c sys: Remove $FreeBSD$: two-line .c pattern 2023-08-16 11:54:30 -06:00
rss_config.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
rtsock.c Revert "sockets: retire sorflush()" 2024-02-03 13:08:41 -08:00
sff8436.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
sff8472.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
slcompress.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
slcompress.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
toeplitz.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
toeplitz.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vnet.c vnet: (read) lock the vnet list while iterating it 2023-12-07 13:34:47 +01:00
vnet.h vnet: remove unneeded backslash 2024-03-15 12:17:04 -07:00