From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (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 77A54381EB5 for ; Mon, 13 Jul 2026 06:36:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783924608; cv=none; b=kJSd+TR9RDSot6wRcGHTHPrIf6+sGta2X4OwIaRBFrdrdi/hu2l329u2g6OkzPw31VxvnXCx5szTFR5U5/8FweqqmmBOTHkw6wGPoA0a+YzjaVY/BbxeLXgVpws/IplBUke1w8yYJkrnHpoG2G93CKigya8wswXa2wohA/vcDFQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783924608; c=relaxed/simple; bh=tapKB0OdfQ2qsJPh7f83iC6X0lGIx0sRdPmA5A7DH6g=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=eHxONg6JOLoEvrOzOp7NijtSzU3S1V/t32XFeKwh7aygMS3DwT/Ot9zYH0kWRyxmd4Fjs/wYGd3KR+OuWarQHNZDRNdJyRfPl7ttYPUCNWTCf/bzUaIGKSiM8ydaXbbhjfVXmirH9KuMKa4YmGh4ytEbUpXR+SdkjFfXnIOWaW8= 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=QNeL9yHp; arc=none smtp.client-ip=209.85.167.43 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="QNeL9yHp" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5aebd52488cso2960247e87.2 for ; Sun, 12 Jul 2026 23:36:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783924604; x=1784529404; 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=VMkqWgex1B+1V2DB5qYbUsGcW2IFuOY8YL+iXrC+I8Q=; b=QNeL9yHpMbso0RCbt7dMuv+w3a5QirU0Tfhu2zettiw5/dGrICUh8784g6oMVMMdPo wA5uP18DZWKkNtjVX2FcXShcHQ94PuBLxWBiZn8crELpHQ3TtnmAO6h4chrKgSoM4Mdc QPbMmTzwEjEpQ5zcQNqrUuaA3xk5uzq3/DuOgxk/u//Z7HWv3X7gYKaHtCohDd91hAfL KKRJc7oiHWHJWKSI91ojR+/IatwQq6Uyikz4vODKf5MffYAKZ1SeY18LBOoYM/uj76Fv LKgDHLl6iRZGMybm60nzGAbGzGrzCFxXN8s/xc1wAaz9R94vmvxo/5S6TFvV6zoy53Uv NYuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783924604; x=1784529404; 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=VMkqWgex1B+1V2DB5qYbUsGcW2IFuOY8YL+iXrC+I8Q=; b=dEmu2Pt3JGHLG8MbmgEP2gdTasBLr0SiZqx+R9pymA6e/XnebGBYa9UaITtzc3Xqbs kOwOY7f5slXShDCViuwKd7OHFecGqXEwjfQ2QhLzwsUzczl/jeXeHRiQ7LENAiMLJp8/ ulT8+V3+yUWRPFQiV67iqimswieX4t+qFQNzIkYUgn3SJcFhUuhbsE0Zlnrau0noFZvS Q9i4PGSuegjlUYlxHyVuDvnWhG5AsN/qrHtOIOj/WSApd9O6avG7NB4evCUmI6En3yNG qx374+IUQoNR1XR2ZZ3Lw+As6OKSQIRp1UmU2rvCl+0ADOsWG78w2FsA1L0MPJrxQC5w wdMg== X-Forwarded-Encrypted: i=1; AHgh+RrIHKR9ypSyEeafSxcp9sqhvTq+c1ubKsows7O3+GJhFVfBi0Qa2C8Z8rffqTL0iccBs5Vu/S7Fssu+FX8=@vger.kernel.org X-Gm-Message-State: AOJu0YyxPSKUaWRpLFZ+1F4+R4vykEcLvSv6gd0VAER2Cpquw+Qt12Fn +jjPiTB5FQns0HcJwXR6u+VloyRpmz7ROEy6OJfcsBnnbovB+UpWysqo X-Gm-Gg: AfdE7cmbmbSTwfEFECaMXooZL28sJbI48ExFv2vEHcnPZEDs4Fks1mo/+zSRYwx8mZ1 buXLFliWJW+3Dko571NyFuUeCib8LjzvRaKOJKsY00ebKOkpjZIHom4aa60szMEvcIepC4IpHK4 n8aO4OC/TslTyAbC0aWLLDnmPiiM447H/rRrRyhwH3EwJEKEP1+lCmvKL2Mb2fXpy9um4cV3Myq Qx2y71lUSRyumb7yj9JKiRNa8aPJff3zpP8H+4Sn54HncW6sCrAhXvz3YZVglnfauCbJ78eXcoK UIN86k1W3f9iNSQNut2UjVmo1NHPLQr81oW29UUgVf4Z0nSJnCEJD0KvhZzwirzQY1UdmpZtYsh sD4hcmy/RBlSRuuOMegXLzu2k91xAnoY6gjt207ysGekaknN4iPzylSwnSzXIER0bMprQev8gDJ LciZcL5r0JxJonlH4o2tKfMgvnbNuhIPDSRod3I4erLz49bpN2qv9yK4+DvwemaMfS X-Received: by 2002:a05:6512:12d4:b0:5ae:b764:3ba5 with SMTP id 2adb3069b0e04-5b0236c84f6mr1460633e87.64.1783924603562; Sun, 12 Jul 2026 23:36:43 -0700 (PDT) Received: from SC-WS-02986.corp.sbercloud.ru ([5.18.235.145]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-39c84b83a84sm26001371fa.26.2026.07.12.23.36.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2026 23:36:42 -0700 (PDT) From: Aleksey Shishkin To: Cc: linux-kernel@ispras.ru, Aleksey Shishkin , "James E.J. Bottomley" , "Martin K. Petersen" , Kees Cook , linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] scsi: scsi_dh_rdac: fix NULL pointer dereference in error handling Date: Mon, 13 Jul 2026 09:36:28 +0300 Message-ID: <20260713063640.3081603-1-demonaxsh@gmail.com> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Aleksey Shishkin There is a critical logic error in error handling. If get_controller() fails and returns NULL, the function sets err = SCSI_DH_RES_TEMP_UNAVAIL. However, immediately after spin_unlock(), the code unconditionally overwrites err with SCSI_DH_OK. This causes the kernel to falsely report a successful initialization, leading to an inevitable Null Pointer Dereference (Kernel Panic) later when the driver attempts to use the uninitialized h->ctlr. Fix this by moving the assignment err = SCSI_DH_OK inside the else block so it is only set when the controller is successfully acquired. Signed-off-by: Aleksey Shishkin --- drivers/scsi/device_handler/scsi_dh_rdac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/device_handler/scsi_dh_rdac.c b/drivers/scsi/device_handler/scsi_dh_rdac.c index 88c8e36b221e..ed02e1737bd7 100644 --- a/drivers/scsi/device_handler/scsi_dh_rdac.c +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c @@ -455,9 +455,9 @@ static int initialize_controller(struct scsi_device *sdev, else { h->sdev = sdev; list_add_rcu(&h->node, &h->ctlr->dh_list); + err = SCSI_DH_OK; } spin_unlock(&list_lock); - err = SCSI_DH_OK; } return err; } -- 2.47.3