All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer@redhat.com>
To: Goldwyn Rodrigues <rgoldwyn@suse.de>
Cc: dm-devel@redhat.com
Subject: Re: [PATCH 1/2] dm-flakey: Use as->argc instead of argc
Date: Fri, 5 Jan 2018 16:59:47 -0500	[thread overview]
Message-ID: <20180105215946.GA22028@redhat.com> (raw)
In-Reply-To: <20171204031412.2435-1-rgoldwyn@suse.de>

On Sun, Dec 03 2017 at 10:14pm -0500,
Goldwyn Rodrigues <rgoldwyn@suse.de> wrote:

> From: Goldwyn Rodrigues <rgoldwyn@suse.com>
> 
> Since arguments are divided in argument sets, using argc
> fails corrupt_bio_byte because it is zero. We should
> be using as->argc to check the number of arguments.
> 
> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
> ---
>  drivers/md/dm-flakey.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/drivers/md/dm-flakey.c b/drivers/md/dm-flakey.c
> index b82cb1ab1eaa..e18c29672a88 100644
> --- a/drivers/md/dm-flakey.c
> +++ b/drivers/md/dm-flakey.c
> @@ -105,7 +105,7 @@ static int parse_features(struct dm_arg_set *as, struct flakey_c *fc,
>  		 * corrupt_bio_byte <Nth_byte> <direction> <value> <bio_flags>
>  		 */
>  		if (!strcasecmp(arg_name, "corrupt_bio_byte")) {
> -			if (!argc) {
> +			if (as->argc < 4) {
>  				ti->error = "Feature corrupt_bio_byte requires parameters";
>  				return -EINVAL;
>  			}
> @@ -113,7 +113,6 @@ static int parse_features(struct dm_arg_set *as, struct flakey_c *fc,
>  			r = dm_read_arg(_args + 1, as, &fc->corrupt_bio_byte, &ti->error);
>  			if (r)
>  				return r;
> -			argc--;
>  
>  			/*
>  			 * Direction r or w?
> @@ -127,7 +126,6 @@ static int parse_features(struct dm_arg_set *as, struct flakey_c *fc,
>  				ti->error = "Invalid corrupt bio direction (r or w)";
>  				return -EINVAL;
>  			}
> -			argc--;
>  
>  			/*
>  			 * Value of byte (0-255) to write in place of correct one.
> @@ -135,7 +133,6 @@ static int parse_features(struct dm_arg_set *as, struct flakey_c *fc,
>  			r = dm_read_arg(_args + 2, as, &fc->corrupt_bio_value, &ti->error);
>  			if (r)
>  				return r;
> -			argc--;
>  
>  			/*
>  			 * Only corrupt bios with these flags set.
> @@ -143,7 +140,6 @@ static int parse_features(struct dm_arg_set *as, struct flakey_c *fc,
>  			r = dm_read_arg(_args + 3, as, &fc->corrupt_bio_flags, &ti->error);
>  			if (r)
>  				return r;
> -			argc--;
>  
>  			continue;
>  		}

This is wrong.  The outer control loop is using argc.  Therefore it
needs to be managed.

But I'll grant you that the check should be "argc < 4" rather than the
less precise "!argc" check.

Mike

      parent reply	other threads:[~2018-01-05 21:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-04  3:14 [PATCH 1/2] dm-flakey: Use as->argc instead of argc Goldwyn Rodrigues
2017-12-04  3:14 ` [PATCH 2/2] dm-flakey: Check for null arg_name Goldwyn Rodrigues
2018-01-05 21:59 ` Mike Snitzer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180105215946.GA22028@redhat.com \
    --to=snitzer@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=rgoldwyn@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.