Subject: CVE-2022-48908: net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()

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

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

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

net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()

During driver initialization, the pointer of card info, i.e. the
variable 'ci' is required. However, the definition of
'com20020pci_id_table' reveals that this field is empty for some
devices, which will cause null pointer dereference when initializing
these devices.

The following log reveals it:

[    3.973806] KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f]
[    3.973819] RIP: 0010:com20020pci_probe+0x18d/0x13e0 [com20020_pci]
[    3.975181] Call Trace:
[    3.976208]  local_pci_probe+0x13f/0x210
[    3.977248]  pci_device_probe+0x34c/0x6d0
[    3.977255]  ? pci_uevent+0x470/0x470
[    3.978265]  really_probe+0x24c/0x8d0
[    3.978273]  __driver_probe_device+0x1b3/0x280
[    3.979288]  driver_probe_device+0x50/0x370

Fix this by checking whether the 'ci' is a null pointer first.

The Linux kernel CVE team has assigned CVE-2022-48908 to this issue.

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

	Issue introduced in 3.18 with commit 8c14f9c70327 and fixed in 4.9.305 with commit 8e3bc7c5bbf8
	Issue introduced in 3.18 with commit 8c14f9c70327 and fixed in 4.14.270 with commit b1ee6b9340a3
	Issue introduced in 3.18 with commit 8c14f9c70327 and fixed in 4.19.233 with commit b838add93e1d
	Issue introduced in 3.18 with commit 8c14f9c70327 and fixed in 5.4.183 with commit e50c589678e5
	Issue introduced in 3.18 with commit 8c14f9c70327 and fixed in 5.10.104 with commit 5f394102ee27
	Issue introduced in 3.18 with commit 8c14f9c70327 and fixed in 5.15.27 with commit ea372aab5490
	Issue introduced in 3.18 with commit 8c14f9c70327 and fixed in 5.16.13 with commit ca0bdff4249a
	Issue introduced in 3.18 with commit 8c14f9c70327 and fixed in 5.17 with commit bd6f1fd5d33d

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-2022-48908
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/arcnet/com20020-pci.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/8e3bc7c5bbf87e86e9cd652ca2a9166942d86206
	https://git.kernel.org/stable/c/b1ee6b9340a38bdb9e5c90f0eac5b22b122c3049
	https://git.kernel.org/stable/c/b838add93e1dd98210482dc433768daaf752bdef
	https://git.kernel.org/stable/c/e50c589678e50f8d574612e473ca60ef45190896
	https://git.kernel.org/stable/c/5f394102ee27dbf051a4e283390cd8d1759dacea
	https://git.kernel.org/stable/c/ea372aab54903310756217d81610901a8e66cb7d
	https://git.kernel.org/stable/c/ca0bdff4249a644f2ca7a49d410d95b8dacf1f72
	https://git.kernel.org/stable/c/bd6f1fd5d33dfe5d1b4f2502d3694a7cc13f166d