Re: [PATCH] target/configfs: handle match_int() errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi David,

On Sun, 2015-07-12 at 18:49 +0200, David Disseldorp wrote:
> As a follow up to ce31c1b0dc4038a1dec64585d892adb73d9c45f4 - there are
> still a few LIO match_int() calls that don't check the return value.
> Propagate errors rather than using the potentially uninitialised result.
> 
> Signed-off-by: David Disseldorp <ddiss@xxxxxxx>
> ---
>  drivers/target/target_core_configfs.c | 32 ++++++++++++++++++++++++--------
>  1 file changed, 24 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c
> index 0b0de36..49894d4 100644
> --- a/drivers/target/target_core_configfs.c
> +++ b/drivers/target/target_core_configfs.c
> @@ -1658,22 +1658,32 @@ static ssize_t target_core_dev_pr_store_attr_res_aptpl_metadata(
>  		 * PR APTPL Metadata for Reservation
>  		 */
>  		case Opt_res_holder:
> -			match_int(args, &arg);
> +			ret = match_int(args, &arg);
> +			if (ret)
> +				goto out;
>  			res_holder = arg;
>  			break;
>  		case Opt_res_type:
> -			match_int(args, &arg);
> +			ret = match_int(args, &arg);
> +			if (ret)
> +				goto out;
>  			type = (u8)arg;
>  			break;
>  		case Opt_res_scope:
> -			match_int(args, &arg);
> +			ret = match_int(args, &arg);
> +			if (ret)
> +				goto out;
>  			break;
>  		case Opt_res_all_tg_pt:
> -			match_int(args, &arg);
> +			ret = match_int(args, &arg);
> +			if (ret)
> +				goto out;
>  			all_tg_pt = (int)arg;
>  			break;
>  		case Opt_mapped_lun:
> -			match_int(args, &arg);
> +			ret = match_int(args, &arg);
> +			if (ret)
> +				goto out;
>  			mapped_lun = (u64)arg;
>  			break;
>  		/*
> @@ -1701,14 +1711,20 @@ static ssize_t target_core_dev_pr_store_attr_res_aptpl_metadata(
>  			}
>  			break;
>  		case Opt_tpgt:
> -			match_int(args, &arg);
> +			ret = match_int(args, &arg);
> +			if (ret)
> +				goto out;
>  			tpgt = (u16)arg;
>  			break;
>  		case Opt_port_rtpi:
> -			match_int(args, &arg);
> +			ret = match_int(args, &arg);
> +			if (ret)
> +				goto out;
>  			break;
>  		case Opt_target_lun:
> -			match_int(args, &arg);
> +			ret = match_int(args, &arg);
> +			if (ret)
> +				goto out;
>  			target_lun = (u64)arg;
>  			break;
>  		default:

Looks fine.  Applied to target-pending/master, and will include in the
next v4.2-rc PULL request.

Thank you,

--nab

--
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



[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux