19 Dec, 2012

1 commit

  • Pull module update from Rusty Russell:
    "Nothing all that exciting; a new module-from-fd syscall for those who
    want to verify the source of the module (ChromeOS) and/or use standard
    IMA on it or other security hooks."

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    MODSIGN: Fix kbuild output when using default extra_certificates
    MODSIGN: Avoid using .incbin in C source
    modules: don't hand 0 to vmalloc.
    module: Remove a extra null character at the top of module->strtab.
    ASN.1: Use the ASN1_LONG_TAG and ASN1_INDEFINITE_LENGTH constants
    ASN.1: Define indefinite length marker constant
    moduleparam: use __UNIQUE_ID()
    __UNIQUE_ID()
    MODSIGN: Add modules_sign make target
    powerpc: add finit_module syscall.
    ima: support new kernel module syscall
    add finit_module syscall to asm-generic
    ARM: add finit_module syscall to ARM
    security: introduce kernel_module_from_file hook
    module: add flags arg to sys_finit_module()
    module: add syscall to load module from fd

    Linus Torvalds
     

18 Dec, 2012

1 commit


14 Dec, 2012

5 commits

  • In commit d0a21265dfb5fa8a David Rientjes unified various archs'
    module_alloc implementation (including x86) and removed the graduitous
    shortcut for size == 0.

    Then, in commit de7d2b567d040e3b, Joe Perches added a warning for
    zero-length vmallocs, which can happen without kallsyms on modules
    with no init sections (eg. zlib_deflate).

    Fix this once and for all; the module code has to handle zero length
    anyway, so get it right at the caller and remove the now-gratuitous
    checks within the arch-specific module_alloc implementations.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42608
    Reported-by: Conrad Kostecki
    Cc: David Rientjes
    Cc: Joe Perches
    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • There is a extra null character('\0') at the top of module->strtab for
    each module. Commit 59ef28b introduced this bug and this patch fixes it.

    Live dump log of the current linus git kernel(HEAD is 2844a4870):
    ============================================================================
    crash> mod | grep loop
    ffffffffa01db0a0 loop 16689 (not loaded) [CONFIG_KALLSYMS]
    crash> module.core_symtab ffffffffa01db0a0
    core_symtab = 0xffffffffa01db320crash> rd 0xffffffffa01db320 12
    ffffffffa01db320: 0000005500000001 0000000000000000 ....U...........
    ffffffffa01db330: 0000000000000000 0002007400000002 ............t...
    ffffffffa01db340: ffffffffa01d8000 0000000000000038 ........8.......
    ffffffffa01db350: 001a00640000000e ffffffffa01daeb0 ....d...........
    ffffffffa01db360: 00000000000000a0 0002007400000019 ............t...
    ffffffffa01db370: ffffffffa01d8068 000000000000001b h...............
    crash> module.core_strtab ffffffffa01db0a0
    core_strtab = 0xffffffffa01dbb30 ""
    crash> rd 0xffffffffa01dbb30 4
    ffffffffa01dbb30: 615f70616d6b0000 66780063696d6f74 ..kmap_atomic.xf
    ffffffffa01dbb40: 73636e75665f7265 72665f646e696600 er_funcs.find_fr
    ============================================================================

    We expect Just first one byte of '\0', but actually first two bytes
    are '\0'. Here is The relationship between symtab and strtab.

    symtab_idx strtab_idx symbol
    -----------------------------------------------
    0 0x1 "\0" # startab_idx should be 0
    1 0x2 "kmap_atomic"
    2 0xe "xfer_funcs"
    3 0x19 "find_fr..."

    By applying this patch, it becomes as follows.

    symtab_idx strtab_idx symbol
    -----------------------------------------------
    0 0x0 "\0" # extra byte is removed
    1 0x1 "kmap_atomic"
    2 0xd "xfer_funcs"
    3 0x18 "find_fr..."

    Signed-off-by: Satoru Takeuchi
    Cc: Masaki Kimura
    Cc: Rusty Russell
    Cc: Greg Kroah-Hartman
    Signed-off-by: Rusty Russell

    Satoru Takeuchi
     
  • Now that kernel module origins can be reasoned about, provide a hook to
    the LSMs to make policy decisions about the module file. This will let
    Chrome OS enforce that loadable kernel modules can only come from its
    read-only hash-verified root filesystem. Other LSMs can, for example,
    read extended attributes for signatures, etc.

    Signed-off-by: Kees Cook
    Acked-by: Serge E. Hallyn
    Acked-by: Eric Paris
    Acked-by: Mimi Zohar
    Acked-by: James Morris
    Signed-off-by: Rusty Russell

    Kees Cook
     
  • Thanks to Michael Kerrisk for keeping us honest. These flags are actually
    useful for eliminating the only case where kmod has to mangle a module's
    internals: for overriding module versioning.

    Signed-off-by: Rusty Russell
    Acked-by: Lucas De Marchi
    Acked-by: Kees Cook

    Rusty Russell
     
  • As part of the effort to create a stronger boundary between root and
    kernel, Chrome OS wants to be able to enforce that kernel modules are
    being loaded only from our read-only crypto-hash verified (dm_verity)
    root filesystem. Since the init_module syscall hands the kernel a module
    as a memory blob, no reasoning about the origin of the blob can be made.

    Earlier proposals for appending signatures to kernel modules would not be
    useful in Chrome OS, since it would involve adding an additional set of
    keys to our kernel and builds for no good reason: we already trust the
    contents of our root filesystem. We don't need to verify those kernel
    modules a second time. Having to do signature checking on module loading
    would slow us down and be redundant. All we need to know is where a
    module is coming from so we can say yes/no to loading it.

    If a file descriptor is used as the source of a kernel module, many more
    things can be reasoned about. In Chrome OS's case, we could enforce that
    the module lives on the filesystem we expect it to live on. In the case
    of IMA (or other LSMs), it would be possible, for example, to examine
    extended attributes that may contain signatures over the contents of
    the module.

    This introduces a new syscall (on x86), similar to init_module, that has
    only two arguments. The first argument is used as a file descriptor to
    the module and the second argument is a pointer to the NULL terminated
    string of module arguments.

    Signed-off-by: Kees Cook
    Cc: Andrew Morton
    Signed-off-by: Rusty Russell (merge fixes)

    Kees Cook
     

31 Oct, 2012

1 commit

  • Masaki found and patched a kallsyms issue: the last symbol in a
    module's symtab wasn't transferred. This is because we manually copy
    the zero'th entry (which is always empty) then copy the rest in a loop
    starting at 1, though from src[0]. His fix was minimal, I prefer to
    rewrite the loops in more standard form.

    There are two loops: one to get the size, and one to copy. Make these
    identical: always count entry 0 and any defined symbol in an allocated
    non-init section.

    This bug exists since the following commit was introduced.
    module: reduce symbol table for loaded modules (v2)
    commit: 4a4962263f07d14660849ec134ee42b63e95ea9a

    LKML: http://lkml.org/lkml/2012/10/24/27
    Reported-by: Masaki Kimura
    Cc: stable@kernel.org

    Rusty Russell
     

20 Oct, 2012

1 commit

  • Emit the magic string that indicates a module has a signature after the
    signature data instead of before it. This allows module_sig_check() to
    be made simpler and faster by the elimination of the search for the
    magic string. Instead we just need to do a single memcmp().

    This works because at the end of the signature data there is the
    fixed-length signature information block. This block then falls
    immediately prior to the magic number.

    From the contents of the information block, it is trivial to calculate
    the size of the signature data and thus the size of the actual module
    data.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     

10 Oct, 2012

2 commits

  • If we're in FIPS mode, we should panic if we fail to verify the signature on a
    module or we're asked to load an unsigned module in signature enforcing mode.
    Possibly FIPS mode should automatically enable enforcing mode.

    Signed-off-by: David Howells
    Signed-off-by: Rusty Russell

    David Howells
     
  • We do a very simple search for a particular string appended to the module
    (which is cache-hot and about to be SHA'd anyway). There's both a config
    option and a boot parameter which control whether we accept or fail with
    unsigned modules and modules that are signed with an unknown key.

    If module signing is enabled, the kernel will be tainted if a module is
    loaded that is unsigned or has a signature for which we don't have the
    key.

    (Useful feedback and tweaks by David Howells )

    Signed-off-by: Rusty Russell
    Signed-off-by: David Howells
    Signed-off-by: Rusty Russell

    Rusty Russell
     

28 Sep, 2012

4 commits

  • The original module-init-tools module loader used a fnctl lock on the
    .ko file to avoid attempts to simultaneously load a module.
    Unfortunately, you can't get an exclusive fcntl lock on a read-only
    fd, making this not work for read-only mounted filesystems.
    module-init-tools has a hacky sleep-and-loop for this now.

    It's not that hard to wait in the kernel, and only return -EEXIST once
    the first module has finished loading (or continue loading the module
    if the first one failed to initialize for some reason). It's also
    consistent with what we do for dependent modules which are still loading.

    Suggested-by: Lucas De Marchi
    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • We use resolve_symbol_wait(), which blocks if the module containing
    the symbol is still loading. However:

    1) The module_wq we use is only woken after calling the modules' init
    function, but there are other failure paths after the module is
    placed in the linked list where we need to do the same thing.

    2) wake_up() only wakes one waiter, and our waitqueue is shared by all
    modules, so we need to wake them all.

    3) wake_up_all() doesn't imply a memory barrier: I feel happier calling
    it after we've grabbed and dropped the module_mutex, not just after
    the state assignment.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Use the mapping of Elf_[SPE]hdr, Elf_Addr, Elf_Sym, Elf_Dyn, Elf_Rel/Rela,
    ELF_R_TYPE() and ELF_R_SYM() to either the 32-bit version or the 64-bit version
    into asm-generic/module.h for all arches bar MIPS.

    Also, use the generic definition mod_arch_specific where possible.

    To this end, I've defined three new config bools:

    (*) HAVE_MOD_ARCH_SPECIFIC

    Arches define this if they don't want to use the empty generic
    mod_arch_specific struct.

    (*) MODULES_USE_ELF_RELA

    Arches define this if their modules can contain RELA records. This causes
    the Elf_Rela mapping to be emitted and allows apply_relocate_add() to be
    defined by the arch rather than have the core emit an error message.

    (*) MODULES_USE_ELF_REL

    Arches define this if their modules can contain REL records. This causes
    the Elf_Rel mapping to be emitted and allows apply_relocate() to be
    defined by the arch rather than have the core emit an error message.

    Note that it is possible to allow both REL and RELA records: m68k and mips are
    two arches that do this.

    With this, some arch asm/module.h files can be deleted entirely and replaced
    with a generic-y marker in the arch Kbuild file.

    Additionally, I have removed the bits from m32r and score that handle the
    unsupported type of relocation record as that's now handled centrally.

    Signed-off-by: David Howells
    Acked-by: Sam Ravnborg
    Signed-off-by: Rusty Russell

    David Howells
     
  • Cloudlinux have a product called lve that includes a kernel module. This
    was previously GPLed but is now under a proprietary license, but the
    module continues to declare MODULE_LICENSE("GPL") and makes use of some
    EXPORT_SYMBOL_GPL symbols. Forcibly taint it in order to avoid this.

    Signed-off-by: Matthew Garrett
    Cc: Alex Lyashkov
    Signed-off-by: Rusty Russell
    Cc: stable@kernel.org

    Matthew Garrett
     

23 May, 2012

1 commit


01 May, 2012

1 commit

  • This introduces a fake module param $module.dyndbg. Its based upon
    Thomas Renninger's $module.ddebug boot-time debugging patch from
    https://lkml.org/lkml/2010/9/15/397

    The 'fake' module parameter is provided for all modules, whether or
    not they need it. It is not explicitly added to each module, but is
    implemented in callbacks invoked from parse_args.

    For builtin modules, dynamic_debug_init() now directly calls
    parse_args(..., &ddebug_dyndbg_boot_params_cb), to process the params
    undeclared in the modules, just after the ddebug tables are processed.

    While its slightly weird to reprocess the boot params, parse_args() is
    already called repeatedly by do_initcall_levels(). More importantly,
    the dyndbg queries (given in ddebug_query or dyndbg params) cannot be
    activated until after the ddebug tables are ready, and reusing
    parse_args is cleaner than doing an ad-hoc parse. This reparse would
    break options like inc_verbosity, but they probably should be params,
    like verbosity=3.

    ddebug_dyndbg_boot_params_cb() handles both bare dyndbg (aka:
    ddebug_query) and module-prefixed dyndbg params, and ignores all other
    parameters. For example, the following will enable pr_debug()s in 4
    builtin modules, in the order given:

    dyndbg="module params +p; module aio +p" module.dyndbg=+p pci.dyndbg

    For loadable modules, parse_args() in load_module() calls
    ddebug_dyndbg_module_params_cb(). This handles bare dyndbg params as
    passed from modprobe, and errors on other unknown params.

    Note that modprobe reads /proc/cmdline, so "modprobe foo" grabs all
    foo.params, strips the "foo.", and passes these to the kernel.
    ddebug_dyndbg_module_params_cb() is again called for the unknown
    params; it handles dyndbg, and errors on others. The "doing" arg
    added previously contains the module name.

    For non CONFIG_DYNAMIC_DEBUG builds, the stub function accepts
    and ignores $module.dyndbg params, other unknowns get -ENOENT.

    If no param value is given (as in pci.dyndbg example above), "+p" is
    assumed, which enables all pr_debug callsites in the module.

    The dyndbg fake parameter is not shown in /sys/module/*/parameters,
    thus it does not use any resources. Changes to it are made via the
    control file.

    Also change pr_info in ddebug_exec_queries to vpr_info,
    no need to see it all the time.

    Signed-off-by: Jim Cromie
    CC: Thomas Renninger
    CC: Rusty Russell
    Acked-by: Jason Baron
    Signed-off-by: Greg Kroah-Hartman

    Jim Cromie
     

26 Mar, 2012

4 commits

  • Module size was limited to 64MB, this was legacy limitation due to vmalloc()
    which was removed a while ago.

    Limiting module size to 64MB is both pointless and affects real world use
    cases.

    Cc: Tim Abbott
    Cc: stable@vger.kernel.org
    Signed-off-by: Sasha Levin
    Signed-off-by: Rusty Russell

    Sasha Levin
     
  • With the preempt, tracepoint and everything, it's getting a bit
    chubby. For an Ubuntu-based config:

    Before:
    $ size -t `find * -name '*.ko'` | grep TOTAL
    56199906 3870760 1606616 61677282 3ad1ee2 (TOTALS)
    $ size vmlinux
    text data bss dec hex filename
    8509342 850368 3358720 12718430 c2115e vmlinux

    After:
    $ size -t `find * -name '*.ko'` | grep TOTAL
    56183760 3867892 1606616 61658268 3acd49c (TOTALS)
    $ size vmlinux
    text data bss dec hex filename
    8501842 849088 3358720 12709650 c1ef12 vmlinux

    Signed-off-by: Steven Rostedt
    Acked-by: Ingo Molnar
    Signed-off-by: Rusty Russell (made all out-of-line)

    Steven Rostedt
     
  • This patch adds a set of macros that can be used to declare
    kernel parameters to be parsed _before_ initcalls at a chosen
    level are executed. We rename the now-unused "flags" field of
    struct kernel_param as the level. It's signed, for when we
    use this for early params as well, in future.

    Linker macro collating init calls had to be modified in order
    to add additional symbols between levels that are later used
    by the init code to split the calls into blocks.

    Signed-off-by: Pawel Moll
    Signed-off-by: Rusty Russell

    Pawel Moll
     
  • Sometimes we need to test a kernel of same version with code or config
    option changes.

    We already have sysctl to disable module load, but add a kernel
    parameter will be more convenient.

    Since modules_disabled is int, so here use bint type in core_param.
    TODO: make sysctl accept bool and change modules_disabled to bool

    Signed-off-by: Dave Young
    Signed-off-by: Rusty Russell

    Dave Young
     

16 Jan, 2012

1 commit

  • Recent changes to kernel/module.c caused the following compile
    error:

    kernel/module.c: In function ‘show_taint’:
    kernel/module.c:1024:2: error: implicit declaration of function ‘module_flags_taint’ [-Werror=implicit-function-declaration]
    cc1: some warnings being treated as errors

    Correct this error by moving the definition of module_flags_taint
    outside of the #ifdef CONFIG_MODULE_UNLOAD section.

    Signed-off-by: Kevin Winchester
    Signed-off-by: Linus Torvalds

    Kevin Winchester
     

13 Jan, 2012

5 commits

  • Recent tools do not want to use /proc to retrieve module information. A few
    values are currently missing from sysfs to replace the information available
    in /proc/modules.

    This adds /sys/module/*/{coresize,initsize,taint} attributes.

    TAINT_PROPRIETARY_MODULE (P) and TAINT_OOT_MODULE (O) flags are both always
    shown now, and do no longer exclude each other, also in /proc/modules.

    Replace the open-coded sysfs attribute initializers with the __ATTR() macro.

    Add the new attributes to Documentation/ABI.

    Cc: Lucas De Marchi
    Signed-off-by: Kay Sievers
    Signed-off-by: Rusty Russell

    Kay Sievers
     
  • Use more flexible pr_debug. This allows:

    echo "module module +p" > /dbg/dynamic_debug/control

    to turn on debug messages when needed.

    Signed-off-by: Jim Cromie
    Signed-off-by: Rusty Russell

    Jim Cromie
     
  • module_ref contains two "unsigned int" fields.

    Thats now too small, since some machines can open more than 2^32 files.

    Check commit 518de9b39e8 (fs: allow for more than 2^31 files) for
    reference.

    We can add an aligned(2 * sizeof(unsigned long)) attribute to force
    alloc_percpu() allocating module_ref areas in single cache lines.

    Signed-off-by: Eric Dumazet
    CC: Rusty Russell
    CC: Tejun Heo
    CC: Robin Holt
    CC: David Miller
    Signed-off-by: Rusty Russell

    Eric Dumazet
     
  • Looking at /proc/kallsyms, one starts to ponder whether all of the extra
    strtab-related complexity in module.c is worth the memory savings.

    Instead of making the add_kallsyms() loop even more complex, I tried the
    other route of deleting the strmap logic and naively copying each string
    into core_strtab with no consideration for consolidating duplicates.

    Performance on an "already exists" insmod of nvidia.ko (runs
    add_kallsyms() but does not actually initialize the module):

    Original scheme: 1.230s
    With naive copying: 0.058s

    Extra space used: 35k (of a 408k module).

    Signed-off-by: Kevin Cernekee
    Signed-off-by: Rusty Russell
    LKML-Reference:

    Kevin Cernekee
     
  • Signed-off-by: Kevin Cernekee
    Signed-off-by: Rusty Russell

    Kevin Cernekee
     

07 Nov, 2011

3 commits

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     
  • Use of the GPL or a compatible licence doesn't necessarily make the code
    any good. We already consider staging modules to be suspect, and this
    should also be true for out-of-tree modules which may receive very
    little review.

    Signed-off-by: Ben Hutchings
    Reviewed-by: Dave Jones
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Rusty Russell (patched oops-tracing.txt)

    Ben Hutchings
     
  • Dynamic debugging is currently disabled for tainted modules, except
    for TAINT_CRAP. This prevents use of dynamic debugging for
    out-of-tree modules once the next patch is applied.

    This condition was apparently intended to avoid a crash if a force-
    loaded module has an incompatible definition of dynamic debug
    structures. However, a administrator that forces us to load a module
    is claiming that it *is* compatible even though it fails our version
    checks. If they are mistaken, there are any number of ways the module
    could crash the system.

    As a side-effect, proprietary and other tainted modules can now use
    dynamic_debug.

    Signed-off-by: Ben Hutchings
    Acked-by: Mathieu Desnoyers
    Signed-off-by: Rusty Russell

    Ben Hutchings
     

31 Oct, 2011

1 commit

  • The changed files were only including linux/module.h for the
    EXPORT_SYMBOL infrastructure, and nothing else. Revector them
    onto the isolated export header for faster compile times.

    Nothing to see here but a whole lot of instances of:

    -#include
    +#include

    This commit is only changing the kernel dir; next targets
    will probably be mm, fs, the arch dirs, etc.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

11 Aug, 2011

1 commit

  • Copy the information needed from struct module into a local module list
    held within tracepoint.c from within the module coming/going notifier.

    This vastly simplifies locking of tracepoint registration /
    unregistration, because we don't have to take the module mutex to
    register and unregister tracepoints anymore. Steven Rostedt ran into
    dependency problems related to modules mutex vs kprobes mutex vs ftrace
    mutex vs tracepoint mutex that seems to be hard to fix without removing
    this dependency between tracepoint and module mutex. (note: it should be
    investigated whether kprobes could benefit of being dissociated from the
    modules mutex too.)

    This also fixes module handling of tracepoint list iterators, because it
    was expecting the list to be sorted by pointer address. Given we have
    control on our own list now, it's OK to sort this list which has
    tracepoints as its only purpose. The reason why this sorting is required
    is to handle the fact that seq files (and any read() operation from
    user-space) cannot hold the tracepoint mutex across multiple calls, so
    list entries may vanish between calls. With sorting, the tracepoint
    iterator becomes usable even if the list don't contain the exact item
    pointed to by the iterator anymore.

    Signed-off-by: Mathieu Desnoyers
    Acked-by: Jason Baron
    CC: Ingo Molnar
    CC: Lai Jiangshan
    CC: Peter Zijlstra
    CC: Thomas Gleixner
    CC: Masami Hiramatsu
    Link: http://lkml.kernel.org/r/20110810191839.GC8525@Krystal
    Signed-off-by: Steven Rostedt

    Mathieu Desnoyers
     

24 Jul, 2011

3 commits

  • Userspace wants to manage module parameters with udev rules.
    This currently only works for loaded modules, but not for
    built-in ones.

    To allow access to the built-in modules we need to
    re-trigger all module load events that happened before any
    userspace was running. We already do the same thing for all
    devices, subsystems(buses) and drivers.

    This adds the currently missing /sys/module//uevent files
    to all module entries.

    Signed-off-by: Kay Sievers
    Signed-off-by: Rusty Russell (split & trivial fix)

    Kay Sievers
     
  • This simplifies the next patch, where we have an attribute on a
    builtin module (ie. module == NULL).

    Signed-off-by: Kay Sievers
    Signed-off-by: Rusty Russell (split into 2)

    Kay Sievers
     
  • The module loader code allows architectures to hook into the code by
    providing a small number of entry points that each arch must implement.
    This patch provides __weakly linked generic implementations of these
    entry points for architectures that don't need to do anything special.

    Signed-off-by: Jonas Bonn
    Signed-off-by: Rusty Russell

    Jonas Bonn
     

24 May, 2011

1 commit

  • * 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (970 commits)
    staging: usbip: replace usbip_u{dbg,err,info} and printk with dev_ and pr_
    staging:iio: Trivial kconfig reorganization and uniformity improvements.
    staging:iio:documenation partial update.
    staging:iio: use pollfunc allocation helpers in remaining drivers.
    staging:iio:max1363 misc cleanups and use of for_each_bit_set to simplify event code spitting out.
    staging:iio: implement an iio_info structure to take some of the constant elements out of iio_dev.
    staging:iio:meter:ade7758: Use private data space from iio_allocate_device
    staging:iio:accel:lis3l02dq make write_reg_8 take value not a pointer to value.
    staging:iio: ring core cleanups + check if read_last available in lis3l02dq
    staging:iio:core cleanup: squash tiny wrappers and use dev_set_name to handle creation of event interface name.
    staging:iio: poll func allocation clean up.
    staging:iio:ad7780 trivial unused header cleanup.
    staging:iio:adc: AD7780: Use private data space from iio_allocate_device + trivial fixes
    staging:iio:adc:AD7780: Convert to new channel registration method
    staging:iio:adc: AD7606: Drop dev_data in favour of iio_priv()
    staging:iio:adc: AD7606: Consitently use indio_dev
    staging:iio: Rip out helper for software rings.
    staging:iio:adc:AD7298: Use private data space from iio_allocate_device
    staging:iio: rationalization of different buffer implementation hooks.
    staging:iio:imu:adis16400 avoid allocating rx, tx, and state separately from iio_dev.
    ...

    Fix up trivial conflicts in
    - drivers/staging/intel_sst/intelmid.c: patches applied in both branches
    - drivers/staging/rt2860/common/cmm_data_{pci,usb}.c: removed vs spelling
    - drivers/staging/usbip/vhci_sysfs.c: trivial header file inclusion

    Linus Torvalds
     

19 May, 2011

4 commits