On Sun, 2015-03-29 at 23:11 -0700, Ming Lin wrote: > Currently, for example, mkdir "tpgt_xyz" doesn't return error. > mkdir /sys/kernel/config/target/loopback/naa.60014055f195952b/tpgt_xyz > > Replace obsoleted simple_strtoul with kstrtoul and check the conversion. > > Signed-off-by: Ming Lin <mlin@xxxxxxxxxx> > --- Applied to target-pending/for-next. Thanks Ming! --nab > drivers/target/loopback/tcm_loop.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c > index 6b3c329..b461988 100644 > --- a/drivers/target/loopback/tcm_loop.c > +++ b/drivers/target/loopback/tcm_loop.c > @@ -1168,21 +1168,19 @@ static struct se_portal_group *tcm_loop_make_naa_tpg( > struct tcm_loop_hba *tl_hba = container_of(wwn, > struct tcm_loop_hba, tl_hba_wwn); > struct tcm_loop_tpg *tl_tpg; > - char *tpgt_str, *end_ptr; > int ret; > - unsigned short int tpgt; > + unsigned long tpgt; > > - tpgt_str = strstr(name, "tpgt_"); > - if (!tpgt_str) { > + if (strstr(name, "tpgt_") != name) { > pr_err("Unable to locate \"tpgt_#\" directory" > " group\n"); > return ERR_PTR(-EINVAL); > } > - tpgt_str += 5; /* Skip ahead of "tpgt_" */ > - tpgt = (unsigned short int) simple_strtoul(tpgt_str, &end_ptr, 0); > + if (kstrtoul(name+5, 10, &tpgt)) > + return ERR_PTR(-EINVAL); > > if (tpgt >= TL_TPGS_PER_HBA) { > - pr_err("Passed tpgt: %hu exceeds TL_TPGS_PER_HBA:" > + pr_err("Passed tpgt: %lu exceeds TL_TPGS_PER_HBA:" > " %u\n", tpgt, TL_TPGS_PER_HBA); > return ERR_PTR(-EINVAL); > } > @@ -1199,7 +1197,7 @@ static struct se_portal_group *tcm_loop_make_naa_tpg( > return ERR_PTR(-ENOMEM); > > pr_debug("TCM_Loop_ConfigFS: Allocated Emulated %s" > - " Target Port %s,t,0x%04x\n", tcm_loop_dump_proto_id(tl_hba), > + " Target Port %s,t,0x%04lx\n", tcm_loop_dump_proto_id(tl_hba), > config_item_name(&wwn->wwn_group.cg_item), tpgt); > > return &tl_tpg->tl_se_tpg; -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html