[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