[SRU][Eoan] scsi: hisi_sas: Check sas_port before using it

Colin Ian King colin.king at canonical.com
Thu Dec 12 08:19:41 UTC 2019


On 12/12/2019 08:13, Ike Panhc wrote:
> From: Xiang Chen <chenxiang66 at hisilicon.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/1855952
> 
> This patch fixes a potential NULL pointer reference on Hisilicon
> SCSI host driver.
> 
> Need to check the structure sas_port before using it.
> 
> Link: https://lore.kernel.org/r/1573551059-107873-2-git-send-email-john.garry@huawei.com
> Signed-off-by: Xiang Chen <chenxiang66 at hisilicon.com>
> Signed-off-by: John Garry <john.garry at huawei.com>
> Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
> (cherry picked from commit 8c39673d5474b95374df2104dc1f65205c5278b8)
> Signed-off-by: Ike Panhc <ike.pan at canonical.com>
> ---
>  drivers/scsi/hisi_sas/hisi_sas_main.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
> index cb746cfc2fa8..4a991e79ff23 100644
> --- a/drivers/scsi/hisi_sas/hisi_sas_main.c
> +++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
> @@ -1000,12 +1000,13 @@ static void hisi_sas_port_notify_formed(struct asd_sas_phy *sas_phy)
>  	struct hisi_hba *hisi_hba = sas_ha->lldd_ha;
>  	struct hisi_sas_phy *phy = sas_phy->lldd_phy;
>  	struct asd_sas_port *sas_port = sas_phy->port;
> -	struct hisi_sas_port *port = to_hisi_sas_port(sas_port);
> +	struct hisi_sas_port *port;
>  	unsigned long flags;
>  
>  	if (!sas_port)
>  		return;
>  
> +	port = to_hisi_sas_port(sas_port);
>  	spin_lock_irqsave(&hisi_hba->lock, flags);
>  	port->port_attached = 1;
>  	port->id = phy->port_id;
> 

Makes perfect sense.

Acked-by: Colin Ian King <colin.king at canonical.com>



More information about the kernel-team mailing list