Subject: CVE-2024-43839: bna: adjust 'name' buf size of bna_tcb and bna_ccb structures

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

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

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

bna: adjust 'name' buf size of bna_tcb and bna_ccb structures

To have enough space to write all possible sprintf() args. Currently
'name' size is 16, but the first '%s' specifier may already need at
least 16 characters, since 'bnad->netdev->name' is used there.

For '%d' specifiers, assume that they require:
 * 1 char for 'tx_id + tx_info->tcb[i]->id' sum, BNAD_MAX_TXQ_PER_TX is 8
 * 2 chars for 'rx_id + rx_info->rx_ctrl[i].ccb->id', BNAD_MAX_RXP_PER_RX
   is 16

And replace sprintf with snprintf.

Detected using the static analysis tool - Svace.

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

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

	Issue introduced in 2.6.37 with commit 8b230ed8ec96 and fixed in 4.19.320 with commit f121740f69ed
	Issue introduced in 2.6.37 with commit 8b230ed8ec96 and fixed in 5.4.282 with commit c90b1cd7758f
	Issue introduced in 2.6.37 with commit 8b230ed8ec96 and fixed in 5.10.224 with commit 6ce46045f9b9
	Issue introduced in 2.6.37 with commit 8b230ed8ec96 and fixed in 5.15.165 with commit 6d20c4044ab4
	Issue introduced in 2.6.37 with commit 8b230ed8ec96 and fixed in 6.1.103 with commit ab748dd10d87
	Issue introduced in 2.6.37 with commit 8b230ed8ec96 and fixed in 6.6.44 with commit b0ff0cd0847b
	Issue introduced in 2.6.37 with commit 8b230ed8ec96 and fixed in 6.10.3 with commit e0f48f51d55f
	Issue introduced in 2.6.37 with commit 8b230ed8ec96 and fixed in 6.11 with commit c9741a03dc8e

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-43839
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/brocade/bna/bna_types.h
	drivers/net/ethernet/brocade/bna/bnad.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/f121740f69eda4da2de9a20a6687a13593e72540
	https://git.kernel.org/stable/c/c90b1cd7758fd4839909e838ae195d19f8065d76
	https://git.kernel.org/stable/c/6ce46045f9b90d952602e2c0b8886cfadf860bf1
	https://git.kernel.org/stable/c/6d20c4044ab4d0e6a99aa35853e66f0aed5589e3
	https://git.kernel.org/stable/c/ab748dd10d8742561f2980fea08ffb4f0cacfdef
	https://git.kernel.org/stable/c/b0ff0cd0847b03c0a0abe20cfa900eabcfcb9e43
	https://git.kernel.org/stable/c/e0f48f51d55fb187400e9787192eda09fa200ff5
	https://git.kernel.org/stable/c/c9741a03dc8e491e57b95fba0058ab46b7e506da