Re: NULL pointer deref at wext ioctl (Re: [PATCH] compat-2.6: adding ethtool.h to compat-2.6.31.h)

Hin-Tak Leung
2009-10-08T23:22:23Z

On Thu, Oct 8, 2009 at 2:43 PM, Luis R. Rodriguez
<lrodriguez@atheros.com> wrote:
> On Thu, Oct 8, 2009 at 7:50 AM, Johannes Berg <johannes@sipsolutions.net> wrote:
>> On Thu, 2009-10-08 at 11:51 +0200, Johannes Berg wrote:
>>
>>> Ok, that's odd. Is it possible that somehow cfg80211 is picking up an
>>> #ifdef'ed copy of "struct iw_handler_def", and thus the struct it is
>>> defining is simply too small?
>>
>> That is apparently what is happening since compat-wireless ships
>> iw_handler.h. This is wrong, as wext functionality is built into the
>> kernel image so you can't use a newer header file with it.
>
> Dah, thanks for looking into this! This must've been there this way
> for ages and we hadn't noticed until now. This is now fixed, and a new
> tarball pushed out. I'll fix on the stable stuff as well, although I
> doubt the header has changed much except now.
>
> Luis
>

Thanks everybody! Works alright now, after 'compat-2.6: stop shipping
bleeding edge iw_handler.h' .

There are some harmless warnings from using the old header, but
otherwise it is working as it should:
CC [M] /home/Hin-Tak/tmp-git/compat-wireless-2.6/net/wireless/sme.o
/home/Hin-Tak/tmp-git/compat-wireless-2.6/net/wireless/sme.c: In
function ‘__cfg80211_connect_result’:
/home/Hin-Tak/tmp-git/compat-wireless-2.6/net/wireless/sme.c:370:
warning: passing argument 4 of ‘wireless_send_event’ discards
qualifiers from pointer target type
include/net/iw_handler.h:443: note: expected ‘char *’ but argument is
of type ‘const u8 *’
/home/Hin-Tak/tmp-git/compat-wireless-2.6/net/wireless/sme.c:376:
warning: passing argument 4 of ‘wireless_send_event’ discards
qualifiers from pointer target type
include/net/iw_handler.h:443: note: expected ‘char *’ but argument is
of type ‘const u8 *’
/home/Hin-Tak/tmp-git/compat-wireless-2.6/net/wireless/sme.c: In
function ‘__cfg80211_roamed’:
/home/Hin-Tak/tmp-git/compat-wireless-2.6/net/wireless/sme.c:520:
warning: passing argument 4 of ‘wireless_send_event’ discards
qualifiers from pointer target type
include/net/iw_handler.h:443: note: expected ‘char *’ but argument is
of type ‘const u8 *’
/home/Hin-Tak/tmp-git/compat-wireless-2.6/net/wireless/sme.c:527:
warning: passing argument 4 of ‘wireless_send_event’ discards
qualifiers from pointer target type
include/net/iw_handler.h:443: note: expected ‘char *’ but argument is
of type ‘const u8 *’

Hin-Tak