From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D09F25B0B7 for ; Mon, 17 Aug 2026 03:35:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786937723; cv=none; b=B5ndxLVuiemAaI2kgbwTEABXRAH7cEZK9aBq98w26V3UOgTX+wv4nvouBtNcgvrG6CJ7mgi91CCOxyjvl3d9spz6+lE5fQ6ZlwosmB6sGdmt81xqFkOZIAB7k4+wi1ejiZPiNRon00xpaDRM2hWy4nrkitsRn8egskddjsCDAYY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786937723; c=relaxed/simple; bh=EVNOEegsd9blPfKgfabnfEt4Bv9p41pWKStOyI6Iq4I=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=bHz70Yrs+F5R55GMd8YuZ68dIHHZuZrQC+fJhQZqxg3lY6R1p791KHzOfibIpYomazi73MYIL0UexyBc1murCNLBujRUlgtrDlU5R92oGMc5JiIgoH7AewYCWtpsbICqKO2b2/3qK6Wp59600g6zDK5QVjFHqV0sdsEGeGfzc8o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jsLFxOb5; arc=none smtp.client-ip=209.85.210.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jsLFxOb5" Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-84e507b079dso1791973b3a.0 for ; Sun, 16 Aug 2026 20:35:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786937722; x=1787542522; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=tq4qHb0iPI7fx4THaZJfb9gp5/61SUMlprlE6Co21dg=; b=jsLFxOb58lclM3vUPJtWdOvgmX4yEeIu5H99mijnU+IS6qUQi0/CuYOSXe+Cdh4HUx QQVj7PTtNqSeG+GPAIIA0tKqhH0GJVpkfJPxstXBZWnuAOO5RgPRfpD0RF3fgwZv9QHn eeIjqRaR2DCQ8WsH7PVRgjCoawNDLEC15wYqeC7rdE37Kgc5xxsTNQQ555q3aRlcZ4YL LMhckNs6M6/rpnO3aL8Kx8Ri1IAmbyI7RfrepjUwMeptJk1hjelSGdeGQzTJU58kRum9 Mlp3+EBNpktGm5ve4FYmDe7INlmly9rpuU///zzA3oNHws62mDwV7mns1Whjb09yUaRh 856g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786937722; x=1787542522; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=tq4qHb0iPI7fx4THaZJfb9gp5/61SUMlprlE6Co21dg=; b=LO4kJ+Cl4FJGc4eRt0QhaNz9y3ge90C4pVGUgyqrAO8y1xneQ5IrHivs/rCFd0BCuA /RuCSvOnOwjPsgPtLxJXKE/ZY4dPifJj1g1e+KmmA/DtTZ+qq6MsYhc/dLciTRlqycWs G6l1IsDpJ4CrRUZObuSHh4qFHiC2TIfeZrRQfFCTEO6Re+t3G92GbyV5YSas58PtjFMk mwO8Qf2Kf4iotJLdB2Eo39zVlZENC68eYbVCbCN6KOHL1UqPtgKrBoFdWjXDiSgWdsEl IvQrpuoog3rByNLGA9RTmJYkQgBIK6iCzqzopa91xqBKnlZ3QZR799QHXWyVtugs3QBW fwVg== X-Forwarded-Encrypted: i=1; AHgh+Rq6qGxRJ557/5hYtAvedybdWbkEZFWeIWsSdDLmnziZLGR1MevCa0UTgBiGAO7l7UkAVbu6QM8iqPkfIO4=@vger.kernel.org X-Gm-Message-State: AOJu0Ywzgt84ERHVacki2wTrt321p2LzXB4O2kk4Fn78foNg0nXTxT4F MLUOnVT9ag3F9bIOispLoOzzguG7AHuhVigFN+KmCv14DASFY8MZc0o= X-Gm-Gg: AR+sD10PtdHmMYXQWBmR7LzMa3KYqTa3h3ru09aTCSJyooZ1u5hrw36NihULHdSyTb6 t1bzd0SWX2pi04AkFXtBEqocAhFfCqojOx6VA96YwAZO/6OI0jyoa+MG+Z0BG+gNfdiiWYWU4fo FRSAqdZnuIQC6uiCGuugTwBq+Y24lM7s3rgUx6KR9VgAvyGfiuULbnLgNHlbW1OTrAH0tlq0lJg /XfRN/HAf3ZtO7PY+zhVBZ7Km9jD+0nThhjxjoPjV5yWhX4VJkmsy9M09Y62QWjGGtVQRNivul5 UWDCpqf71z0dEXlTbwtOVWEYoh/OLxqinKGtsHYmevFHDrjA380nZRXkQsqCItrFJ7gkXzrt4X2 rMrElkO9J32luyTd4h9CH6JuENuLlqpsOPsfYYtsNHVPruemdMQkm6qWGiC0cNytXM7wymbjAIv 7N6oEZXiEiySqCyhdIEfmCnSQcX95hWzVvcqYTYpr/fkXWRnhYhoYnXX4v9w8= X-Received: by 2002:a05:6a00:bb0f:b0:848:4080:afe8 with SMTP id d2e1a72fcca58-84fde38e7d2mr19002835b3a.22.1786937721801; Sun, 16 Aug 2026 20:35:21 -0700 (PDT) Received: from DL2XHKPB4.dl.net ([103.63.104.162]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8517d045290sm2179268b3a.25.2026.08.16.20.35.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Aug 2026 20:35:21 -0700 (PDT) From: Triet Hoang To: don.brace@microchip.com Cc: James.Bottomley@HansenPartnership.com, martin.petersen@oracle.com, storagedev@microchip.com, linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, Triet Hoang Subject: [PATCH] scsi: smartpqi: Handle pqi_alloc_io_request() failure Date: Mon, 17 Aug 2026 10:35:05 +0700 Message-ID: <20260817033505.736519-1-triet.hoang.dev@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Check the return value of pqi_alloc_io_request() before dereferencing the returned request in pqi_submit_raid_request_synchronous() and pqi_lun_reset(). Return SCSI_MLQUEUE_HOST_BUSY when a request cannot be allocated so that the operation can be retried instead of dereferencing a NULL pointer. Signed-off-by: Triet Hoang --- drivers/scsi/smartpqi/smartpqi_init.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c index 5ec583dc2e7d..0930decef404 100644 --- a/drivers/scsi/smartpqi/smartpqi_init.c +++ b/drivers/scsi/smartpqi/smartpqi_init.c @@ -4667,6 +4667,10 @@ static int pqi_submit_raid_request_synchronous(struct pqi_ctrl_info *ctrl_info, } io_request = pqi_alloc_io_request(ctrl_info, NULL); + if (!io_request) { + rc = SCSI_MLQUEUE_HOST_BUSY; + goto out; + } put_unaligned_le16(io_request->index, &(((struct pqi_raid_path_request *)request)->request_id)); @@ -6353,6 +6357,9 @@ static int pqi_lun_reset(struct pqi_ctrl_info *ctrl_info, struct pqi_scsi_dev *d struct pqi_task_management_request *request; io_request = pqi_alloc_io_request(ctrl_info, NULL); + if (!io_request) + return SCSI_MLQUEUE_HOST_BUSY; + io_request->io_complete_callback = pqi_lun_reset_complete; io_request->context = &wait; -- 2.53.0