linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dan Williams <dcbw@redhat.com>
To: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: linux-wireless@vger.kernel.org, stable@kernel.org,
	"John W. Linville" <linville@tuxdriver.com>,
	Chris Siebenmann <cks-rhbugzilla@cs.toronto.edu>
Subject: Re: [PATCH v2] airo: fix setting zero length WEP key
Date: Thu, 04 Feb 2010 15:56:13 -0800	[thread overview]
Message-ID: <1265327773.4290.43.camel@localhost.localdomain> (raw)
In-Reply-To: <20100204120713.GB6068@dhcp-lab-161.englab.brq.redhat.com>

On Thu, 2010-02-04 at 13:07 +0100, Stanislaw Gruszka wrote:
> Patch prevents call set_wep_key() with zero key length. That fix long
> standing regression since commit c0380693520b1a1e4f756799a0edc379378b462a
> "airo: clean up WEP key operations". Additionally print call trace when
> someone will try to use improper parameters, and remove key.len = 0
> assignment, because it is in not possible code path.

Could you send the hunk that touches airo_set_encode() separately
please?  That's obviously correct and an easy ack, but isn't really
related to the other hunks here.

Thanks,
Dan

> v1->v2
> Return instantly from set_wep_key() when keylen == 0.
> 
> Reported-and-bisected-by: Chris Siebenmann <cks-rhbugzilla@cs.toronto.edu>
> Cc: Dan Williams <dcbw@redhat.com>
> Cc: <stable@kernel.org>
> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
> ---
>  drivers/net/wireless/airo.c |   33 ++++++++++++++++++---------------
>  1 files changed, 18 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
> index 4331d67..01bffc2 100644
> --- a/drivers/net/wireless/airo.c
> +++ b/drivers/net/wireless/airo.c
> @@ -5254,11 +5254,8 @@ static int set_wep_key(struct airo_info *ai, u16 index, const char *key,
>  	WepKeyRid wkr;
>  	int rc;
>  
> -	if (keylen == 0) {
> -		airo_print_err(ai->dev->name, "%s: key length to set was zero",
> -			       __func__);
> +	if (WARN_ON(keylen == 0))
>  		return -1;
> -	}
>  
>  	memset(&wkr, 0, sizeof(wkr));
>  	wkr.len = cpu_to_le16(sizeof(wkr));
> @@ -6405,11 +6402,7 @@ static int airo_set_encode(struct net_device *dev,
>  		if (dwrq->length > MIN_KEY_SIZE)
>  			key.len = MAX_KEY_SIZE;
>  		else
> -			if (dwrq->length > 0)
> -				key.len = MIN_KEY_SIZE;
> -			else
> -				/* Disable the key */
> -				key.len = 0;
> +			key.len = MIN_KEY_SIZE;
>  		/* Check if the key is not marked as invalid */
>  		if(!(dwrq->flags & IW_ENCODE_NOKEY)) {
>  			/* Cleanup */
> @@ -6590,12 +6583,22 @@ static int airo_set_encodeext(struct net_device *dev,
>  		default:
>  			return -EINVAL;
>  		}
> -		/* Send the key to the card */
> -		rc = set_wep_key(local, idx, key.key, key.len, perm, 1);
> -		if (rc < 0) {
> -			airo_print_err(local->dev->name, "failed to set WEP key"
> -			               " at index %d: %d.", idx, rc);
> -			return rc;
> +		if (key.len == 0) {
> +			rc = set_wep_tx_idx(local, idx, perm, 1);
> +			if (rc < 0) {
> +				airo_print_err(local->dev->name,
> +					       "failed to set WEP transmit index to %d: %d.",
> +					       idx, rc);
> +				return rc;
> +			}
> +		} else {
> +			rc = set_wep_key(local, idx, key.key, key.len, perm, 1);
> +			if (rc < 0) {
> +				airo_print_err(local->dev->name,
> +					       "failed to set WEP key at index %d: %d.",
> +					       idx, rc);
> +				return rc;
> +			}
>  		}
>  	}
>  



  parent reply	other threads:[~2010-02-04 23:57 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-02 14:34 [PATCH] airo: fix setting zero length WEP key Stanislaw Gruszka
2010-02-02 18:32 ` Chris Siebenmann
2010-02-03 20:43 ` Dan Williams
2010-02-03 21:31   ` Chris Siebenmann
2010-02-04 21:44     ` Dan Williams
2010-02-04 22:10       ` Chris Siebenmann
2010-02-04 22:18         ` Dan Williams
2010-02-04 22:26           ` Chris Siebenmann
2010-02-04 22:39             ` Dan Williams
2010-02-04 22:42               ` Chris Siebenmann
2010-02-04 23:00                 ` Dan Williams
2010-02-04 23:03                   ` Chris Siebenmann
2010-02-04 23:26                     ` Dan Williams
2010-02-04 23:30                       ` Dan Williams
2010-02-04 23:36                       ` Chris Siebenmann
2010-02-05  6:57                         ` Dan Williams
2010-02-04 12:04   ` Stanislaw Gruszka
2010-02-04 12:07 ` [PATCH v2] " Stanislaw Gruszka
2010-02-04 16:41   ` Chris Siebenmann
2010-02-04 23:56   ` Dan Williams [this message]
2010-02-05  9:11     ` Stanislaw Gruszka
2010-02-05  6:59   ` Dan Williams
2010-02-05  7:06     ` [PATCH] airo: fix WEP key clearing after c0380693520b1a1e4f756799a0edc379378b462a Dan Williams
2010-02-05 16:26       ` Chris Siebenmann
2010-02-05 19:20         ` Dan Williams
2010-02-05 23:12           ` Chris Siebenmann
2010-02-08 23:47             ` Dan Williams
2010-02-09 16:25               ` Chris Siebenmann
2010-02-09 17:17               ` Chris Siebenmann
2010-02-08 20:55     ` [PATCH v2] airo: fix setting zero length WEP key John W. Linville
2010-02-08 23:44       ` Dan Williams
2010-02-08 20:53   ` John W. Linville
2010-02-09  8:27     ` [PATCH] airo: return from set_wep_key() when key length is zero Stanislaw Gruszka
2010-02-26 14:10     ` [PATCH resend] " Stanislaw Gruszka
2010-02-26 23:09       ` Dan Williams
2010-02-27  1:26         ` John W. Linville
2010-03-01  7:47           ` Stanislaw Gruszka
2010-02-26 23:09   ` [PATCH v2] airo: fix setting zero length WEP key Dan Williams

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=1265327773.4290.43.camel@localhost.localdomain \
    --to=dcbw@redhat.com \
    --cc=cks-rhbugzilla@cs.toronto.edu \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=sgruszka@redhat.com \
    --cc=stable@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).