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

Andy Whitcroft apw at canonical.com
Fri Feb 27 15:59:31 UTC 2009


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.  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.

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

ACK.

-apw




More information about the kernel-team mailing list