1. 05 Aug, 2010 18 commits
    • Rusty Russell's avatar
      module: group post-relocation functions into post_relocation() · 811d66a0
      Rusty Russell authored
      This simply hoists more code out of load_module; we also put the
      identification of the extable and dynamic debug table in with the
      others in find_module_sections().
      
      We move the taint check to the actual add/remove of the dynamic debug
      info: this is certain (find_module_sections is too early).
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: Yehuda Sadeh <yehuda@hq.newdream.net>
      811d66a0
    • Rusty Russell's avatar
      module: move module args strndup_user to just before use · 6526c534
      Rusty Russell authored
      Instead of copying and allocating the args and storing it in
      load_info, we can just allocate them right before we need them.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      6526c534
    • Rusty Russell's avatar
      module: pass load_info into other functions · 49668688
      Rusty Russell authored
      Pass the struct load_info into all the other functions in module
      loading.  This neatens things and makes them more consistent.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      49668688
    • Rusty Russell's avatar
      module: fix sysfs cleanup for !CONFIG_SYSFS · 36b0360d
      Rusty Russell authored
      Restore the stub module_remove_modinfo_attrs, remove the now-unused
      !CONFIG_SYSFS module_sysfs_init.
      
      Also, rename mod_kobject_remove() to mod_sysfs_teardown() as
      it is the logical counterpart to mod_sysfs_setup now.
      Reported-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      36b0360d
    • Rusty Russell's avatar
      module: sysfs cleanup · 8f6d0378
      Rusty Russell authored
      We change the sysfs functions to take struct load_info, and call
      them all in mod_sysfs_setup().
      
      We also clean up the #ifdefs a little.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      8f6d0378
    • Rusty Russell's avatar
      module: layout_and_allocate · d913188c
      Rusty Russell authored
      layout_and_allocate() does everything up to and including the final
      struct module placement inside the allocated module memory.  We have
      to store the symbol layout information in our struct load_info though.
      
      This avoids the nasty code we had before where 'mod' pointed first
      to the version inside the temporary allocation containing the entire
      file, then later was moved to point to the real struct module: now
      the main code only ever sees the final module address.
      
      (Includes fix for the Tony Luck-found Linus-diagnosed failure path
       error).
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      d913188c
    • Rusty Russell's avatar
      module: fix crash in get_ksymbol() when oopsing in module init · 511ca6ae
      Rusty Russell authored
      Andrew had the sole pleasure of tickling this bug in linux-next; when we set
      up "info->strtab" it's pointing into the temporary copy of the module.  For
      most uses that is fine, but kallsyms keeps a pointer around during module
      load (inside mod->strtab).
      
      If we oops for some reason inside a module's init function, kallsyms will use
      the mod->strtab pointer into the now-freed temporary module copy.
      
      (Later oopses work fine: after init we overwrite mod->strtab to point to a
       compacted core-only strtab).
      Reported-by: default avatarAndrew "Grumpy" Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarRusty "Buggy" Russell <rusty@rustcorp.com.au>
      Tested-by: default avatarAndrew "Happy" Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      511ca6ae
    • Rusty Russell's avatar
      module: kallsyms functions take struct load_info · eded41c1
      Rusty Russell authored
      Simple refactor causes us to lift struct definition to top of file.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      eded41c1
    • Rusty Russell's avatar
      module: refactor out section header rewriting: FIX modversions · d6df72a0
      Rusty Russell authored
      We can't do the find_sec after removing the SHF_ALLOC flags; it won't
      find the sections.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      d6df72a0
    • Rusty Russell's avatar
      module: refactor out section header rewriting · 8b5f61a7
      Rusty Russell authored
      Put all the "rewrite and check section headers" in one place.  This
      adds another iteration over the sections, but it's far clearer.  We
      iterate once for every find_section() so we already iterate over many
      times.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      8b5f61a7
    • Linus Torvalds's avatar
      module: add load_info · 3264d3f9
      Linus Torvalds authored
      Btw, here's a patch that _looks_ large, but it really pretty trivial, and
      sets things up so that it would be way easier to split off pieces of the
      module loading.
      
      The reason it looks large is that it creates a "module_info" structure
      that contains all the module state that we're building up while loading,
      instead of having individual variables for all the indices etc.
      
      So the patch ends up being large, because every "symindex" access instead
      becomes "info.index.sym" etc. That may be a few characters longer, but it
      then means that we can just pass a pointer to that "info" structure
      around. and let all the pieces fill it in very naturally.
      
      As an example of that, the patch also moves the initialization of all
      those convenience variables into a "setup_module_info()" function. And at
      this point it really does become very natural to start to peel off some of
      the error labels and move them into the helper functions - now the
      "truncated" case is gone, and is handled inside that setup function
      instead.
      
      So maybe you don't like this approach, and it does make the variable
      accesses a bit longer, but I don't think unreadably so. And the patch
      really does look big and scary, but there really should be absolutely no
      semantic changes - most of it was a trivial and mindless rename.
      
      In fact, it was so mindless that I on purpose kept the existing helper
      functions looking like this:
      
      -       err = check_modinfo(mod, sechdrs, infoindex, versindex);
      +       err = check_modinfo(mod, info.sechdrs, info.index.info, info.index.vers);
      
      rather than changing them to just take the "info" pointer. IOW, a second
      phase (if you think the approach is ok) would change that calling
      convention to just do
      
      	err = check_modinfo(mod, &info);
      
      (and same for "layout_sections()", "layout_symtabs()" etc.) Similarly,
      while right now it makes things _look_ bigger, with things like this:
      
      	versindex = find_sec(hdr, sechdrs, secstrings, "__versions");
      
      becoming
      
      	info->index.vers = find_sec(info->hdr, info->sechdrs, info->secstrings, "__versions");
      
      in the new "setup_module_info()" function, that's again just a result of
      it being a search-and-replace patch. By using the 'info' pointer, we could
      just change the 'find_sec()' interface so that it ends up being
      
      	info->index.vers = find_sec(info, "__versions");
      
      instead, and then we'd actually have a shorter and more readable line. So
      for a lot of those mindless variable name expansions there's would be room
      for separate cleanups.
      
      I didn't move quite everything in there - if we do this to layout_symtabs,
      for example, we'd want to move the percpu, symoffs, stroffs, *strmap
      variables to be fields in that module_info structure too. But that's a
      much smaller patch, I moved just the really core stuff that is currently
      being set up and used in various parts.
      
      But even in this rough form, it removes close to 70 lines from that
      function (but adds 22 lines overall, of course - the structure definition,
      the helper function declarations and call-sites etc etc).
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      3264d3f9
    • Linus Torvalds's avatar
      module: reduce stack usage for each_symbol() · 44032e63
      Linus Torvalds authored
      And now that I'm looking at that call-chain (to see if it would make sense
      to use some other more specific lock - doesn't look like it: all the
      readers are using RCU and this is the only writer), I also give you this
      trivial one-liner. It changes each_symbol() to not put that constant array
      on the stack, resulting in changing
      
              movq    $C.388.31095, %rsi      #, tmp85
              subq    $376, %rsp      #,
              movq    %rdi, %rbx      # fn, fn
              leaq    -208(%rbp), %rdi        #, tmp84
              movq    %rbx, %rdx      # fn,
              rep movsl
              xorl    %esi, %esi      #
              leaq    -208(%rbp), %rdi        #, tmp87
              movq    %r12, %rcx      # data,
              call    each_symbol_in_section.clone.0  #
      
      into
      
              xorl    %esi, %esi      #
              subq    $216, %rsp      #,
              movq    %rdi, %rbx      # fn, fn
              movq    $arr.31078, %rdi        #,
              call    each_symbol_in_section.clone.0  #
      
      which is not so much about being obviously shorter and simpler because we
      don't unnecessarily copy that constant array around onto the stack, but
      also about having a much smaller stack footprint (376 vs 216 bytes - see
      the update of 'rsp').
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      44032e63
    • Rusty Russell's avatar
      module: refactor load_module part 5 · 22e268eb
      Rusty Russell authored
      1) Extract out the relocation loop into apply_relocations
      2) Extract license and version checks into check_module_license_and_versions
      3) Extract icache flushing into flush_module_icache
      4) Move __obsparm warning into find_module_sections
      5) Move license setting into check_modinfo.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      22e268eb
    • Rusty Russell's avatar
      module: refactor load_module part 4 · 9f85a4bb
      Rusty Russell authored
      Allocate references inside module_unload_init(), clean up inside
      module_unload_free().
      
      This version fixed to do allocation before __this_cpu_write, thanks to
      bug reports from linux-next from Dave Young <hidave.darkstar@gmail.com>
      and Stephen Rothwell <sfr@canb.auug.org.au>.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      9f85a4bb
    • Rusty Russell's avatar
      module: refactor load_module part 3 · 40dd2560
      Rusty Russell authored
      Extract out the allocation and copying in from userspace, and the
      first set of modinfo checks.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      40dd2560
    • Linus Torvalds's avatar
      module: refactor load_module part 2 · 65b8a9b4
      Linus Torvalds authored
      Here's a second one. It's slightly less trivial - since we now have error
      cases - and equally untested so it may well be totally broken. But it also
      cleans up a bit more, and avoids one of the goto targets, because the
      "move_module()" helper now does both allocations or none.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      65b8a9b4
    • Linus Torvalds's avatar
      module: refactor load_module · f91a13bb
      Linus Torvalds authored
      I'd start from the trivial stuff. There's a fair amount of straight-line
      code that just makes the function hard to read just because you have to
      page up and down so far. Some of it is trivial to just create a helper
      function for.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      f91a13bb
    • Eric Dumazet's avatar
      module: module_unload_init() cleanup · 2409e742
      Eric Dumazet authored
      No need to clear mod->refptr in module_unload_init(), since
      alloc_percpu() already clears allocated chunks.
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (removed unused var)
      2409e742
  2. 04 Aug, 2010 22 commits
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 3cfc2c42
      Linus Torvalds authored
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
        Documentation: update broken web addresses.
        fix comment typo "choosed" -> "chosen"
        hostap:hostap_hw.c Fix typo in comment
        Fix spelling contorller -> controller in comments
        Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
        fs/Kconfig: Fix typo Userpace -> Userspace
        Removing dead MACH_U300_BS26
        drivers/infiniband: Remove unnecessary casts of private_data
        fs/ocfs2: Remove unnecessary casts of private_data
        libfc: use ARRAY_SIZE
        scsi: bfa: use ARRAY_SIZE
        drm: i915: use ARRAY_SIZE
        drm: drm_edid: use ARRAY_SIZE
        synclink: use ARRAY_SIZE
        block: cciss: use ARRAY_SIZE
        comment typo fixes: charater => character
        fix comment typos concerning "challenge"
        arm: plat-spear: fix typo in kerneldoc
        reiserfs: typo comment fix
        update email address
        ...
      3cfc2c42
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 5cf65713
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (30 commits)
        Revert "HID: add support for the Wacom Intuos 4 wireless"
        HID: fix up Kconfig entry for ACRUX driver
        HID: add ACRUX game controller force feedback support
        HID: Force input registration for "VEC footpedal"
        HID: add HID_QUIRK_HIDINPUT_FORCE
        HID: hid-input.c: indentation fixes
        HID: hiddev: use usb_find_interface, get rid of BKL
        HID: ignore digitizer usage Undefined (0x00)
        HID: Add support for Conceptronic CLLRCMCE
        HID: hid-ids.h: Whitespace fixup, align using TABs
        HID: picolcd: implement refcounting of framebuffer
        HID: picolcd: do not reallocate memory on depth change
        HID: picolcd: Add minimal palette required by fbcon on 8bpp
        HID: magicmouse: Correct parsing of large X and Y motions.
        HID: magicmouse: report last touch up
        HID: picolcd: fix deferred_io init/cleanup to fb ordering
        HID: hid-ids.h: keep vendor ids in alphabetical order
        HID: add proper support for Elecom BM084 bluetooth mouse
        HID: magicmouse: enable horizontal scrolling
        HID: magicmouse: add param for scroll speed
        ...
      5cf65713
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · b7c8e55d
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (39 commits)
        random: Reorder struct entropy_store to remove padding on 64bits
        padata: update API documentation
        padata: Remove padata_get_cpumask
        crypto: pcrypt - Update pcrypt cpumask according to the padata cpumask notifier
        crypto: pcrypt - Rename pcrypt_instance
        padata: Pass the padata cpumasks to the cpumask_change_notifier chain
        padata: Rearrange set_cpumask functions
        padata: Rename padata_alloc functions
        crypto: pcrypt - Dont calulate a callback cpu on empty callback cpumask
        padata: Check for valid cpumasks
        padata: Allocate cpumask dependend recources in any case
        padata: Fix cpu index counting
        crypto: geode_aes - Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)
        pcrypt: Added sysfs interface to pcrypt
        padata: Added sysfs primitives to padata subsystem
        padata: Make two separate cpumasks
        padata: update documentation
        padata: simplify serialization mechanism
        padata: make padata_do_parallel to return zero on success
        padata: Handle empty padata cpumasks
        ...
      b7c8e55d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · ffd386a9
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: allow limited allocation before slab is online
        percpu: make @dyn_size always mean min dyn_size in first chunk init functions
      ffd386a9
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 · 03da3098
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (276 commits)
        [SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions
        [SCSI] zfcp: Introduce experimental support for DIF/DIX
        [SCSI] zfcp: Enable data division support for FCP devices
        [SCSI] zfcp: Prevent access on uninitialized memory.
        [SCSI] zfcp: Post events through FC transport class
        [SCSI] zfcp: Cleanup QDIO attachment and improve processing.
        [SCSI] zfcp: Cleanup function parameters for sbal value.
        [SCSI] zfcp: Use correct width for timer_interval field
        [SCSI] zfcp: Remove SCSI device when removing unit
        [SCSI] zfcp: Use memdup_user and kstrdup
        [SCSI] zfcp: Fix retry after failed "open port" erp action
        [SCSI] zfcp: Fail erp after timeout
        [SCSI] zfcp: Use forced_reopen in terminate_rport_io callback
        [SCSI] zfcp: Register SCSI devices after successful fc_remote_port_add
        [SCSI] zfcp: Do not try "forced close" when port is already closed
        [SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED
        [SCSI] sd: add support for runtime PM
        [SCSI] implement runtime Power Management
        [SCSI] convert to the new PM framework
        [SCSI] Unify SAM_ and SAM_STAT_ macros
        ...
      03da3098
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 · 6ba74014
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits)
        phy/marvell: add 88ec048 support
        igb: Program MDICNFG register prior to PHY init
        e1000e: correct MAC-PHY interconnect register offset for 82579
        hso: Add new product ID
        can: Add driver for esd CAN-USB/2 device
        l2tp: fix export of header file for userspace
        can-raw: Fix skb_orphan_try handling
        Revert "net: remove zap_completion_queue"
        net: cleanup inclusion
        phy/marvell: add 88e1121 interface mode support
        u32: negative offset fix
        net: Fix a typo from "dev" to "ndev"
        igb: Use irq_synchronize per vector when using MSI-X
        ixgbevf: fix null pointer dereference due to filter being set for VLAN 0
        e1000e: Fix irq_synchronize in MSI-X case
        e1000e: register pm_qos request on hardware activation
        ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice
        net: Add getsockopt support for TCP thin-streams
        cxgb4: update driver version
        cxgb4: add new PCI IDs
        ...
      
      Manually fix up conflicts in:
       - drivers/net/e1000e/netdev.c: due to pm_qos registration
         infrastructure changes
       - drivers/net/phy/marvell.c: conflict between adding 88ec048 support
         and cleaning up the IDs
       - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req
         conflict (registration change vs marking it static)
      6ba74014
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6 · 5abd9ccc
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6:
        ibft: Use IBFT_SIGN instead of open-coding the search string.
        ibft: convert iscsi_ibft module to iscsi boot lib
        ibft: separate ibft parsing from sysfs interface
        ibft: For UEFI machines actually do scan ACPI for iBFT.
        ibft: Update iBFT handling for v1.03 of the spec.
      5abd9ccc
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · d5fc1d51
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        amd64_edac: Minor formatting fix
        amd64_edac: Fix operator precendence error
        edac, mc: Improve scrub rate handling
        amd64_edac: Correct scrub rate setting
        amd64_edac: Fix DCT base address selector
        amd64_edac: Remove polling mechanism
        x86, mce: Notify about corrected events too
        amd64_edac: Remove unneeded defines
        edac: Remove EDAC_DEBUG_VERBOSE
        amd64_edac: Sanitize syndrome extraction
      d5fc1d51
    • David Howells's avatar
      CRED: Fix RCU warning due to previous patch fixing __task_cred()'s checks · 694f690d
      David Howells authored
      Commit 8f92054e ("CRED: Fix __task_cred()'s lockdep check and banner
      comment") fixed the lockdep checks on __task_cred().  This has shown up
      a place in the signalling code where a lock should be held - namely that
      check_kill_permission() requires its callers to hold the RCU lock.
      
      Fix group_send_sig_info() to get the RCU read lock around its call to
      check_kill_permission().
      
      Without this patch, the following warning can occur:
      
        ===================================================
        [ INFO: suspicious rcu_dereference_check() usage. ]
        ---------------------------------------------------
        kernel/signal.c:660 invoked rcu_dereference_check() without protection!
        ...
      Reported-by: default avatarTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      694f690d
    • Tejun Heo's avatar
      block_dev: always serialize exclusive open attempts · e75aa858
      Tejun Heo authored
      bd_prepare_to_claim() incorrectly allowed multiple attempts for
      exclusive open to progress in parallel if the attempting holders are
      identical.  This triggered BUG_ON() as reported in the following bug.
      
        https://bugzilla.kernel.org/show_bug.cgi?id=16393
      
      __bd_abort_claiming() is used to finish claiming blocks and doesn't
      work if multiple openers are inside a claiming block.  Allowing
      multiple parallel open attempts to continue doesn't gain anything as
      those are serialized down in the call chain anyway.  Fix it by always
      allowing only single open attempt in a claiming block.
      
      This problem can easily be reproduced by adding a delay after
      bd_prepare_to_claim() and attempting to mount two partitions of a
      disk.
      
      stable: only applicable to v2.6.35
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e75aa858
    • Kyle McMartin's avatar
      parisc: pass through '\t' to early (iodc) console · d9b68e5e
      Kyle McMartin authored
      The firmware handles '\t' internally, so stop trying to emulate it
      (which, incidentally, had a bug in it.)
      
      Fixes a really weird hang at bootup in rcu_bootup_announce, which,
      as far as I can tell, is the first printk in the core kernel to use
      a tab as the first character.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d9b68e5e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 · f46e9913
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
        PM / Runtime: Add runtime PM statistics (v3)
        PM / Runtime: Make runtime_status attribute not debug-only (v. 2)
        PM: Do not use dynamically allocated objects in pm_wakeup_event()
        PM / Suspend: Fix ordering of calls in suspend error paths
        PM / Hibernate: Fix snapshot error code path
        PM / Hibernate: Fix hibernation_platform_enter()
        pm_qos: Get rid of the allocation in pm_qos_add_request()
        pm_qos: Reimplement using plists
        plist: Add plist_last
        PM: Make it possible to avoid races between wakeup and system sleep
        PNPACPI: Add support for remote wakeup
        PM: describe kernel policy regarding wakeup defaults (v. 2)
        PM / Hibernate: Fix typos in comments in kernel/power/swap.c
      f46e9913
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq · 8d91530c
      Linus Torvalds authored
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
        [CPUFREQ] Remove pointless printk from p4-clockmod.
        [CPUFREQ] Fix section mismatch for powernow_cpu_init in powernow-k7.c
        [CPUFREQ] Fix section mismatch for longhaul_cpu_init.
        [CPUFREQ] Fix section mismatch for longrun_cpu_init.
        [CPUFREQ] powernow-k8: Fix misleading variable naming
        [CPUFREQ] Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)
        [CPUFREQ] arch/x86/kernel/cpu/cpufreq: use for_each_pci_dev()
        [CPUFREQ] fix brace coding style issue.
        [CPUFREQ] x86 cpufreq: Make trace_power_frequency cpufreq driver independent
        [CPUFREQ] acpi-cpufreq: Fix CPU_ANY CPUFREQ_{PRE,POST}CHANGE notification
        [CPUFREQ] ondemand: don't synchronize sample rate unless multiple cpus present
        [CPUFREQ] unexport (un)lock_policy_rwsem* functions
        [CPUFREQ] ondemand: Refactor frequency increase code
        [CPUFREQ] powernow-k8: On load failure, remind the user to enable support in BIOS setup
        [CPUFREQ] powernow-k8: Limit Pstate transition latency check
        [CPUFREQ] Fix PCC driver error path
        [CPUFREQ] fix double freeing in error path of pcc-cpufreq
        [CPUFREQ] pcc driver should check for pcch method before calling _OSC
        [CPUFREQ] fix memory leak in cpufreq_add_dev
        [CPUFREQ] revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)"
      
      Manually fix up non-data merge conflict introduced by new calling
      conventions for trace_power_start() in commit 6f4f2723 ("x86
      cpufreq: Make trace_power_frequency cpufreq driver independent"), which
      didn't update the intel_idle native hardware cpuidle driver.
      8d91530c
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of... · c145307a
      Linus Torvalds authored
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (88 commits)
        ips driver: make it less chatty
        intel_scu_ipc: fix size field for intel_scu_ipc_command
        intel_scu_ipc: return -EIO for error condition in busy_loop
        intel_scu_ipc: fix data packing of PMIC command on Moorestown
        Clean up command packing on MRST.
        zero the stack buffer before giving random garbage to the SCU
        Fix stack buffer size for IPC writev messages
        intel_scu_ipc: Use the new cpu identification function
        intel_scu_ipc: tidy up unused bits
        Remove indirect read write api support.
        intel_scu_ipc: Support Medfield processors
        intel_scu_ipc: detect CPU type automatically
        x86 plat: limit x86 platform driver menu to X86
        acpi ec_sys: Be more cautious about ec write access
        acpi ec: Fix possible double io port registration
        hp-wmi: acpi_drivers.h is already included through acpi.h two lines below
        hp-wmi: Fix mixing up of and/or directive
        dell-laptop: make dell_laptop_i8042_filter() static
        asus-laptop: fix asus_input_init error path
        msi-wmi: make needlessly global symbols static
        ...
      c145307a
    • Linus Torvalds's avatar
      Merge branch 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 5e83f6fb
      Linus Torvalds authored
      * 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (198 commits)
        KVM: VMX: Fix host GDT.LIMIT corruption
        KVM: MMU: using __xchg_spte more smarter
        KVM: MMU: cleanup spte set and accssed/dirty tracking
        KVM: MMU: don't atomicly set spte if it's not present
        KVM: MMU: fix page dirty tracking lost while sync page
        KVM: MMU: fix broken page accessed tracking with ept enabled
        KVM: MMU: add missing reserved bits check in speculative path
        KVM: MMU: fix mmu notifier invalidate handler for huge spte
        KVM: x86 emulator: fix xchg instruction emulation
        KVM: x86: Call mask notifiers from pic
        KVM: x86: never re-execute instruction with enabled tdp
        KVM: Document KVM_GET_SUPPORTED_CPUID2 ioctl
        KVM: x86: emulator: inc/dec can have lock prefix
        KVM: MMU: Eliminate redundant temporaries in FNAME(fetch)
        KVM: MMU: Validate all gptes during fetch, not just those used for new pages
        KVM: MMU: Simplify spte fetch() function
        KVM: MMU: Add gpte_valid() helper
        KVM: MMU: Add validate_direct_spte() helper
        KVM: MMU: Add drop_large_spte() helper
        KVM: MMU: Use __set_spte to link shadow pages
        ...
      5e83f6fb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · fe445c6e
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (57 commits)
        Input: adp5588-keypad - fix NULL dereference in adp5588_gpio_add()
        Input: cy8ctmg110 - capacitive touchscreen support
        Input: keyboard - also match braille-only keyboards
        Input: adp5588-keys - export unused GPIO pins
        Input: xpad - add product ID for Hori Fighting Stick EX2
        Input: adxl34x - fix leak and use after free
        Input: samsung-keypad - Add samsung keypad driver
        Input: i8042 - reset keyboard controller wehen resuming from S2R
        Input: synaptics - set min/max for finger width
        Input: synaptics - only report width on hardware that supports it
        Input: evdev - signal that device is writable in evdev_poll()
        Input: mousedev - signal that device is writable in mousedev_poll()
        Input: change input handlers to use bool when possible
        Input: document the MT event slot protocol
        Input: introduce MT event slots
        Input: usbtouchscreen - implement reset_resume
        Input: usbtouchscreen - implement runtime power management
        Input: usbtouchscreen - implement basic suspend/resume
        Input: Add ATMEL QT602240 touchscreen driver
        Input: fix signedness warning in input_set_keycode()
        ...
      fe445c6e
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · f63b759c
      Linus Torvalds authored
      * 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (243 commits)
        V4L/DVB: sms: Convert IR support to use the Remote Controller core
        V4L/DVB: sms: properly initialize IR phys and IR name
        V4L/DVB: standardize names at rc-dib0700 tables
        V4L/DVB: smsusb: enable IR port for Hauppauge WinTV MiniStick
        V4L/DVB: dib0700: Fix RC protocol logic to properly handle NEC/NECx and RC-5
        V4L/DVB: dib0700: properly implement IR change_protocol
        V4L/DVB: dib0700: break keytable into NEC and RC-5 variants
        V4L/DVB: dib0700: avoid bad repeat
        V4L/DVB: Port dib0700 to rc-core
        V4L/DVB: Add a keymap file with dib0700 table
        V4L/DVB: dvb-usb: add support for rc-core mode
        V4L/DVB: dvb-usb: prepare drivers for using rc-core
        V4L/DVB: dvb-usb: get rid of struct dvb_usb_rc_key
        V4L/DVB: rj54n1cb0c: fix a comment in the driver
        V4L/DVB: V4L2: sh_vou: VOU does support the full PAL resolution too
        V4L/DVB: V4L2: sh_mobile_camera_ceu: add support for CSI2
        V4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms
        V4L/DVB: V4L2: soc-camera: export soc-camera bus type for notifications
        V4L/DVB: V4L2: mediabus: add 12-bit Bayer and YUV420 pixel formats
        V4L/DVB: mediabus: fix ambiguous pixel code names
        ...
      f63b759c
    • Linus Torvalds's avatar
      Merge branch 'stable/swiotlb-0.8.3' of... · 4a35cee0
      Linus Torvalds authored
      Merge branch 'stable/swiotlb-0.8.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb-2.6
      
      * 'stable/swiotlb-0.8.3' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb-2.6:
        swiotlb: Make swiotlb bookkeeping functions visible in the header file.
        swiotlb: search and replace "int dir" with "enum dma_data_direction dir"
        swiotlb: Make internal bookkeeping functions have 'swiotlb_tbl' prefix.
        swiotlb: add the swiotlb initialization function with iotlb memory
        swiotlb: add swiotlb_tbl_map_single library function
      4a35cee0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of... · 7e688095
      Linus Torvalds authored
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (90 commits)
        AppArmor: fix build warnings for non-const use of get_task_cred
        selinux: convert the policy type_attr_map to flex_array
        AppArmor: Enable configuring and building of the AppArmor security module
        TOMOYO: Use pathname specified by policy rather than execve()
        AppArmor: update path_truncate method to latest version
        AppArmor: core policy routines
        AppArmor: policy routines for loading and unpacking policy
        AppArmor: mediation of non file objects
        AppArmor: LSM interface, and security module initialization
        AppArmor: Enable configuring and building of the AppArmor security module
        AppArmor: update Maintainer and Documentation
        AppArmor: functions for domain transitions
        AppArmor: file enforcement routines
        AppArmor: userspace interfaces
        AppArmor: dfa match engine
        AppArmor: contexts used in attaching policy to system objects
        AppArmor: basic auditing infrastructure.
        AppArmor: misc. base functions and defines
        TOMOYO: Update version to 2.3.0
        TOMOYO: Fix quota check.
        ...
      7e688095
    • Jiri Kosina's avatar
      Merge branch 'bkl' into for-linus · 9f17d516
      Jiri Kosina authored
      9f17d516
    • Jiri Kosina's avatar
      Merge branches 'magicmouse', 'roccat' and 'vec-pedal' into for-linus · ada8c797
      Jiri Kosina authored
      Conflicts:
      	drivers/hid/hid-ids.h
      ada8c797
    • Jiri Kosina's avatar
      Merge branch 'acrux' into for-linus · 35d03a0d
      Jiri Kosina authored
      Conflicts:
      	drivers/hid/hid-ids.h
      35d03a0d