In the Linux kernel, the following vulnerability has been resolved: scsi: mpi3mr: Fix target device refcount leak in mpi3mr_sas_port_add() mpi3mr_get_tgtdev_by_addr() increments the target device kref when it returns a device. If a subsequent error triggers a goto out_fail after the tgtdev reference is acquired, the reference is never released because the out_fail path does not call mpi3mr_tgtdev_put(). This prevents the target device structure from ever being freed. Add a tgtdev put in the out_fail path, guarded by a NULL check since tgtdev is only acquired for SAS_END_DEVICE types and the same cleanup path is shared by earlier error cases where tgtdev is still NULL.
https://git.kernel.org/stable/c/419d129f970aaa6567dbac366b0c93784bf9ec97
https://git.kernel.org/stable/c/1ccbe8c42009706af79e6629c70d42fc929aef2b
https://git.kernel.org/stable/c/06a7073b33b8f5cb0ee71e07dc669efffb1c7d58
https://git.kernel.org/stable/c/040146f81d099006a354b0caacc7f01ca00f257e