1. 29 Apr, 2013 40 commits
    • Vineet Gupta's avatar
      memblock: add assertion for zero allocation alignment · 94f3d3af
      Vineet Gupta authored
      This came to light when calling memblock allocator from arc port (for
      copying flattended DT).  If a "0" alignment is passed, the allocator
      round_up() call incorrectly rounds up the size to 0.
      
      round_up(num, alignto) => ((num - 1) | (alignto -1)) + 1
      
      While the obvious allocation failure causes kernel to panic, it is better
      to warn the caller to fix the code.
      
      Tejun suggested that instead of BUG_ON(!align) - which might be
      ineffective due to pending console init and such, it is better to WARN_ON,
      and continue the boot with a reasonable default align.
      
      Caller passing @size need not be handled similarly as the subsequent
      panic will indicate that anyhow.
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      94f3d3af
    • Hillf Danton's avatar
      rmap: recompute pgoff for unmapping huge page · 369a713e
      Hillf Danton authored
      We have to recompute pgoff if the given page is huge, since result based
      on HPAGE_SIZE is not approapriate for scanning the vma interval tree, as
      shown by commit 36e4f20a ("hugetlb: do not use vma_hugecache_offset()
      for vma_prio_tree_foreach").
      Signed-off-by: default avatarHillf Danton <dhillf@gmail.com>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: Michel Lespinasse <walken@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      369a713e
    • Paul E. McKenney's avatar
      vm: adjust ifdef for TINY_RCU · 8375ad98
      Paul E. McKenney authored
      There is an ifdef in page_cache_get_speculative() that checks for !SMP
      and TREE_RCU, which has been an impossible combination since the advent
      of TINY_RCU.  The ifdef enables a fastpath that is valid when preemption
      is disabled by rcu_read_lock() in UP systems, which is the case when
      TINY_RCU is enabled.  This commit therefore adjusts the ifdef to
      generate the fastpath when TINY_RCU is enabled.
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Reported-by: default avatarAndi Kleen <andi@firstfloor.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8375ad98
    • Andrew Morton's avatar
      mm/shmem.c: remove an ifdef · 250297ed
      Andrew Morton authored
      Create a CONFIG_MMU=y stub for ramfs_nommu_expand_for_mapping() in the
      usual fashion.
      
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Wolfram Sang <wsa@the-dreams.de>
      Cc: Hugh Dickins <hughd@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      250297ed
    • David Rientjes's avatar
      mm, show_mem: suppress page counts in non-blockable contexts · 4b59e6c4
      David Rientjes authored
      On large systems with a lot of memory, walking all RAM to determine page
      types may take a half second or even more.
      
      In non-blockable contexts, the page allocator will emit a page allocation
      failure warning unless __GFP_NOWARN is specified.  In such contexts, irqs
      are typically disabled and such a lengthy delay may even result in NMI
      watchdog timeouts.
      
      To fix this, suppress the page walk in such contexts when printing the
      page allocation failure warning.
      Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Acked-by: default avatarMichal Hocko <mhocko@suse.cz>
      Cc: Dave Hansen <dave@linux.vnet.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4b59e6c4
    • Robert Jarzmik's avatar
      mm: trace filemap add and del · fe0bfaaf
      Robert Jarzmik authored
      Use the events API to trace filemap loading and unloading of file pieces
      into the page cache.
      
      This patch aims at tracing the eviction reload cycle of executable and
      shared libraries pages in a memory constrained environment.
      
      The typical usage is to spot a specific device and inode (for example
      /lib/libc.so) to see the eviction cycles, and find out if frequently
      used code is rather spread across many pages (bad) or coallesced (good).
      Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fe0bfaaf
    • Naoya Horiguchi's avatar
      HWPOISON: check dirty flag to match against clean page · e3986295
      Naoya Horiguchi authored
      Currently page_action() does not check dirty flag to determine whether
      the error page is "clean mlocked/unevictable LRU" page.  This doesn't
      cause any misjudgement because we do matching against "dirty
      mlocked/unevictable LRU" just before the check.  But in order to make
      code consistent and/or to avoid potential regression, we had better
      check dirty flag explicitly.
      Signed-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Suggested-by: default avatarChen Gong <gong.chen@linux.intel.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Wu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e3986295
    • Ming Lei's avatar
      fs/read_write.c: fix generic_file_llseek() comment · 546ae2d2
      Ming Lei authored
      Commit ef3d0fd2 ("vfs: do (nearly) lockless generic_file_llseek")
      has removed i_mutex from generic_file_llseek, so update the comment
      accordingly.
      Signed-off-by: default avatarMing Lei <tom.leiming@gmail.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      546ae2d2
    • James Hogan's avatar
      debug_locks.h: make warning more verbose · 2c2fea11
      James Hogan authored
      The WARN_ON(1) in DEBUG_LOCKS_WARN_ON is surprisingly awkward to track
      down when it's hit, as it's usually buried in macros, causing multiple
      instances to land on the same line number.
      
      This patch makes it more useful by switching to:
      
          WARN(1, "DEBUG_LOCKS_WARN_ON(%s)", #c);
      
      so that the particular DEBUG_LOCKS_WARN_ON is more easily identified and
      grep'd for.  For example:
      
          WARNING: at kernel/mutex.c:198 _mutex_lock_nested+0x31c/0x380()
          DEBUG_LOCKS_WARN_ON(l->magic != l)
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2c2fea11
    • Sachin Kamat's avatar
      ocfs2/dlm: remove redundant null pointer check · 7cfa74d1
      Sachin Kamat authored
      kfree on a NULL pointer is a no-op.  Remove the redundant null pointer
      check.
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Acked-by: default avatarMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7cfa74d1
    • Dan Carpenter's avatar
      ocfs2: fix NULL dereference for moving extents · 7f4804d4
      Dan Carpenter authored
      We can't dereference "bg" before it has been assigned.  GCC should have
      warned about this but "bg" was initialized to NULL.  I've fixed that as
      well.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarJie Liu <jeff.liu@oracle.com>
      Reviewed-by: default avatarJie Liu <jeff.liu@oracle.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7f4804d4
    • Dan Carpenter's avatar
      ocfs2: fix error handling in ocfs2_ioctl_move_extents() · 85a258b7
      Dan Carpenter authored
      Smatch complains that if we hit an error (for example if the file is
      immutable) then "range" has uninitialized stack data and we copy it to
      the user.
      
      I've re-written the error handling to avoid this problem and make it a
      little cleaner as well.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarJie Liu <jeff.liu@oracle.com>
      Reviewed-by: default avatarJie Liu <jeff.liu@oracle.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      85a258b7
    • Wei Yongjun's avatar
      ocfs2: fix error return code in ocfs2_info_handle_freefrag() · 7ebab453
      Wei Yongjun authored
      Fix to return a negative error code from the error handling case instead
      of 0, as returned elsewhere in this function.
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7ebab453
    • Jeff Liu's avatar
      ocfs2: delay inode update transactions after verifying the input flags · b3e0767a
      Jeff Liu authored
      There is no need to start the inode update transactions before/while
      verifying the input flags.  As a refinement, this patch delay the
      transactions utill the pre-check up is ok.
      Signed-off-by: default avatarJie Liu <jeff.liu@oracle.com>
      Acked-by: default avatarJoel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b3e0767a
    • Borislav Petkov's avatar
      scripts/decodecode: make faulting insn ptr more robust · 18ff44b1
      Borislav Petkov authored
      It can accidentally happen that the faulting insn (the exact instruction
      bytes) is repeated a little further on in the trace.  This causes that
      same instruction to be tagged twice, see example below.
      
      What we want to do, however, is to track back from the end of the whole
      disassembly so many lines as the slice which starts with the faulting
      instruction is long.  This leads us to the actual faulting instruction
      and *then* we tag it.
      
      While we're at it, we can drop the sed "g" flag because we address only
      this one line.
      
      Also, if we point to an instruction which changes decoding depending on
      the slice being objdumped, like a Jcc insn, for example, we do not even
      tag it as a faulting instruction because the instruction decode changes
      in the second slice but we use that second format as a regex on the
      fsrst disassembled buffer and more often than not that instruction
      doesn't match.
      
      Again, simply tag the line which is deduced from the original "<>"
      marking we've received from the kernel.
      
      This also solves the pathologic issue of multiple tagging like this:
      
        29:*  0f 0b                   ud2         <-- trapping instruction
        2b:*  0f 0b                   ud2         <-- trapping instruction
        2d:*  0f 0b                   ud2         <-- trapping instruction
      
      Double tagging example:
      
      Code: 34 dd 40 30 ad 81 48 c7 c0 80 f6 00 00 48 8b 3c 30 48 01 c6 b8 ff ff ff ff 48 8d 57 f0 48 39 f7 74 2f 49 8b 4c 24 08 48 8b 47 f0 <48> 39 48 08 75 0e eb 2a 66 90 48 8b 40 f0 48 39 48 08 74 1e 48
      All code
      ========
         0:   34 dd                   xor    $0xdd,%al
         2:   40 30 ad 81 48 c7 c0    xor    %bpl,-0x3f38b77f(%rbp)
         9:   80 f6 00                xor    $0x0,%dh
         c:   00 48 8b                add    %cl,-0x75(%rax)
         f:   3c 30                   cmp    $0x30,%al
        11:   48 01 c6                add    %rax,%rsi
        14:   b8 ff ff ff ff          mov    $0xffffffff,%eax
        19:   48 8d 57 f0             lea    -0x10(%rdi),%rdx
        1d:   48 39 f7                cmp    %rsi,%rdi
        20:   74 2f                   je     0x51
        22:   49 8b 4c 24 08          mov    0x8(%r12),%rcx
        27:   48 8b 47 f0             mov    -0x10(%rdi),%rax
        2b:*  48 39 48 08             cmp    %rcx,0x8(%rax)     <-- trapping instruction
        2f:   75 0e                   jne    0x3f
        31:   eb 2a                   jmp    0x5d
        33:   66 90                   xchg   %ax,%ax
        35:   48 8b 40 f0             mov    -0x10(%rax),%rax
        39:*  48 39 48 08             cmp    %rcx,0x8(%rax)     <-- trapping instruction
        3d:   74 1e                   je     0x5d
        3f:   48                      rex.W
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      18ff44b1
    • Rob Landley's avatar
      mkcapflags.pl: convert to mkcapflags.sh · 0c0de199
      Rob Landley authored
      Generate asm-x86/cpufeature.h with posix-2008 commands instead of perl.
      Signed-off-by: default avatarRob Landley <rob@landley.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Josh Boyer <jwboyer@redhat.com>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: David Howells <dhowell@redhat.com>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0c0de199
    • Anurup m's avatar
      fs/fscache/stats.c: fix memory leak · ec686c92
      Anurup m authored
      There is a kernel memory leak observed when the proc file
      /proc/fs/fscache/stats is read.
      
      The reason is that in fscache_stats_open, single_open is called and the
      respective release function is not called during release.  Hence fix
      with correct release function - single_release().
      
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=57101Signed-off-by: default avatarAnurup m <anurup.m@huawei.com>
      Cc: shyju pv <shyju.pv@huawei.com>
      Cc: Sanil kumar <sanil.kumar@huawei.com>
      Cc: Nataraj m <nataraj.m@huawei.com>
      Cc: Li Zefan <lizefan@huawei.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ec686c92
    • Zhou Zhu's avatar
      drivers/video/mmp: remove legacy hw definitions · ee8ad726
      Zhou Zhu authored
      Removed legacy hw definitions in hw/mmp_ctrl.h.  These definitions are
      for earlier soc versions and are not supported in this driver.
      Signed-off-by: default avatarZhou Zhu <zzhu3@marvell.com>
      Cc: Paul Bolle <pebolle@tiscali.nl>
      Cc: Lisa Du <cldu@marvell.com>
      Cc: Guoqing Li <ligq@marvell.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ee8ad726
    • H Hartley Sweeten's avatar
      drivers/video/ep93xx-fb.c: fix section mismatch and use module_platform_driver · bb5254d2
      H Hartley Sweeten authored
      Remove the __init tags from the ep93xxfb_calc_fbsize() and
      ep93xxfb_alloc_videomem() functions to fix the section mismatch
      warnings.
      
      Use module_platform_driver() to remove the init/exit boilerplate.
      Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
      Cc: Ryan Mallon <rmallon@gmail.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bb5254d2
    • Sachin Kamat's avatar
      drivers/video/exynos/exynos_mipi_dsi.c: convert to devm_ioremap_resource() · 6637eca3
      Sachin Kamat authored
      Use the newly introduced devm_ioremap_resource() instead of
      devm_request_and_ioremap() which provides more consistent error
      handling.
      
      devm_ioremap_resource() provides its own error messages; so all explicit
      error messages can be removed from the failure code paths.
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Cc: Donghwa Lee <dh09.lee@samsung.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Reviewed-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6637eca3
    • Haiyang Zhang's avatar
      drivers/video: add Hyper-V Synthetic Video Frame Buffer Driver · 68a2d20b
      Haiyang Zhang authored
      This is the driver for the Hyper-V Synthetic Video, which supports
      screen resolution up to Full HD 1920x1080 on Windows Server 2012 host,
      and 1600x1200 on Windows Server 2008 R2 or earlier.  It also solves the
      double mouse cursor issue of the emulated video mode.
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
      Cc: Olaf Hering <olaf@aepfle.de>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      68a2d20b
    • Devendra Naga's avatar
      drivers/video/console/fbcon_cw.c: fix compiler warning in cw_update_attr · 6cd472d3
      Devendra Naga authored
      With make W=1 we get
      
        drivers/video/console/fbcon_cw.c: In function `cw_update_attr':
        drivers/video/console/fbcon_cw.c:30:8: warning: variable `t' set but not used [-Wunused-but-set-variable]
      
      fixed by removing as since its used nowhere
      Signed-off-by: default avatarDevendra Naga <devendra.aaru@gmail.com>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6cd472d3
    • Shubhrajyoti Datta's avatar
      matroxfb: convert struct i2c_msg initialization to C99 format · 86fa05e0
      Shubhrajyoti Datta authored
      Convert the struct i2c_msg initialization to C99 format.  This makes
      maintaining and editing the code simpler.  Also helps once other fields
      like transferred are added in future.
      
      Thanks to Julia Lawall for automating the conversion.
      Signed-off-by: default avatarShubhrajyoti D <shubhrajyoti@ti.com>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Julia Lawall <julia@diku.dk>
      Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      86fa05e0
    • Chen Gang's avatar
      kernel/audit_tree.c: tree will leak memory when failure occurs in audit_trim_trees() · 12b2f117
      Chen Gang authored
      audit_trim_trees() calls get_tree().  If a failure occurs we must call
      put_tree().
      
      [akpm@linux-foundation.org: run put_tree() before mutex_lock() for small scalability improvement]
      Signed-off-by: default avatarChen Gang <gang.chen@asianux.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Eric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      12b2f117
    • Chen Gang's avatar
      kernel/auditfilter.c: tree and watch will memory leak when failure occurs · 373e0f34
      Chen Gang authored
      In audit_data_to_entry() when a failure occurs we must check and free
      the tree and watch to avoid a memory leak.
      
        test:
          plan:
            test command:
              "auditctl -a exit,always -w /etc -F auid=-1"
              (on fedora17, need modify auditctl to let "-w /etc" has effect)
            running:
              under fedora17 x86_64, 2 CPUs 3.20GHz, 2.5GB RAM.
              let 15 auditctl processes continue running at the same time.
            monitor command:
              watch -d -n 1 "cat /proc/meminfo | awk '{print \$2}' \
                | head -n 4 | xargs \
                | awk '{print \"used \",\$1 - \$2 - \$3 - \$4}'"
      
          result:
            for original version:
              will use up all memory, within 3 hours.
              kill all auditctl, the memory still does not free.
            for new version (apply this patch):
              after 14 hours later, not find issues.
      Signed-off-by: default avatarChen Gang <gang.chen@asianux.com>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      373e0f34
    • Gao feng's avatar
      audit: remove unnecessary #if CONFIG_AUDIT · dde5b7d6
      Gao feng authored
      The files which include kernel/audit.h are complied only when
      CONFIG_AUDIT is set.
      
      Just like audit_pid, there is no need to surround audit_ever_enabled
      with CONFIG_AUDIT.
      Signed-off-by: default avatarGao feng <gaofeng@cn.fujitsu.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Eric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dde5b7d6
    • Gao feng's avatar
      audit: remove duplicate export of audit_enabled · 374c586d
      Gao feng authored
      audit_enabled has already been exported in include/linux/audit.h.  and
      kernel/audit.h includes include/linux/audit.h, no need to export
      aduit_enabled again in kernel/audit.h
      Signed-off-by: default avatarGao feng <gaofeng@cn.fujitsu.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Eric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      374c586d
    • Gao feng's avatar
      audit: don't check if kauditd is valid every time · 13f51e1c
      Gao feng authored
      We only need to check if kauditd is valid after we start it, if kauditd
      is invalid, we will set kauditd_task to NULL.  So next time, we will
      start kauditd again.
      
      It means if kauditd_task is not NULL,it must be valid.
      Signed-off-by: default avatarGao feng <gaofeng@cn.fujitsu.com>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      13f51e1c
    • Rakib Mullick's avatar
      kernel/auditsc.c: use kzalloc instead of kmalloc+memset · 3f68613f
      Rakib Mullick authored
      In audit_alloc_context() use kzalloc instead of kmalloc+memset.  Also
      rename audit_zero_context() to audit_set_context(), to represent it's
      inner workings properly.
      
      [akpm@linux-foundation.org: remove audit_set_context() altogether - fold it into its caller]
      Signed-off-by: default avatarRakib Mullick <rakib.mullick@gmail.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Eric Paris <eparis@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3f68613f
    • Oleg Nesterov's avatar
      kthread: kill task_get_live_kthread() · b5c5442b
      Oleg Nesterov authored
      task_get_live_kthread() looks confusing and unneeded.  It does
      get_task_struct() but only kthread_stop() needs this, it can be called
      even if the calller doesn't have a reference when we know that this
      kthread can't exit until we do kthread_stop().
      
      kthread_park() and kthread_unpark() do not need get_task_struct(), the
      callers already have the reference.  And it can not help if we can race
      with the exiting kthread anyway, kthread_park() can hang forever in this
      case.
      
      Change kthread_park() and kthread_unpark() to use to_live_kthread(),
      change kthread_stop() to do get_task_struct() by hand and remove
      task_get_live_kthread().
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
      Cc: Tejun Heo <tj@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b5c5442b
    • Oleg Nesterov's avatar
      kthread: introduce to_live_kthread() · 4ecdafc8
      Oleg Nesterov authored
      "k->vfork_done != NULL" with a barrier() after to_kthread(k) in
      task_get_live_kthread(k) looks unclear, and sub-optimal because we load
      ->vfork_done twice.
      
      All we need is to ensure that we do not return to_kthread(NULL).  Add a
      new trivial helper which loads/checks ->vfork_done once, this also looks
      more understandable.
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
      Cc: Tejun Heo <tj@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4ecdafc8
    • Linus Torvalds's avatar
      Merge tag 'usb-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · ec25e246
      Linus Torvalds authored
      Pull USB patches from Greg Kroah-Hartman:
       "Here's the big USB pull request for 3.10-rc1.
      
        Lots of USB patches here, the majority being USB gadget changes and
        USB-serial driver cleanups, the rest being ARM build fixes / cleanups,
        and individual driver updates.  We also finally got some chipidea
        fixes, which have been delayed for a number of kernel releases, as the
        maintainer has now reappeared.
      
        All of these have been in linux-next for a while"
      
      * tag 'usb-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (568 commits)
        USB: ehci-msm: USB_MSM_OTG needs USB_PHY
        USB: OHCI: avoid conflicting platform drivers
        USB: OMAP: ISP1301 needs USB_PHY
        USB: lpc32xx: ISP1301 needs USB_PHY
        USB: ftdi_sio: enable two UART ports on ST Microconnect Lite
        usb: phy: tegra: don't call into tegra-ehci directly
        usb: phy: phy core cannot yet be a module
        USB: Fix initconst in ehci driver
        usb-storage: CY7C68300A chips do not support Cypress ATACB
        USB: serial: option: Added support Olivetti Olicard 145
        USB: ftdi_sio: correct ST Micro Connect Lite PIDs
        ARM: mxs_defconfig: add CONFIG_USB_PHY
        ARM: imx_v6_v7_defconfig: add CONFIG_USB_PHY
        usb: phy: remove exported function from __init section
        usb: gadget: zero: put function instances on unbind
        usb: gadget: f_sourcesink.c: correct a copy-paste misnomer
        usb: gadget: cdc2: fix error return code in cdc_do_config()
        usb: gadget: multi: fix error return code in rndis_do_config()
        usb: gadget: f_obex: fix error return code in obex_bind()
        USB: storage: convert to use module_usb_driver()
        ...
      ec25e246
    • Linus Torvalds's avatar
      Merge tag 'tty-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 507ffe4f
      Linus Torvalds authored
      Pull tty/serial driver update from Greg Kroah-Hartman:
       "Here's the big tty/serial driver merge request for 3.10-rc1
      
        Once again, Jiri has a number of TTY driver fixes and cleanups, and
        Peter Hurley came through with a bunch of ldisc fixes that resolve a
        number of reported issues.  There are some other serial driver
        cleanups as well.
      
        All of these have been in the linux-next tree for a while"
      
      * tag 'tty-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (117 commits)
        tty/serial/sirf: fix MODULE_DEVICE_TABLE
        serial: mxs: drop superfluous {get|put}_device
        serial: mxs: fix buffer overflow
        ARM: PL011: add support for extended FIFO-size of PL011-r1p5
        serial_core.c: add put_device() after device_find_child()
        tty: Fix unsafe bit ops in tty_throttle_safe/unthrottle_safe
        serial: sccnxp: Replace pdata.init/exit with regulator API
        serial: sccnxp: Do not override device name
        TTY: pty, fix compilation warning
        TTY: rocket, fix compilation warning
        TTY: ircomm: fix DTR being raised on hang up
        TTY: synclinkmp: fix DTR being raised on hang up
        TTY: synclink_gt: fix DTR being raised on hang up
        TTY: synclink: fix DTR being raised on hang up
        serial: 8250_dw: Fix the stub for dw8250_probe_acpi()
        serial: 8250_dw: Convert to devm_ioremap()
        serial: 8250_dw: Set port capabilities based on CPR register
        serial: 8250_dw: Let ACPI code extract the DMA client info
        serial: 8250_dw: Support clk framework also with ACPI
        serial: 8250_dw: Enable runtime PM
        ...
      507ffe4f
    • Linus Torvalds's avatar
      Merge tag 'staging-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · fdc719b6
      Linus Torvalds authored
      Pull staging driver tree update from Greg Kroah-Hartman:
       "Here's the big staging driver tree update for 3.10-rc1
      
        This update contains loads of comedi driver cleanups and fixes in
        here, iio updates, android driver changes, and other various staging
        driver cleanups.
      
        Thanks to some drivers being removed, and the comedi driver cleanups,
        we have removed more code than we added:
      
         627 files changed, 65145 insertions(+), 76321 deletions(-)
      
        which is always nice to see.
      
        All of these have been in linux-next for a while."
      
      * tag 'staging-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (940 commits)
        staging: comedi: ni_labpc: fix legacy driver build
        staging: comedi: das800: cleanup the cio-das802/16 fifo comments
        staging: comedi: das800: rename CamelCase vars in das800_ai_do_cmd()
        staging: comedi: das800: tidy up the private data
        staging: comedi: das800: tidy up das800_interrupt()
        staging: comedi: das800: tidy up das800_ai_insn_read()
        staging: comedi: das800: tidy up das800_di_insn_bits()
        staging: comedi: das800: tidy up das800_do_insn_bits()
        staging: comedi: das800: remove extra divisor calculation call
        staging: comedi: das800: rename {enable,disable}_das800
        staging: comedi: das800: tidy up subdevice init
        staging: comedi: das800: allow attaching without interrupt support
        staging: comedi: das800: interrupts are required for async command support
        staging: comedi: das800: tidy up das800_ai_do_cmdtest()
        staging: comedi: das800: remove 'volatile' on private data variables
        staging: comedi: das800: cleanup the boardinfo
        staging: comedi: das800: cleanup range table declarations
        staging: comedi: das800: introduce das800_ind_{write, read}()
        staging: comedi: das800: remove forward declarations
        staging: comedi: das800: move das800_set_frequency()
        ...
      fdc719b6
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.10-rc1' of... · 2794b5d4
      Linus Torvalds authored
      Merge tag 'driver-core-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core update from Greg Kroah-Hartman:
       "Here's the merge request for the driver core tree for 3.10-rc1
      
        It's pretty small, just a number of driver core and sysfs updates and
        fixes, all of which have been in linux-next for a while now.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      Fixed conflict in kernel/rtmutex-tester.c, the locking tree had a better
      fix for the same sysfs file mode problem.
      
      * tag 'driver-core-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        PM / Runtime: Idle devices asynchronously after probe|release
        driver core: handle user namespaces properly with the uid/gid devtmpfs change
        driver core: devtmpfs: fix compile failure with CONFIG_UIDGID_STRICT_TYPE_CHECKS
        devtmpfs: add base.h include
        driver core: add uid and gid to devtmpfs
        sysfs: check if one entry has been removed before freeing
        sysfs: fix crash_notes_size build warning
        sysfs: fix use after free in case of concurrent read/write and readdir
        rtmutex-tester: fix mode of sysfs files
        Documentation: Add ABI entry for crash_notes and crash_notes_size
        sysfs: Add crash_notes_size to export percpu note size
        driver core: platform_device.h: fix checkpatch errors and warnings
        driver core: platform.c: fix checkpatch errors and warnings
        driver core: warn that platform_driver_probe can not use deferred probing
        sysfs: use atomic_inc_unless_negative in sysfs_get_active
        base: core: WARN() about bogus permissions on device attributes
        device: separate all subsys mutexes
      2794b5d4
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 4f567cbc
      Linus Torvalds authored
      Pull char/misc driver update from Greg Kroah-Hartman:
       "Here's the big char / misc driver update for 3.10-rc1
      
        A number of various driver updates, the majority being new
        functionality in the MEI driver subsystem (it's now a subsystem, it
        started out just a single driver), extcon updates, memory updates,
        hyper-v updates, and a bunch of other small stuff that doesn't fit in
        any other tree.
      
        All of these have been in linux-next for a while"
      
      * tag 'char-misc-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (148 commits)
        Tools: hv: Fix a checkpatch warning
        tools: hv: skip iso9660 mounts in hv_vss_daemon
        tools: hv: use FIFREEZE/FITHAW in hv_vss_daemon
        tools: hv: use getmntent in hv_vss_daemon
        Tools: hv: Fix a checkpatch warning
        tools: hv: fix checks for origin of netlink message in hv_vss_daemon
        Tools: hv: fix warnings in hv_vss_daemon
        misc: mark spear13xx-pcie-gadget as broken
        mei: fix krealloc() misuse in in mei_cl_irq_read_msg()
        mei: reduce flow control only for completed messages
        mei: reseting -> resetting
        mei: fix reading large reposnes
        mei: revamp mei_irq_read_client_message function
        mei: revamp mei_amthif_irq_read_message
        mei: revamp hbm state machine
        Revert "drivers/scsi: use module_pcmcia_driver() in pcmcia drivers"
        Revert "scsi: pcmcia: nsp_cs: remove module init/exit function prototypes"
        scsi: pcmcia: nsp_cs: remove module init/exit function prototypes
        mei: wd: fix line over 80 characters
        misc: tsl2550: Use dev_pm_ops
        ...
      4f567cbc
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 92ddcf4a
      Linus Torvalds authored
      Pull hwmon update from Guenter Roeck:
      
       - New drivers for NCT6775, NCT6776, NCT6779, and LM95234.
      
       - Added support for LTC2974, LTC3883, LM25056, TMP431, TMP432, ADT7310,
         and ADT7320 to existing drivers.
      
       - Various code cleanups and minor improvements.
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (54 commits)
        hwmon: (nct6775) Fix coding style problems
        hwmon: (nct6775) Constify strings
        hwmon: (tmp401) Add support for TMP432
        hwmon: (tmp401) Add support for update_interval attribute
        hwmon: (tmp401) Reset valid flag when resetting temperature history
        hwmon: (tmp401) Simplification and cleanup
        hwmon: (tmp401) Use sysfs_create_group / sysfs_remove_group
        hwmon: (tmp401) Drop unused defines, use BIT for bit masks
        hwmon: (nct6775) Use ARRAY_SIZE for loops where possible
        documentation: hwmon: Fix typo in documentation/hwmon
        hwmon: (nct6775) Enable both AUXTIN and VIN3 on NCT6776
        hwmon: (ad7314) use spi_get_drvdata() and spi_set_drvdata()
        MAINTAINERS: Add myself as maintainer for the NCT6775 driver
        hwmon: (nct6775) Expand scope of supported chips
        hwmon: (gpio-fan) Use is_visible to determine if attributes should be created
        hwmon: (tmp401) Fix device detection for TMP411B and TMP411C
        hwmon: Add driver for LM95234
        hwmon: (tmp401) Add support for TMP431
        hwmon: (pmbus/lm25066) Add support for LM25056
        hwmon: (pmbus/lm25066) Refactor device specific coefficients
        ...
      92ddcf4a
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 000a74f4
      Linus Torvalds authored
      Pull pinctrl update from Linus Walleij:
       "These are the pinctrl changes for v3.10:
      
         - Patrice Chotard contributed a new configuration debugfs interface
           and reintroduced fine-grained locking into the core: instead of
           having a "big pinctrl lock" we have a per-controller lock and
           specialized locks for the global controller and pinctrl handle
           lists.
      
         - Haoijan Zhuang deleted all the PXA and MMP2 pinctrl drivers and
           replaced them with pinctrl-single (which is also used by other
           SoCs) so we are gaining consolidation.  The platform particulars
           now come in through the device tree.
      
         - Haoijan also added support for generic pin config into the
           pinctrl-single driver which is another big consolidation win.
      
         - Finally also GPIO ranges are now supported by the pinctrl-single
           driver.
      
         - Tomasz Figa contributed a new Samsung S3C pinctrl driver, bringing
           more of the older Samsung platforms under the pinctrl umbrella and
           out of arch/arm.
      
         - Maxime Ripard contributed new Allwinner A10/A13 drivers.
      
         - Sachin Kamat, Wei Yongjun and Axel Lin did a lot of cleanups."
      
      * tag 'pinctrl-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (66 commits)
        pinctrl: move subsystem mutex to pinctrl_dev struct
        pinctrl/pinconfig: fix misplaced goto
        pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter
        pinctrl/pinconfig: add debug interface
        pinctrl: abx500: fix issue when no pdata
        pinctrl: pinctrl-single: add missing double quote
        pinctrl: sunxi: Rename wemac functions to emac
        pinctrl: exynos5440: add gpio interrupt support
        pinctrl: exynos5440: fix probe failure due to missing pin-list in config nodes
        pinctrl: ab8505: Staticize some symbols
        pinctrl: ab8540: Staticize some symbols
        pinctrl: ab9540: Staticize some symbols
        pinctrl: ab8500: Staticize some symbols
        pinctrl: abx500: Staticize some symbols
        pinctrl: Add pinctrl-s3c64xx driver
        pinctrl: samsung: Handle banks with two configuration registers
        pinctrl: samsung: Remove hardcoded register offsets
        pinctrl: samsung: Split pin bank description into two structures
        pinctrl: samsung: Include pinctrl-exynos driver data conditionally
        pinctrl: samsung: Protect bank registers with a spinlock
        ...
      000a74f4
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-3.10' of git://gitorious.org/linux-omap-dss2/linux · 8127b39e
      Linus Torvalds authored
      Pull fbdev updates from Tomi Valkeinen:
      
       - use vm_iomap_memory() in various fb drivers to map the fb memory to
         userspace
      
       - Cleanups for the videomode and display_timing features
      
       - Updates to vt8500, wm8505 and auo-k190x fb drivers
      
      * tag 'fbdev-for-3.10' of git://gitorious.org/linux-omap-dss2/linux: (36 commits)
        fbdev: fix check for fb_mmap's mmio availability
        fbdev: improve fb_mmap bounds checks
        fbdev/ps3fb: use vm_iomap_memory()
        fbdev/sgivwfb: use vm_iomap_memory()
        fbdev/vermillion: use vm_iomap_memory()
        fbdev/sa1100fb: use vm_iomap_memory()
        fbdev/fb-puv3: use vm_iomap_memory()
        fbdev/controlfb: use vm_iomap_memory()
        fbdev/omapfb: use vm_iomap_memory()
        video: vt8500: fix Kconfig for videomode
        video/s3c: move platform_data out of arch/arm
        video/exynos: remove unnecessary header inclusions
        drivers/video: fsl-diu-fb: add hardware cursor support
        drivers: video: use module_platform_driver_probe()
        ARM: OMAP: remove "config FB_OMAP_CONSISTENT_DMA_SIZE"
        video: wm8505fb: Convert to devm_ioremap_resource()
        AUO-K190x: Add resolutions for portrait displays
        AUO-K190x: add framebuffer rotation support
        AUO-K190x: add a 16bit truecolor mode
        AUO-K190x: make color handling more flexible
        ...
      8127b39e
    • Linus Torvalds's avatar
      Merge tag 'pci-v3.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 96a3e8af
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "PCI changes for the v3.10 merge window:
      
        PCI device hotplug
         - Remove ACPI PCI subdrivers (Jiang Liu, Myron Stowe)
         - Make acpiphp builtin only, not modular (Jiang Liu)
         - Add acpiphp mutual exclusion (Jiang Liu)
      
        Power management
         - Skip "PME enabled/disabled" messages when not supported (Rafael
           Wysocki)
         - Fix fallback to PCI_D0 (Rafael Wysocki)
      
        Miscellaneous
         - Factor quirk_io_region (Yinghai Lu)
         - Cache MSI capability offsets & cleanup (Gavin Shan, Bjorn Helgaas)
         - Clean up EISA resource initialization and logging (Bjorn Helgaas)
         - Fix prototype warnings (Andy Shevchenko, Bjorn Helgaas)
         - MIPS: Initialize of_node before scanning bus (Gabor Juhos)
         - Fix pcibios_get_phb_of_node() declaration "weak" annotation (Gabor
           Juhos)
         - Add MSI INTX_DISABLE quirks for AR8161/AR8162/etc (Xiong Huang)
         - Fix aer_inject return values (Prarit Bhargava)
         - Remove PME/ACPI dependency (Andrew Murray)
         - Use shared PCI_BUS_NUM() and PCI_DEVID() (Shuah Khan)"
      
      * tag 'pci-v3.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (63 commits)
        vfio-pci: Use cached MSI/MSI-X capabilities
        vfio-pci: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK
        PCI: Remove "extern" from function declarations
        PCI: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK
        PCI: Drop msi_mask_reg() and remove drivers/pci/msi.h
        PCI: Use msix_table_size() directly, drop multi_msix_capable()
        PCI: Drop msix_table_offset_reg() and msix_pba_offset_reg() macros
        PCI: Drop is_64bit_address() and is_mask_bit_support() macros
        PCI: Drop msi_data_reg() macro
        PCI: Drop msi_lower_address_reg() and msi_upper_address_reg() macros
        PCI: Drop msi_control_reg() macro and use PCI_MSI_FLAGS directly
        PCI: Use cached MSI/MSI-X offsets from dev, not from msi_desc
        PCI: Clean up MSI/MSI-X capability #defines
        PCI: Use cached MSI-X cap while enabling MSI-X
        PCI: Use cached MSI cap while enabling MSI interrupts
        PCI: Remove MSI/MSI-X cap check in pci_msi_check_device()
        PCI: Cache MSI/MSI-X capability offsets in struct pci_dev
        PCI: Use u8, not int, for PM capability offset
        [SCSI] megaraid_sas: Use correct #define for MSI-X capability
        PCI: Remove "extern" from function declarations
        ...
      96a3e8af