[Hardy, Intrepid, Jaunty LBM] SRU: Fix request_module on munged compat-wireless

Stefan Bader stefan.bader at canonical.com
Fri Feb 27 16:09:08 UTC 2009


Andy Whitcroft wrote:
> On Thu, Feb 26, 2009 at 12:09:12PM +0100, Stefan Bader wrote:
>> _NOTE_: There might be lurking similar glitches in all munged drivers!
>>
>>
>> https://bugs.launchpad.net/ubuntu/hardy/+source/linux-backports-modules-2.6.24/+bug/322434
>>
>> SRU justification:
>>
>> Impact: In order to have the wireless drivers from compat-wireless living 
>> beside of the ones that come with the stock kernel (or ubuntu modules) 
>> the mac80211 stack gets modified, so the exported symbols are unique and 
>> also the module names for the stack get prefixed. The modification missed 
>> out some request_module calls where the stack tries to get certain 
>> cryptographic algorithms (wep, pkip, ...). These calls still request the 
>> modules from the base package. However the loaded modules will not 
>> interact with the modified stack. This results in being able to see 
>> access points but always being asked for the passphrase.
>>
>> Fix: Adapt the munging script to find and replace the requested module names.
>>
>> Test: See bug report. Unable to connect to an encrypted AP with drivers 
>> from LBM (ipw2200 in that case).
>>
>> -- 
>>
>> When all other means of communication fail, try words!
>>
>>
> 
>> From b09c4ba0e218b8ff77e032352f304dc32d49c758 Mon Sep 17 00:00:00 2001
>> From: Stefan Bader <stefan.bader at canonical.com>
>> Date: Wed, 25 Feb 2009 18:04:50 +0100
>> Subject: [PATCH] UBUNTU: compat-wireless: Fix module load for crypto modules
>>  Bug: 322434
>>
>> Fix the MUNGE script to prefix the crypto module names with the default
>> prefix. Otherwise the standart modules will be loaded but those will
>> register with the standard stack, not the modified one.
>>
>> Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
>> ---
>>  updates/compat-wireless-2.6/MUNGE |    7 +++++++
>>  1 files changed, 7 insertions(+), 0 deletions(-)
>>
>> diff --git a/updates/compat-wireless-2.6/MUNGE b/updates/compat-wireless-2.6/MUNGE
>> index ffa5f59..14df399 100755
>> --- a/updates/compat-wireless-2.6/MUNGE
>> +++ b/updates/compat-wireless-2.6/MUNGE
>> @@ -90,3 +90,10 @@ ${COMPAT_PREFIX}cfg80211-\$(CONFIG_NL80211) += nl80211.o
>>  sed -i 's/^#define.*IWL3945_UCODE_API.*$/#define IWL3945_UCODE_API  "-1-lbm"/' drivers/net/wireless/iwlwifi/iwl-3945.h
>>  sed -i 's/^#define.*IWL4965_UCODE_API.*$/#define IWL4965_UCODE_API  "-2-lbm"/' drivers/net/wireless/iwlwifi/iwl-4965.c
>>  sed -i 's/^#define.*IWL5000_UCODE_API.*$/#define IWL5000_UCODE_API  "-1-lbm"/' drivers/net/wireless/iwlwifi/iwl-5000.c
>> +
>> +#
>> +# Also replace some automagic module loading.
>> +#
>> +sed -i -e 's/request_module("ieee/request_module("'$COMPAT_PREFIX'ieee/' \
>> +	-e 's/module = "ieee/module = "'$COMPAT_PREFIX'ieee/' \
>> +	net/ieee80211/ieee80211_wx.c
> 
> This seems rather vile to me, finding and replacing the modules = 'name'
> in the source.

It is a bit pragmatic. I did not want to change the process in principle. Not 
for a stable update.

 > For a stable update I guess it is ok as you presumably
 > ran it and did a git diff to see what mess it made.

  Not exactly a diff but there are only three places in that file in question 
that have "module =" and all of them need to be changed.

> Cirtainly the change makes sense, we are using modules from the standard
> wireless stack instead of our own.
> 
> ACK.
> 
> -apw


-- 

When all other means of communication fail, try words!






More information about the kernel-team mailing list