git: 9fc935855951 - stable/13 - cam: Check if cam_simq_alloc fails for the xpt bus during module init

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Mon, 08 Apr 2024 20:25:51 UTC
The branch stable/13 has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=9fc935855951ff8277c669b2aa248fde63a10175

commit 9fc935855951ff8277c669b2aa248fde63a10175
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2024-02-09 19:53:43 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2024-04-08 17:53:54 +0000

    cam: Check if cam_simq_alloc fails for the xpt bus during module init
    
    This is very unlikely to fail (and if it does, CAM isn't going to work
    regardless), but fail with an error rather than a gauranteed panic via
    NULL pointer dereference.
    
    PR:             276770
    Reported by:    Qiushi <w290680224@gmail.com>
    
    (cherry picked from commit eb86c6c5b462c996e44c45ba496937b75ef22da3)
---
 sys/cam/cam_xpt.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index 177cc3a168d9..391a5b8ae2a2 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -913,6 +913,8 @@ xpt_init(void *dummy)
 	 * perform other XPT functions.
 	 */
 	devq = cam_simq_alloc(16);
+	if (devq == NULL)
+		return (ENOMEM);
 	xpt_sim = cam_sim_alloc(xptaction,
 				xptpoll,
 				"xpt",