> >  struct cfg80211_cached_keys {
> > -   struct key_params params[6];
> > -   u8 data[6][WLAN_MAX_KEY_LEN];
> > -   int def, defmgmt;
> > +   struct key_params params[4];
> > +   u8 data[4][WLAN_KEY_LEN_WEP104];
> > +   int def;
> >  };
> 
> As noted in our irc discussion, this is not really a good thing to
> do.
> WEXT compat code uses this structure for all ciphers, not just static
> WEP keys. BIP configuration can use key index 4-5 and the key lengths
> can go up to 32 bytes instead of WLAN_KEY_LEN_WEP104. In other words,
> this patch should be dropped or reverted since it causes kernel
> panics due to memory corruption when writing beyond this reduced size
> structure.

Yeah, this was obviously a mistake - and smatch even pointed it out to
me, but I *still* couldn't find it.

I've just sent a fix to *really* only store the WEP keys, which fixes
the issue (after I could reproduce it) for me.

johannes

Reply via email to