All of lore.kernel.org
 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 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.