From patchwork Wed Nov 17 10:49:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sreekanth Reddy X-Patchwork-Id: 12624353 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D79E3C433F5 for ; Wed, 17 Nov 2021 10:41:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A55F56323F for ; Wed, 17 Nov 2021 10:41:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232704AbhKQKo1 (ORCPT ); Wed, 17 Nov 2021 05:44:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32976 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231650AbhKQKo1 (ORCPT ); Wed, 17 Nov 2021 05:44:27 -0500 Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BCF8DC061570 for ; Wed, 17 Nov 2021 02:41:28 -0800 (PST) Received: by mail-pl1-x62d.google.com with SMTP id y8so1794172plg.1 for ; Wed, 17 Nov 2021 02:41:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:mime-version; bh=BeTyAju2Nj/baYE+4+mavFN0tRAx0YiBlOw8hTfr5E8=; b=gUO507fSxfh97vrY1wEelh1bz6oR/ljH/rw3ix3JrMXKzQCJU/QtrJy8jVKgBUCsLY /c5rZb4KAwJfNP5F+EFbr0kgIddyExHR7wCQjW9hMKrsD/zoqaWDxhtGu91LtspqB4zo 1NK3TkvQ6W/7OXnCcVGlVo92F9TyuqFiMK7PY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version; bh=BeTyAju2Nj/baYE+4+mavFN0tRAx0YiBlOw8hTfr5E8=; b=KDOs02e9zlR6zqczI99ZDwySjs9jDLOjWIjPgldTgjl4ggntRa15Um1totkGHHgoZH HMlRIjzorIgueFj7z7uwqVGRyAHKD8GoLMkX+opIGNiF91dUbRO/NXPyBB6fn5EcrHOr 6yuDrYiWRcnZ50S/p143o5lN8lB8yP5WN/PD67xAM8xQCyYftz2tzGNUfgP8gj5wevwf eDjiig4wQH7g5iIURiCASWhGWcSkyJ7s4L/iMXM0rIb6i17dFeUQ8CORCy78TXr8BBvS RQruOCwZpUcpc7tNCUmt3Dn4e6ZQU//WeVXfKiungMPrHqXOLCQhPA2fWVMovJ4n1W72 hByg== X-Gm-Message-State: AOAM5305SEMj5hOSzKoNktC45+McxQc6+CspbFH4x5d67HMHJtTvlhzT GvZ6xB8MO8dpNdDPkxol7OVIXO4/H/l5yUrOpzeHJTHFQ5IdI6gI0TDEA4iN/rEOFS+IJNyjQbF sZFXnXUEUy+FmYQuJfFt7dw2yrdCUF6U4CTtF2kQAef2GGvS5dQEOn7cGyDaEL9KbQN/QUoBgEj Dwoi6GZ5Sb X-Google-Smtp-Source: ABdhPJzsYbxMPzLU96Kc6JMizcysSzAJx9pRjOvy3JoGFHAfDA0MGQFT75HE16kPIX+U71VPYCbkPw== X-Received: by 2002:a17:902:ce8f:b0:141:f85a:e0de with SMTP id f15-20020a170902ce8f00b00141f85ae0demr54256355plg.69.1637145687146; Wed, 17 Nov 2021 02:41:27 -0800 (PST) Received: from dhcp-10-123-20-36.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id g7sm18058424pfv.159.2021.11.17.02.41.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Nov 2021 02:41:26 -0800 (PST) From: Sreekanth Reddy To: linux-scsi@vger.kernel.org, martin.petersen@oracle.com Cc: Sreekanth Reddy Subject: [PATCH] mpt3sas:Fix kernel panic during drive powercycle test Date: Wed, 17 Nov 2021 16:19:09 +0530 Message-Id: <20211117104909.2069-1-sreekanth.reddy@broadcom.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org While looping over shost's sdev list it is possible that one of the drive is getting removed and it's sas_target object is freed but it's sdev object is still intact with the sdev list. So, kernel panic occurred while driver trying to access the sas_address field of sas_target object without checking the sas_target object for NULL pointer. Fixes: f92363d12359("mpt3sas: add new driver supporting 12GB SAS") Signed-off-by: Sreekanth Reddy --- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c index cee7170beae8..bb0036b41825 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c @@ -3869,7 +3869,7 @@ _scsih_ublock_io_device(struct MPT3SAS_ADAPTER *ioc, shost_for_each_device(sdev, ioc->shost) { sas_device_priv_data = sdev->hostdata; - if (!sas_device_priv_data) + if (!sas_device_priv_data || !sas_device_priv_data->sas_target) continue; if (sas_device_priv_data->sas_target->sas_address != sas_address)