Subject: CVE-2024-26634: net: fix removing a namespace with conflicting altnames

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

net: fix removing a namespace with conflicting altnames

Mark reports a BUG() when a net namespace is removed.

    kernel BUG at net/core/dev.c:11520!

Physical interfaces moved outside of init_net get "refunded"
to init_net when that namespace disappears. The main interface
name may get overwritten in the process if it would have
conflicted. We need to also discard all conflicting altnames.
Recent fixes addressed ensuring that altnames get moved
with the main interface, which surfaced this problem.

The Linux kernel CVE team has assigned CVE-2024-26634 to this issue.

Affected and fixed versions
===========================

	Issue introduced in 6.1.60 with commit 673edcffa096 and fixed in 6.1.76 with commit a2232f29bf52
	Issue introduced in 6.6 with commit 7663d522099e and fixed in 6.6.15 with commit e855dded4b70
	Issue introduced in 6.6 with commit 7663d522099e and fixed in 6.7.3 with commit 8072699aa9e6
	Issue introduced in 6.6 with commit 7663d522099e and fixed in 6.8 with commit d09486a04f5d
	Issue introduced in 6.5.9 with commit f7a69786fe5e

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2024-26634
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	net/core/dev.c
	net/core/dev.h

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/a2232f29bf52c24f827865b3c90829c44b6c695b
	https://git.kernel.org/stable/c/e855dded4b70d1975ee7b9fed0c700391e3c8ea6
	https://git.kernel.org/stable/c/8072699aa9e67d1727692cfb3c347263bb627fb9
	https://git.kernel.org/stable/c/d09486a04f5da0a812c26217213b89a3b1acf836