Message ID | 20211117213928.8634-1-michael.christie@oracle.com (mailing list archive) |
---|---|
State | Accepted |
Commit | e2a49a95b571d9d208f28a03d63353374e724f13 |
Headers | show |
Series | [1/1] target: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp use | expand |
On Wed, Nov 17, 2021 at 03:39:28PM -0600, Mike Christie wrote: > This fixes the sparse warnings about t10_alua_tg_pt_gp accesses in > target_core_spc.c from: > > commit 7324f47d4293 ("scsi: target: Replace lun_tg_pt_gp_lock with rcu in > I/O path") > > That patch replaced the lun_tg_pt_gp_lock use in the IO path, but didn't > update the INQUIRY code. > > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Mike Christie <michael.christie@oracle.com> > --- > drivers/target/target_core_spc.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/target/target_core_spc.c b/drivers/target/target_core_spc.c > index 22703a0dbd07..4c76498d3fb0 100644 > --- a/drivers/target/target_core_spc.c > +++ b/drivers/target/target_core_spc.c > @@ -40,11 +40,11 @@ static void spc_fill_alua_data(struct se_lun *lun, unsigned char *buf) > * > * See spc4r17 section 6.4.2 Table 135 > */ > - spin_lock(&lun->lun_tg_pt_gp_lock); > - tg_pt_gp = lun->lun_tg_pt_gp; > + rcu_read_lock(); > + tg_pt_gp = rcu_dereference(lun->lun_tg_pt_gp); > if (tg_pt_gp) > buf[5] |= tg_pt_gp->tg_pt_gp_alua_access_type; > - spin_unlock(&lun->lun_tg_pt_gp_lock); > + rcu_read_unlock(); > } > > static u16 > @@ -325,14 +325,14 @@ spc_emulate_evpd_83(struct se_cmd *cmd, unsigned char *buf) > * Get the PROTOCOL IDENTIFIER as defined by spc4r17 > * section 7.5.1 Table 362 > */ > - spin_lock(&lun->lun_tg_pt_gp_lock); > - tg_pt_gp = lun->lun_tg_pt_gp; > + rcu_read_lock(); > + tg_pt_gp = rcu_dereference(lun->lun_tg_pt_gp); > if (!tg_pt_gp) { > - spin_unlock(&lun->lun_tg_pt_gp_lock); > + rcu_read_unlock(); > goto check_lu_gp; > } > tg_pt_gp_id = tg_pt_gp->tg_pt_gp_id; > - spin_unlock(&lun->lun_tg_pt_gp_lock); > + rcu_read_unlock(); > > buf[off] = tpg->proto_id << 4; > buf[off++] |= 0x1; /* CODE SET == Binary */ > -- > 2.25.1 > Looks ok, Reviewed-by: Maurizio Lombardi <mlombard@redhat.com>
On Wed, 17 Nov 2021 15:39:28 -0600, Mike Christie wrote: > This fixes the sparse warnings about t10_alua_tg_pt_gp accesses in > target_core_spc.c from: > > commit 7324f47d4293 ("scsi: target: Replace lun_tg_pt_gp_lock with rcu in > I/O path") > > That patch replaced the lun_tg_pt_gp_lock use in the IO path, but didn't > update the INQUIRY code. > > [...] Applied to 5.16/scsi-fixes, thanks! [1/1] target: Use RCU helpers for INQUIRY t10_alua_tg_pt_gp use https://git.kernel.org/mkp/scsi/c/e2a49a95b571
diff --git a/drivers/target/target_core_spc.c b/drivers/target/target_core_spc.c index 22703a0dbd07..4c76498d3fb0 100644 --- a/drivers/target/target_core_spc.c +++ b/drivers/target/target_core_spc.c @@ -40,11 +40,11 @@ static void spc_fill_alua_data(struct se_lun *lun, unsigned char *buf) * * See spc4r17 section 6.4.2 Table 135 */ - spin_lock(&lun->lun_tg_pt_gp_lock); - tg_pt_gp = lun->lun_tg_pt_gp; + rcu_read_lock(); + tg_pt_gp = rcu_dereference(lun->lun_tg_pt_gp); if (tg_pt_gp) buf[5] |= tg_pt_gp->tg_pt_gp_alua_access_type; - spin_unlock(&lun->lun_tg_pt_gp_lock); + rcu_read_unlock(); } static u16 @@ -325,14 +325,14 @@ spc_emulate_evpd_83(struct se_cmd *cmd, unsigned char *buf) * Get the PROTOCOL IDENTIFIER as defined by spc4r17 * section 7.5.1 Table 362 */ - spin_lock(&lun->lun_tg_pt_gp_lock); - tg_pt_gp = lun->lun_tg_pt_gp; + rcu_read_lock(); + tg_pt_gp = rcu_dereference(lun->lun_tg_pt_gp); if (!tg_pt_gp) { - spin_unlock(&lun->lun_tg_pt_gp_lock); + rcu_read_unlock(); goto check_lu_gp; } tg_pt_gp_id = tg_pt_gp->tg_pt_gp_id; - spin_unlock(&lun->lun_tg_pt_gp_lock); + rcu_read_unlock(); buf[off] = tpg->proto_id << 4; buf[off++] |= 0x1; /* CODE SET == Binary */
This fixes the sparse warnings about t10_alua_tg_pt_gp accesses in target_core_spc.c from: commit 7324f47d4293 ("scsi: target: Replace lun_tg_pt_gp_lock with rcu in I/O path") That patch replaced the lun_tg_pt_gp_lock use in the IO path, but didn't update the INQUIRY code. Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Mike Christie <michael.christie@oracle.com> --- drivers/target/target_core_spc.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)