lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Wed, 11 Aug 2010 23:15:58 +0930
From:	Rusty Russell <rusty@...tcorp.com.au>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org,
	Stephen Rothwell <sfr@...b.auug.org.au>,
	Sachin Sant <sachinp@...ibm.com>
Subject: [PULL] Module parameter bugfixes and cleanups

This fixes some longstanding bugs in the module parameter code: these
patches date from over 6 months ago and have been in linux-next.

We currently leak memory on setting a charp parameter via sysfs, since there
was no way of stopping those writes while accessing parameters.  To fix this
we create an ops structure, add a ->free routine to it, and implement locking
primitives for drivers.  This doesn't effect trivial parameter usage, but I
fix up the more boutique ones rather than write a compat layer.

Many cleanups along the way, including documentation.

The following changes since commit 3d30701b58970425e1d45994d6cb82f828924fdd:
  Linus Torvalds (1):
        Merge branch 'for-linus' of git://neil.brown.name/md

are available in the git repository at:

  ssh://master.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus.git params

Rusty Russell (19):
      documentation: fix erroneous email address.
      params: don't hand NULL values to param.set callbacks.
      param: move the EXPORT_SYMBOL to after the definitions.
      param: use ops in struct kernel_param, rather than get and set fns directly
      param: silence .init.text references from param ops
      param: add a free hook to kernel_param_ops.
      param: use free hook for charp (fix leak of charp parameters)
      param: make param sections const.
      param: locking for kernel parameters
      param: add kerneldoc to moduleparam.h
      param: remove unnecessary writable charp
      param: simple locking for sysfs-writable charp parameters
      param: lock myri10ge_fw_name against sysfs changes.
      param: lock if_sdio's lbs_helper_name and lbs_fw_name against sysfs changes.
      param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme
      ide: use module_param_named rather than module_param_call
      param: use module_param in drivers/message/fusion/mptbase.c
      param: update drivers/acpi/debug.c to new scheme
      param: don't deref arg in __same_type() checks

Sachin Sant (1):
      Add param ops struct for hvc_iucv driver.

Stephen Rothwell (2):
      AppArmor: update for module_param_named API change
      nfs: update for module_param_named API change

 Documentation/cpu-hotplug.txt             |    2 +-
 arch/um/drivers/hostaudio_kern.c          |   10 +
 drivers/acpi/debug.c                      |   32 +++-
 drivers/char/hvc_iucv.c                   |    9 +-
 drivers/char/ipmi/ipmi_watchdog.c         |   42 +++--
 drivers/ide/ide.c                         |   20 ++-
 drivers/input/misc/ati_remote2.c          |   26 ++-
 drivers/input/mouse/psmouse-base.c        |   14 +-
 drivers/message/fusion/mptbase.c          |    3 +-
 drivers/misc/lkdtm.c                      |    4 +-
 drivers/net/myri10ge/myri10ge.c           |   54 ++++--
 drivers/net/wireless/libertas/if_sdio.c   |   32 +++-
 drivers/net/wireless/libertas/if_usb.c    |    3 +
 drivers/net/wireless/libertas_tf/if_usb.c |    3 +
 drivers/scsi/bfa/bfad.c                   |    2 +
 drivers/staging/rtl8187se/r8180_core.c    |    6 +-
 drivers/staging/rtl8192e/r8192E_core.c    |    6 +-
 drivers/staging/rtl8192su/r8192U_core.c   |    6 +-
 drivers/usb/atm/ueagle-atm.c              |    2 +
 drivers/video/uvesafb.c                   |    7 +-
 drivers/video/vt8623fb.c                  |    2 +
 fs/nfs/callback.c                         |   11 +-
 include/linux/moduleparam.h               |  288 ++++++++++++++++++++++-------
 init/main.c                               |    8 +-
 kernel/params.c                           |  233 ++++++++++++++++-------
 net/mac80211/rate.c                       |    2 +
 net/sunrpc/auth.c                         |    9 +-
 net/sunrpc/xprtsock.c                     |   26 ++-
 scripts/mod/modpost.c                     |   13 ++
 security/apparmor/lsm.c                   |   36 +++--
 30 files changed, 658 insertions(+), 253 deletions(-)

commit d2800800d795350435936b08afb402ed9aab1e66
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:08 2010 -0600

    documentation: fix erroneous email address.
    
    Hey, at least it has both l's.
    
    Reported-by: Marin Mitov <mitov@...p.bas.bg>
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>

 Documentation/cpu-hotplug.txt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2e9fb9953df91ef6310da22182ca8f4496907502
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:10 2010 -0600

    params: don't hand NULL values to param.set callbacks.
    
    An audit by Dongdong Deng revealed that most driver-author-written param
    calls don't handle val == NULL (which happens when parameters are specified
    with no =, eg "foo" instead of "foo=1").
    
    The only real case to use this is boolean, so handle it specially for that
    case and remove a source of bugs for everyone else.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Cc: Dongdong Deng <dongdong.deng@...driver.com>
    Cc: Américo Wang <xiyou.wangcong@...il.com>

 kernel/params.c |   20 +++-----------------
 1 files changed, 3 insertions(+), 17 deletions(-)

commit a14fe249a8f74269c9e636bcbaa78f5bdb354ce3
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:11 2010 -0600

    param: move the EXPORT_SYMBOL to after the definitions.
    
    This is modern style, and good to do before we start changing things.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>

 kernel/params.c |   39 +++++++++++++--------------------------
 1 files changed, 13 insertions(+), 26 deletions(-)

commit 9bbb9e5a33109b2832e2e63dcc7a132924ab374b
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:12 2010 -0600

    param: use ops in struct kernel_param, rather than get and set fns directly
    
    This is more kernel-ish, saves some space, and also allows us to
    expand the ops without breaking all the callers who are happy for the
    new members to be NULL.
    
    The few places which defined their own param types are changed to the
    new scheme (more which crept in recently fixed in following patches).
    
    Since we're touching them anyway, we change get() and set() to take a
    const struct kernel_param (which they really are).  This causes some
    harmless warnings until we fix them (in following patches).
    
    To reduce churn, module_param_call creates the ops struct so the callers
    don't have to change (and casts the functions to reduce warnings).
    The modern version which takes an ops struct is called module_param_cb.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>
    Cc: "David S. Miller" <davem@...emloft.net>
    Cc: Ville Syrjala <syrjala@....fi>
    Cc: Dmitry Torokhov <dmitry.torokhov@...il.com>
    Cc: Alessandro Rubini <rubini@...vis.unipv.it>
    Cc: Michal Januszewski <spock@...too.org>
    Cc: Trond Myklebust <Trond.Myklebust@...app.com>
    Cc: "J. Bruce Fields" <bfields@...ldses.org>
    Cc: Neil Brown <neilb@...e.de>
    Cc: linux-kernel@...r.kernel.org
    Cc: linux-input@...r.kernel.org
    Cc: linux-fbdev-devel@...ts.sourceforge.net
    Cc: linux-nfs@...r.kernel.org
    Cc: netdev@...r.kernel.org

 drivers/input/misc/ati_remote2.c   |   26 +++++---
 drivers/input/mouse/psmouse-base.c |   14 +++--
 drivers/video/uvesafb.c            |    7 +-
 fs/nfs/callback.c                  |   11 ++--
 include/linux/moduleparam.h        |  123 ++++++++++++++++++++++--------------
 kernel/params.c                    |   90 ++++++++++++++++++--------
 net/sunrpc/xprtsock.c              |   26 +++++---
 7 files changed, 186 insertions(+), 111 deletions(-)

commit 101d6c826fa03266f8538ea4f6a459190e6863e8
Author: Stephen Rothwell <sfr@...b.auug.org.au>
Date:   Mon Aug 2 12:00:43 2010 +1000

    AppArmor: update for module_param_named API change
    
    Fixes these build errors:
    security/apparmor/lsm.c:701: error: 'param_ops_aabool' undeclared here (not in a function)
    security/apparmor/lsm.c:721: error: 'param_ops_aalockpolicy' undeclared here (not in a function)
    security/apparmor/lsm.c:729: error: 'param_ops_aauint' undeclared here (not in a function)
    
    Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
    Signed-off-by: John Johansen <john.johansen@...onical.com>
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>

 security/apparmor/lsm.c |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

commit 8e4e15d44a817e9f02cb04a6cd6c0ee77ed3fbd8
Author: Stephen Rothwell <sfr@...b.auug.org.au>
Date:   Wed Aug 4 12:11:22 2010 +1000

    nfs: update for module_param_named API change
    
    After merging the rr tree, today's linux-next build (powerpc
    ppc64_defconfig) failed like this:
    
    net/sunrpc/auth.c:74: error: 'param_ops_hashtbl_sz' undeclared here (not in a function)
    
    Caused by commit 0685652df0929cec7d78efa85127f6eb34962132
    ("param:param_ops") interacting with commit
    f8f853ab19fcc415b6eadd273373edc424916212 ("SUNRPC: Make the credential
    cache hashtable size configurable") from the nfs tree.
    
    Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>

 net/sunrpc/auth.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

commit 549a8a030693912d5ec4106c2f538593c482a1e4
Author: Sachin Sant <sachinp@...ibm.com>
Date:   Tue Nov 17 18:51:03 2009 +0530

    Add param ops struct for hvc_iucv driver.
    
    Today's next 20091117 build failed on s390 with
    
    drivers/char/hvc_iucv.c:1331: error: 'param_ops_vmidfilter' undeclared here (not in a function)
    make[2]: *** [drivers/char/hvc_iucv.o] Error 1
    
    Most probably caused by commit 684a6d340b8a5767db4670031b0f39455346018a
    (param:param_ops) which introduced a param_ops structure.
    
    The following compile tested patch adds a param_ops structure for hvc_iucv.
    
    Signed-off-by: Sachin Sant <sachinp@...ibm.com>
    Acked-by: Heiko Carstens <heiko.carstens@...ibm.com>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>

 drivers/char/hvc_iucv.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

commit 6a841528d288ac420052f5c98fd426b0fcdc5b52
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:16 2010 -0600

    param: silence .init.text references from param ops
    
    Ideally, we'd check that it was only the "set" function which was __init,
    and that the permissions were r/o.  But that's a little hard.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Acked-by: Sam Ravnborg <sam@...nborg.org>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>

 scripts/mod/modpost.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit e6df34a4429b77fdffb6e05adf263468a3dcda33
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:17 2010 -0600

    param: add a free hook to kernel_param_ops.
    
    This allows us to generalize the KPARAM_KMALLOCED flag, by calling a function
    on every parameter when a module is unloaded.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>

 include/linux/moduleparam.h |    2 ++
 kernel/params.c             |   17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 1 deletions(-)

commit a1054322afc8120ea5a50bc84e5beeda54571862
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:18 2010 -0600

    param: use free hook for charp (fix leak of charp parameters)
    
    Instead of using a "I kmalloced this" flag, we keep track of the kmalloced
    strings and use that list to check if we need to kfree (in practice, the
    list is very short).
    
    This means that kparams can be const again, and plugs a leak.  This
    is important for drivers/usb/gadget/nokia.c which gets modprobe/rmmod'ed
    frequently on the N9000.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Cc: Artem Bityutskiy <dedekind1@...il.com>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>

 kernel/params.c |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 50 insertions(+), 2 deletions(-)

commit 914dcaa84c53f2c3efa6016efcae13fd92a8a17c
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:18 2010 -0600

    param: make param sections const.
    
    Since this section can be read-only (they're in .rodata), they should
    always have been const.  Minor flow-through various functions.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>

 include/linux/moduleparam.h |    2 +-
 init/main.c                 |    8 ++++----
 kernel/params.c             |    4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

commit 907b29eb41aa604477a655bff7345731da94514d
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:19 2010 -0600

    param: locking for kernel parameters
    
    There may be cases (most obviously, sysfs-writable charp parameters) where
    a module needs to prevent sysfs access to parameters.
    
    Rather than express this in terms of a big lock, the functions are
    expressed in terms of what they protect against.  This is clearer, esp.
    if the implementation changes to a module-level or even param-level lock.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>

 include/linux/moduleparam.h |   56 +++++++++++++++++++++++++++++++++++++++++++
 kernel/params.c             |   33 ++++++++++++++++++++-----
 2 files changed, 82 insertions(+), 7 deletions(-)

commit 546970bc6afc7fb37447fbac09b82c7884662c21
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:20 2010 -0600

    param: add kerneldoc to moduleparam.h
    
    Also reorders the macros with the most common ones at the top.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>

 include/linux/moduleparam.h |  121 +++++++++++++++++++++++++++++++++---------
 1 files changed, 95 insertions(+), 26 deletions(-)

commit dca41306395eab37e222ff9e72765e692fcc7251
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:21 2010 -0600

    param: remove unnecessary writable charp
    
    sysfs-writable charp arguments need to be locked against modification
    (since the old ones may be kfreed underneath us).  String arguments
    are much simpler, so use them for small strings (eg. IFNAMSIZ).
    
    lkdtm only uses the parameters at module initialization time, so there's
    not much point making them writable.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>
    Cc: Andrew Morton <akpm@...ux-foundation.org>
    Cc: M. Mohan Kumar <mohan@...ibm.com>
    Cc: Greg Kroah-Hartman <gregkh@...e.de>
    Cc: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
    Cc: Jeff Mahoney <jeffm@...e.com>
    Cc: Julia Lawall <julia@...u.dk>
    Cc: devel@...verdev.osuosl.org

 drivers/misc/lkdtm.c                    |    4 ++--
 drivers/staging/rtl8187se/r8180_core.c  |    6 +++---
 drivers/staging/rtl8192e/r8192E_core.c  |    6 +++---
 drivers/staging/rtl8192su/r8192U_core.c |    6 +++---
 4 files changed, 11 insertions(+), 11 deletions(-)

commit d6d1b650ae6acce73d55dd0246de22180303ae73
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:27 2010 -0600

    param: simple locking for sysfs-writable charp parameters
    
    Since the writing to sysfs can free the old one, we need to block that
    when we access the charp variables.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Tested-by: Phil Carmody <ext-phil.2.carmody@...ia.com>
    Cc: Jeff Dike <jdike@...toit.com>
    Cc: Dan Williams <dcbw@...hat.com>
    Cc: John W. Linville <linville@...driver.com>
    Cc: Jing Huang <huangj@...cade.com>
    Cc: James E.J. Bottomley <James.Bottomley@...e.de>
    Cc: Greg Kroah-Hartman <gregkh@...e.de>
    Cc: Johannes Berg <johannes@...solutions.net>
    Cc: David S. Miller <davem@...emloft.net>
    Cc: user-mode-linux-devel@...ts.sourceforge.net
    Cc: libertas-dev@...ts.infradead.org
    Cc: linux-wireless@...r.kernel.org
    Cc: netdev@...r.kernel.org
    Cc: linux-scsi@...r.kernel.org
    Cc: linux-usb@...r.kernel.org

 arch/um/drivers/hostaudio_kern.c          |   10 ++++++++++
 drivers/net/wireless/libertas/if_usb.c    |    3 +++
 drivers/net/wireless/libertas_tf/if_usb.c |    3 +++
 drivers/scsi/bfa/bfad.c                   |    2 ++
 drivers/usb/atm/ueagle-atm.c              |    2 ++
 drivers/video/vt8623fb.c                  |    2 ++
 net/mac80211/rate.c                       |    2 ++
 7 files changed, 24 insertions(+), 0 deletions(-)

commit 7d3510356b066bcfa9898ec3f90c9c7810ba6ed7
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:31 2010 -0600

    param: lock myri10ge_fw_name against sysfs changes.
    
    Since it can be changed via sysfs, we need to make a copy.  This most
    generic way of doing this is to keep a flag so we know when to free it.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Cc: Andrew Gallatin <gallatin@...i.com>
    Cc: Brice Goglin <brice@...i.com>
    Cc: netdev@...r.kernel.org

 drivers/net/myri10ge/myri10ge.c |   54 +++++++++++++++++++++++++++++---------
 1 files changed, 41 insertions(+), 13 deletions(-)

commit 886275ce41a9751117367fb387ed171049eb6148
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:33 2010 -0600

    param: lock if_sdio's lbs_helper_name and lbs_fw_name against sysfs changes.
    
    Since it can be changed via sysfs, we need to make a copy.  This most
    generic way of doing this is to keep a flag so we know when to free it.
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>
    Cc: Dan Williams <dcbw@...hat.com>
    Cc: John W. Linville <linville@...driver.com>
    Cc: libertas-dev@...ts.infradead.org
    Cc: linux-wireless@...r.kernel.org
    Cc: netdev@...r.kernel.org

 drivers/net/wireless/libertas/if_sdio.c |   32 +++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 2 deletions(-)

commit c8ba6c52e19c13c2b6fb9ca9e5188799c753914c
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:37 2010 -0600

    param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme
    
    This is one of the most interesting users of module parameters in the
    tree, so weaning it off the old-style non-const module_param_call
    scheme is a useful exercise.
    
    I was confused by set_param_int/get_param_int (vs. the normal
    param_set_int and param_get_int), so I renamed set_param_int to
    set_param_timeout, and re-used param_get_int directly instead of
    get_param_int.  I also implemented param_check_wdog_ifnum and
    param_check_timeout, so now the ifnum_to_use and timeout/pretimeout
    parameters can just use plain module_param().
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Cc: Corey Minyard <minyard@....org>
    Cc: openipmi-developer@...ts.sourceforge.net

 drivers/char/ipmi/ipmi_watchdog.c |   42 +++++++++++++++++++++++-------------
 1 files changed, 27 insertions(+), 15 deletions(-)

commit 1a8bff5b404909436fcf03cac167a76ceaaa5547
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:38 2010 -0600

    ide: use module_param_named rather than module_param_call
    
    It has the additional benefit of typechecking (in this case, an unsigned int).
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>

 drivers/ide/ide.c |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

commit 57ba4717f2fe3ed441f3225dd9e05f6a0419fb6c
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:39 2010 -0600

    param: use module_param in drivers/message/fusion/mptbase.c
    
    No need to open code this!
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
    Reviewed-by: Takashi Iwai <tiwai@...e.de>

 drivers/message/fusion/mptbase.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 4ef2db016aab27af05a95aeab1c30ad3f2fed7b9
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:39 2010 -0600

    param: update drivers/acpi/debug.c to new scheme
    
    The new module_param_cb() uses an ops struct, and the ops take a
    const struct kernel_param pointer (it's in .rodata).
    
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>

 drivers/acpi/debug.c |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

commit a6de51b2787012ba3ab62c7d50df1b749b83d5f0
Author: Rusty Russell <rusty@...tcorp.com.au>
Date:   Wed Aug 11 23:04:40 2010 -0600

    param: don't deref arg in __same_type() checks
    
    gcc allows this when arg is a function, but sparse complains:
    
    drivers/char/ipmi/ipmi_watchdog.c:303:1: error: cannot dereference this type
    drivers/char/ipmi/ipmi_watchdog.c:307:1: error: cannot dereference this type
    drivers/char/ipmi/ipmi_watchdog.c:311:1: error: cannot dereference this type
    
    Reported-by: Randy Dunlap <randy.dunlap@...cle.com>
    Tested-by: Randy Dunlap <randy.dunlap@...cle.com>
    Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>

 include/linux/moduleparam.h |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ