Subject: CVE-2024-35835: net/mlx5e: fix a double-free in arfs_create_groups

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

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

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

net/mlx5e: fix a double-free in arfs_create_groups

When `in` allocated by kvzalloc fails, arfs_create_groups will free
ft->g and return an error. However, arfs_create_table, the only caller of
arfs_create_groups, will hold this error and call to
mlx5e_destroy_flow_table, in which the ft->g will be freed again.

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

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

	Issue introduced in 4.7 with commit 1cabe6b0965e and fixed in 4.19.307 with commit e3d3ed8c1529
	Issue introduced in 4.7 with commit 1cabe6b0965e and fixed in 5.4.269 with commit 2501afe6c4c9
	Issue introduced in 4.7 with commit 1cabe6b0965e and fixed in 5.10.210 with commit cf116d9c3c2a
	Issue introduced in 4.7 with commit 1cabe6b0965e and fixed in 5.15.149 with commit c57ca114eb00
	Issue introduced in 4.7 with commit 1cabe6b0965e and fixed in 6.1.76 with commit 42876db001bb
	Issue introduced in 4.7 with commit 1cabe6b0965e and fixed in 6.6.15 with commit b21db3f1ab79
	Issue introduced in 4.7 with commit 1cabe6b0965e and fixed in 6.7.3 with commit 66cc521a739c
	Issue introduced in 4.7 with commit 1cabe6b0965e and fixed in 6.8 with commit 3c6d5189246f

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-35835
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:
	drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c

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/e3d3ed8c152971dbe64c92c9ecb98fdb52abb629
	https://git.kernel.org/stable/c/2501afe6c4c9829d03abe9a368b83d9ea1b611b7
	https://git.kernel.org/stable/c/cf116d9c3c2aebd653c2dfab5b10c278e9ec3ee5
	https://git.kernel.org/stable/c/c57ca114eb00e03274dd38108d07a3750fa3c056
	https://git.kernel.org/stable/c/42876db001bbea7558e8676d1019f08f9390addb
	https://git.kernel.org/stable/c/b21db3f1ab7967a81d6bbd328d28fe5a4c07a8a7
	https://git.kernel.org/stable/c/66cc521a739ccd5da057a1cb3d6346c6d0e7619b
	https://git.kernel.org/stable/c/3c6d5189246f590e4e1f167991558bdb72a4738b