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;
> + }
> }
> }
>
next prev 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).