1. 11 9月, 2014 12 次提交
    • L
      Merge branch 'akpm' (fixes from Andrew Morton) · 584f1ada
      Linus Torvalds 提交于
      Merge misc fixes from Andrew Morton:
       "10 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        fs/notify: don't show f_handle if exportfs_encode_inode_fh failed
        fsnotify/fdinfo: use named constants instead of hardcoded values
        kcmp: fix standard comparison bug
        mm/mmap.c: use pr_emerg when printing BUG related information
        shm: add memfd.h to UAPI export list
        checkpatch: allow commit descriptions on separate line from commit id
        sh: get_user_pages_fast() must flush cache
        eventpoll: fix uninitialized variable in epoll_ctl
        kernel/printk/printk.c: fix faulty logic in the case of recursive printk
        mem-hotplug: let memblock skip the hotpluggable memory regions in __next_mem_range()
      584f1ada
    • A
      fs/notify: don't show f_handle if exportfs_encode_inode_fh failed · 7e882481
      Andrey Vagin 提交于
      Currently we handle only ENOSPC.  In case of other errors the file_handle
      variable isn't filled properly and we will show a part of stack.
      Signed-off-by: NAndrey Vagin <avagin@openvz.org>
      Acked-by: NCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7e882481
    • A
      fsnotify/fdinfo: use named constants instead of hardcoded values · 1fc98d11
      Andrey Vagin 提交于
      MAX_HANDLE_SZ is equal to 128, but currently the size of pad is only 64
      bytes, so exportfs_encode_inode_fh can return an error.
      Signed-off-by: NAndrey Vagin <avagin@openvz.org>
      Acked-by: NCyrill Gorcunov <gorcunov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1fc98d11
    • R
      kcmp: fix standard comparison bug · acbbe6fb
      Rasmus Villemoes 提交于
      The C operator <= defines a perfectly fine total ordering on the set of
      values representable in a long.  However, unlike its namesake in the
      integers, it is not translation invariant, meaning that we do not have
      "b <= c" iff "a+b <= a+c" for all a,b,c.
      
      This means that it is always wrong to try to boil down the relationship
      between two longs to a question about the sign of their difference,
      because the resulting relation [a LEQ b iff a-b <= 0] is neither
      anti-symmetric or transitive.  The former is due to -LONG_MIN==LONG_MIN
      (take any two a,b with a-b = LONG_MIN; then a LEQ b and b LEQ a, but a !=
      b).  The latter can either be seen observing that x LEQ x+1 for all x,
      implying x LEQ x+1 LEQ x+2 ...  LEQ x-1 LEQ x; or more directly with the
      simple example a=LONG_MIN, b=0, c=1, for which a-b < 0, b-c < 0, but a-c >
      0.
      
      Note that it makes absolutely no difference that a transmogrying bijection
      has been applied before the comparison is done.  In fact, had the
      obfuscation not been done, one could probably not observe the bug
      (assuming all values being compared always lie in one half of the address
      space, the mathematical value of a-b is always representable in a long).
      As it stands, one can easily obtain three file descriptors exhibiting the
      non-transitivity of kcmp().
      
      Side note 1: I can't see that ensuring the MSB of the multiplier is
      set serves any purpose other than obfuscating the obfuscating code.
      
      Side note 2:
      #include <stdio.h>
      #include <stdlib.h>
      #include <string.h>
      #include <fcntl.h>
      #include <unistd.h>
      #include <assert.h>
      #include <sys/syscall.h>
      
      enum kcmp_type {
              KCMP_FILE,
              KCMP_VM,
              KCMP_FILES,
              KCMP_FS,
              KCMP_SIGHAND,
              KCMP_IO,
              KCMP_SYSVSEM,
              KCMP_TYPES,
      };
      pid_t pid;
      
      int kcmp(pid_t pid1, pid_t pid2, int type,
      	 unsigned long idx1, unsigned long idx2)
      {
      	return syscall(SYS_kcmp, pid1, pid2, type, idx1, idx2);
      }
      int cmp_fd(int fd1, int fd2)
      {
      	int c = kcmp(pid, pid, KCMP_FILE, fd1, fd2);
      	if (c < 0) {
      		perror("kcmp");
      		exit(1);
      	}
      	assert(0 <= c && c < 3);
      	return c;
      }
      int cmp_fdp(const void *a, const void *b)
      {
      	static const int normalize[] = {0, -1, 1};
      	return normalize[cmp_fd(*(int*)a, *(int*)b)];
      }
      #define MAX 100 /* This is plenty; I've seen it trigger for MAX==3 */
      int main(int argc, char *argv[])
      {
      	int r, s, count = 0;
      	int REL[3] = {0,0,0};
      	int fd[MAX];
      	pid = getpid();
      	while (count < MAX) {
      		r = open("/dev/null", O_RDONLY);
      		if (r < 0)
      			break;
      		fd[count++] = r;
      	}
      	printf("opened %d file descriptors\n", count);
      	for (r = 0; r < count; ++r) {
      		for (s = r+1; s < count; ++s) {
      			REL[cmp_fd(fd[r], fd[s])]++;
      		}
      	}
      	printf("== %d\t< %d\t> %d\n", REL[0], REL[1], REL[2]);
      	qsort(fd, count, sizeof(fd[0]), cmp_fdp);
      	memset(REL, 0, sizeof(REL));
      
      	for (r = 0; r < count; ++r) {
      		for (s = r+1; s < count; ++s) {
      			REL[cmp_fd(fd[r], fd[s])]++;
      		}
      	}
      	printf("== %d\t< %d\t> %d\n", REL[0], REL[1], REL[2]);
      	return (REL[0] + REL[2] != 0);
      }
      Signed-off-by: NRasmus Villemoes <linux@rasmusvillemoes.dk>
      Reviewed-by: NCyrill Gorcunov <gorcunov@openvz.org>
      "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      acbbe6fb
    • S
      mm/mmap.c: use pr_emerg when printing BUG related information · 8542bdfc
      Sasha Levin 提交于
      Make sure we actually see the output of validate_mm() and browse_rb()
      before triggering a BUG().  pr_info isn't shown by default so the reason
      for the BUG() isn't obvious.
      Signed-off-by: NSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8542bdfc
    • D
      shm: add memfd.h to UAPI export list · b01d0720
      David Drysdale 提交于
      The new header file memfd.h from commit 9183df25 ("shm: add
      memfd_create() syscall") should be exported.
      Signed-off-by: NDavid Drysdale <drysdale@google.com>
      Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Cc: Hugh Dickins <hughd@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b01d0720
    • J
      checkpatch: allow commit descriptions on separate line from commit id · 66881735
      Joe Perches 提交于
      The general form for commit id and description is
      
        'Commit <12+hexdigits> ("commit description/subject line")'
      
      but commit logs often have relatively long commit ids and the commit
      description emds on the next line like:
      
        Some explanation as to why commit <12+hexdigits>
        ("commit foo description/subject line") is improved.
      
      Allow this form.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Suggested-by: NJoe Lawrence <joe.lawrence@stratus.com>
      Tested-by: NJoe Lawrence <joe.lawrence@stratus.com>
      Suggested-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      66881735
    • S
      sh: get_user_pages_fast() must flush cache · caac7e6d
      Stas Sergeev 提交于
      This patch avoids fuse hangs on sh4 by flushing the cache on
      get_user_pages_fast().  This is not necessary a good thing to do, but
      get_user_pages() does this, so get_user_pages_fast() should too.
      
      Please note the patch for mips arch that addresses the similar problem:
        https://kernel.googlesource.com/pub/scm/linux/kernel/git/ralf/linux/+/linux-3.4.50%5E!/#F0
      
      They basically simply disable get_user_pages_fast() at all, using a
      fall-back to get_user_pages().  But my fix is different, it adds an
      explicit cache flushes.
      Signed-off-by: NStas Sergeev <stsp@users.sourceforge.net>
      Cc: Geert Uytterhoeven <geert+renesas@glider.be>
      Cc: Kamal Dasu <kdasu.kdev@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      caac7e6d
    • N
      eventpoll: fix uninitialized variable in epoll_ctl · c680e41b
      Nicolas Iooss 提交于
      When calling epoll_ctl with operation EPOLL_CTL_DEL, structure epds is
      not initialized but ep_take_care_of_epollwakeup reads its event field.
      When this unintialized field has EPOLLWAKEUP bit set, a capability check
      is done for CAP_BLOCK_SUSPEND in ep_take_care_of_epollwakeup.  This
      produces unexpected messages in the audit log, such as (on a system
      running SELinux):
      
          type=AVC msg=audit(1408212798.866:410): avc:  denied
          { block_suspend } for  pid=7754 comm="dbus-daemon" capability=36
          scontext=unconfined_u:unconfined_r:unconfined_t
          tcontext=unconfined_u:unconfined_r:unconfined_t
          tclass=capability2 permissive=1
      
          type=SYSCALL msg=audit(1408212798.866:410): arch=c000003e syscall=233
          success=yes exit=0 a0=3 a1=2 a2=9 a3=7fffd4d66ec0 items=0 ppid=1
          pid=7754 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0
          fsgid=0 tty=(none) ses=3 comm="dbus-daemon"
          exe="/usr/bin/dbus-daemon"
          subj=unconfined_u:unconfined_r:unconfined_t key=(null)
      
      ("arch=c000003e syscall=233 a1=2" means "epoll_ctl(op=EPOLL_CTL_DEL)")
      
      Remove use of epds in epoll_ctl when op == EPOLL_CTL_DEL.
      
      Fixes: 4d7e30d9 ("epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are ready")
      Signed-off-by: NNicolas Iooss <nicolas.iooss_linux@m4x.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Arve Hjønnevåg <arve@android.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c680e41b
    • P
      kernel/printk/printk.c: fix faulty logic in the case of recursive printk · 000a7d66
      Patrick Palka 提交于
      We shouldn't set text_len in the code path that detects printk recursion
      because text_len corresponds to the length of the string inside textbuf.
      A few lines down from the line
      
          text_len = strlen(recursion_msg);
      
      is the line
      
          text_len += vscnprintf(text + text_len, ...);
      
      So if printk detects recursion, it sets text_len to 29 (the length of
      recursion_msg) and logs an error.  Then the message supplied by the
      caller of printk is stored inside textbuf but offset by 29 bytes.  This
      means that the output of the recursive call to printk will contain 29
      bytes of garbage in front of it.
      
      This defect is caused by commit 458df9fd ("printk: remove separate
      printk_sched buffers and use printk buf instead") which turned the line
      
          text_len = vscnprintf(text, ...);
      
      into
      
          text_len += vscnprintf(text + text_len, ...);
      
      To fix this, this patch avoids setting text_len when logging the printk
      recursion error.  This patch also marks unlikely() the branch leading up
      to this code.
      
      Fixes: 458df9fd ("printk: remove separate printk_sched buffers and use printk buf instead")
      Signed-off-by: NPatrick Palka <patrick@parcs.ath.cx>
      Reviewed-by: NPetr Mladek <pmladek@suse.cz>
      Reviewed-by: NJan Kara <jack@suse.cz>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      000a7d66
    • X
      mem-hotplug: let memblock skip the hotpluggable memory regions in __next_mem_range() · 0a313a99
      Xishi Qiu 提交于
      Let memblock skip the hotpluggable memory regions in __next_mem_range(),
      it is used to to prevent memblock from allocating hotpluggable memory
      for the kernel at early time. The code is the same as __next_mem_range_rev().
      
      Clear hotpluggable flag before releasing free pages to the buddy
      allocator.  If we don't clear hotpluggable flag in
      free_low_memory_core_early(), the memory which marked hotpluggable flag
      will not free to buddy allocator.  Because __next_mem_range() will skip
      them.
      
      free_low_memory_core_early
      	for_each_free_mem_range
      		for_each_mem_range
      			__next_mem_range
      
      [akpm@linux-foundation.org: fix warning]
      Signed-off-by: NXishi Qiu <qiuxishi@huawei.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Tang Chen <tangchen@cn.fujitsu.com>
      Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
      Cc: Wen Congyang <wency@cn.fujitsu.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Wu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0a313a99
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 7ec62d42
      Linus Torvalds 提交于
      Pull UDF fixes from Jan Kara:
       "Fixes for UDF handling of NFS handles and one fix for proper handling
        of corrupted media"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: saner calling conventions for udf_new_inode()
        udf: fix the udf_iget() vs. udf_new_inode() races
        udf: merge the pieces inserting a new non-directory object into directory
        udf: Set i_generation field
        udf: Properly detect stale inodes
        udf: Make udf_read_inode() and udf_iget() return error
        udf: Avoid infinite loop when processing indirect ICBs
        udf: Fold udf_fill_inode() into __udf_read_inode()
        udf: Avoid dir link count to go negative
      7ec62d42
  2. 10 9月, 2014 2 次提交
    • L
      Merge branch 'for-next-3.17' of git://git.samba.org/sfrench/cifs-2.6 · e874a5fe
      Linus Torvalds 提交于
      Pull cifs/smb3 fixes from Steve French:
       "This includes various cifs and smb3 bug fixes including those for bugs
        found with the recently updated xfstests.
      
        Also I am working fixes for two additional cifs problems found by
        xfstests which I plan to send later (when reviewed and run additional
        tests)"
      
      * 'for-next-3.17' of git://git.samba.org/sfrench/cifs-2.6:
        Clarify Kconfig help text for CIFS and SMB2/SMB3
        CIFS: Fix wrong filename length for SMB2
        CIFS: Fix wrong restart readdir for SMB1
        CIFS: Fix directory rename error
        cifs: No need to send SIGKILL to demux_thread during umount
        cifs: Allow directIO read/write during cache=strict
        cifs: remove unneeded check of null checking in if condition
        cifs: fix a possible use of uninit variable in SMB2_sess_setup
        cifs: fix memory leak when password is supplied multiple times
        cifs: fix a possible null pointer deref in decode_ascii_ssetup
        Trivial whitespace fix
      e874a5fe
    • L
      Merge tag 'microblaze-3.17-rc5' of git://git.monstr.eu/linux-2.6-microblaze · 619df5d2
      Linus Torvalds 提交于
      Pull arch/microblaze fixes from Michal Simek:
       - Kconfig menu structure fix
       - fix number of syscalls
       - fix compilation warnings from allmodconfig
      
      * tag 'microblaze-3.17-rc5' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Fix number of syscalls
        microblaze: Rename Advance setup to Kernel features
        microblaze: Add mm/Kconfig to advance menu
        arch/microblaze/include/asm/uaccess.h: Use pr_devel() instead of pr_debug()
        arch/microblaze/include/asm/entry.h: Include "linux/linkage.h" to avoid compiling issue
      619df5d2
  3. 09 9月, 2014 9 次提交
    • M
      microblaze: Fix number of syscalls · 9fc4b7e2
      Michal Simek 提交于
      Number of syscalls have to be updated too.
      Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
      9fc4b7e2
    • M
      microblaze: Rename Advance setup to Kernel features · b408e2c2
      Michal Simek 提交于
      "Advance setup: menu is misleading that's why rename it.
      Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
      b408e2c2
    • M
      microblaze: Add mm/Kconfig to advance menu · 7acdc1cf
      Michal Simek 提交于
      mm/Kconfig is getting too big to be in root menu.
      Move it to submenu.
      Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
      7acdc1cf
    • C
      arch/microblaze/include/asm/uaccess.h: Use pr_devel() instead of pr_debug() · de295cf0
      Chen Gang 提交于
      When DYNAMIC_DEBUG enabled, pr_debug() depends on KBUILD_MODNAME which
      also depends on the modules number in Makefile. The related information
      in "scripts/Makefile.lib" line 94:
      
        # $(modname_flags) #defines KBUILD_MODNAME as the name of the module it will
        # end up in (or would, if it gets compiled in)
        # Note: Files that end up in two or more modules are compiled without the
        #       KBUILD_MODNAME definition. The reason is that any made-up name would
        #       differ in different configs.
      
      For this case, 'radio-si470x-i2c.o' and 'radio-si470x-common.o' are in
      one line, so cause compiling issue. And 'uaccess.h' is a common shared
      header (not specially for drivers), so use pr_devel() instead of is OK.
      
      The related error with allmodconfig:
      
          CC [M]  drivers/media/radio/si470x/radio-si470x-i2c.o
          CC [M]  drivers/media/radio/si470x/radio-si470x-common.o
        In file included from include/linux/printk.h:257:0,
                         from include/linux/kernel.h:13,
                         from drivers/media/radio/si470x/radio-si470x.h:29,
                         from drivers/media/radio/si470x/radio-si470x-common.c:115:
        ./arch/microblaze/include/asm/uaccess.h: In function 'access_ok':
        include/linux/dynamic_debug.h:66:14: error: 'KBUILD_MODNAME' undeclared (first use in this function)
           .modname = KBUILD_MODNAME,   \
                      ^
        include/linux/dynamic_debug.h:76:2: note: in expansion of macro 'DEFINE_DYNAMIC_DEBUG_METADATA'
          DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt);  \
          ^
        include/linux/printk.h:263:2: note: in expansion of macro 'dynamic_pr_debug'
          dynamic_pr_debug(fmt, ##__VA_ARGS__)
          ^
        ./arch/microblaze/include/asm/uaccess.h:101:3: note: in expansion of macro 'pr_debug'
           pr_debug("ACCESS fail: %s at 0x%08x (size 0x%x), seg 0x%08x\n",
           ^
      Signed-off-by: NChen Gang <gang.chen.5i5j@gmail.com>
      Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
      de295cf0
    • C
      arch/microblaze/include/asm/entry.h: Include "linux/linkage.h" to avoid compiling issue · dd035246
      Chen Gang 提交于
      "entry.h" needs 'asmlinkage', and "asm/linkage.h" does not provide it.
      So need include "linux/linkage.h" to use generic one instead of.
      
      The related error (with allmodconfig under microblaze):
      
          CC [M]  drivers/net/ethernet/emulex/benet/be_main.o
        In file included from ./arch/microblaze/include/asm/processor.h:17:0,
                         from include/linux/prefetch.h:14,
                         from drivers/net/ethernet/emulex/benet/be_main.c:18:
        ./arch/microblaze/include/asm/entry.h:33:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
         extern asmlinkage void do_notify_resume(struct pt_regs *regs, int in_syscall);
                           ^
      Signed-off-by: NChen Gang <gang.chen.5i5j@gmail.com>
      Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
      dd035246
    • L
      Merge branch 'for_linus_urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 8c68face
      Linus Torvalds 提交于
      Pull ext4 bugfix from Ted Ts'o.
      
      [ Hmm.  It's possible we should make kfree() aware of error pointers,
        and use IS_ERR_OR_NULL rather than a NULL check.  But in the meantime
        this is obviously the right fix.  - Linus ]
      
      * 'for_linus_urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: avoid trying to kfree an ERR_PTR pointer
      8c68face
    • L
      Merge branch 'for-3.17' of git://linux-nfs.org/~bfields/linux · 861b7102
      Linus Torvalds 提交于
      Pull nfsd bugfixes from Bruce Fields:
       "A couple minor nfsd bugfixes"
      
      * 'for-3.17' of git://linux-nfs.org/~bfields/linux:
        lockd: fix rpcbind crash on lockd startup failure
        nfsd4: fix rd_dircount enforcement
      861b7102
    • J
      lockd: fix rpcbind crash on lockd startup failure · 7c17705e
      J. Bruce Fields 提交于
      Nikita Yuschenko reported that booting a kernel with init=/bin/sh and
      then nfs mounting without portmap or rpcbind running using a busybox
      mount resulted in:
      
        # mount -t nfs 10.30.130.21:/opt /mnt
        svc: failed to register lockdv1 RPC service (errno 111).
        lockd_up: makesock failed, error=-111
        Unable to handle kernel paging request for data at address 0x00000030
        Faulting instruction address: 0xc055e65c
        Oops: Kernel access of bad area, sig: 11 [#1]
        MPC85xx CDS
        Modules linked in:
        CPU: 0 PID: 1338 Comm: mount Not tainted 3.10.44.cge #117
        task: cf29cea0 ti: cf35c000 task.ti: cf35c000
        NIP: c055e65c LR: c0566490 CTR: c055e648
        REGS: cf35dad0 TRAP: 0300   Not tainted  (3.10.44.cge)
        MSR: 00029000 <CE,EE,ME>  CR: 22442488  XER: 20000000
        DEAR: 00000030, ESR: 00000000
      
        GPR00: c05606f4 cf35db80 cf29cea0 cf0ded80 cf0dedb8 00000001 1dec3086
        00000000
        GPR08: 00000000 c07b1640 00000007 1dec3086 22442482 100b9758 00000000
        10090ae8
        GPR16: 00000000 000186a5 00000000 00000000 100c3018 bfa46edc 100b0000
        bfa46ef0
        GPR24: cf386ae0 c07834f0 00000000 c0565f88 00000001 cf0dedb8 00000000
        cf0ded80
        NIP [c055e65c] call_start+0x14/0x34
        LR [c0566490] __rpc_execute+0x70/0x250
        Call Trace:
        [cf35db80] [00000080] 0x80 (unreliable)
        [cf35dbb0] [c05606f4] rpc_run_task+0x9c/0xc4
        [cf35dbc0] [c0560840] rpc_call_sync+0x50/0xb8
        [cf35dbf0] [c056ee90] rpcb_register_call+0x54/0x84
        [cf35dc10] [c056f24c] rpcb_register+0xf8/0x10c
        [cf35dc70] [c0569e18] svc_unregister.isra.23+0x100/0x108
        [cf35dc90] [c0569e38] svc_rpcb_cleanup+0x18/0x30
        [cf35dca0] [c0198c5c] lockd_up+0x1dc/0x2e0
        [cf35dcd0] [c0195348] nlmclnt_init+0x2c/0xc8
        [cf35dcf0] [c015bb5c] nfs_start_lockd+0x98/0xec
        [cf35dd20] [c015ce6c] nfs_create_server+0x1e8/0x3f4
        [cf35dd90] [c0171590] nfs3_create_server+0x10/0x44
        [cf35dda0] [c016528c] nfs_try_mount+0x158/0x1e4
        [cf35de20] [c01670d0] nfs_fs_mount+0x434/0x8c8
        [cf35de70] [c00cd3bc] mount_fs+0x20/0xbc
        [cf35de90] [c00e4f88] vfs_kern_mount+0x50/0x104
        [cf35dec0] [c00e6e0c] do_mount+0x1d0/0x8e0
        [cf35df10] [c00e75ac] SyS_mount+0x90/0xd0
        [cf35df40] [c000ccf4] ret_from_syscall+0x0/0x3c
      
      The addition of svc_shutdown_net() resulted in two calls to
      svc_rpcb_cleanup(); the second is no longer necessary and crashes when
      it calls rpcb_register_call with clnt=NULL.
      Reported-by: NNikita Yushchenko <nyushchenko@dev.rtsoft.ru>
      Fixes: 679b033d "lockd: ensure we tear down any live sockets when socket creation fails during lockd_up"
      Cc: stable@vger.kernel.org
      Acked-by: NJeff Layton <jlayton@primarydata.com>
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      7c17705e
    • J
      nfsd4: fix rd_dircount enforcement · aee37764
      J. Bruce Fields 提交于
      Commit 3b299709 "nfsd4: enforce rd_dircount" totally misunderstood
      rd_dircount; it refers to total non-attribute bytes returned, not number
      of directory entries returned.
      
      Bring the code into agreement with RFC 3530 section 14.2.24.
      
      Cc: stable@vger.kernel.org
      Fixes: 3b299709 "nfsd4: enforce rd_dircount"
      Signed-off-by: NJ. Bruce Fields <bfields@redhat.com>
      aee37764
  4. 08 9月, 2014 17 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 35af2561
      Linus Torvalds 提交于
      Pull s390 fixes from Martin Schwidefsky:
       "A bug fix for the vdso code, the loadparm for booting from SCSI is
        added and the access permissions for the dasd module parameters are
        corrected"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/vdso: remove NULL pointer check from clock_gettime
        s390/ipl: Add missing SCSI loadparm attributes to /sys/firmware
        s390/dasd: Make module parameter visible in sysfs
      35af2561
    • L
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · d030671f
      Linus Torvalds 提交于
      Pull cgroup fixes from Tejun Heo:
       "This pull request includes Alban's patch to disallow '\n' in cgroup
        names.
      
        Two other patches from Li to fix a possible oops when cgroup
        destruction races against other file operations and one from Vivek to
        fix a unified hierarchy devel behavior"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: check cgroup liveliness before unbreaking kernfs
        cgroup: delay the clearing of cgrp->kn->priv
        cgroup: Display legacy cgroup files on default hierarchy
        cgroup: reject cgroup names with '\n'
      d030671f
    • L
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 6a5c75ce
      Linus Torvalds 提交于
      Pull percpu fixes from Tejun Heo:
       "One patch to fix a failure path in the alloc path.  The bug is
        dangerous but probably not too likely to actually trigger in the wild
        given that there hasn't been any report yet.
      
        The other two are low impact fixes"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: free percpu allocation info for uniprocessor system
        percpu: perform tlb flush after pcpu_map_pages() failure
        percpu: fix pcpu_alloc_pages() failure path
      6a5c75ce
    • L
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · cfa7c641
      Linus Torvalds 提交于
      Pull libata fixes from Tejun Heo:
       "Two patches are to add PCI IDs for ICH9 and all others are device
        specific fixes.  Nothing too interesting"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci_xgene: Fix the link down in first attempt for the APM X-Gene SoC AHCI SATA host controller driver.
        ahci_xgene: Skip the PHY and clock initialization if already configured by the firmware.
        ahci: add pcid for Marvel 0x9182 controller
        ata: Disabling the async PM for JMicron chip 363/361
        ata_piix: Add Device IDs for Intel 9 Series PCH
        ahci: Add Device IDs for Intel 9 Series PCH
        ata: ahci_tegra: Read calibration fuse
      cfa7c641
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · b531f5dd
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix skb leak in mac802154, from Martin Townsend
      
       2) Use select not depends on NF_NAT for NFT_NAT, from Pablo Neira
          Ayuso
      
       3) Fix union initializer bogosity in vxlan, from Gerhard Stenzel
      
       4) Fix RX checksum configuration in stmmac driver, from Giuseppe
          CAVALLARO
      
       5) Fix TSO with non-accelerated VLANs in e1000, e1000e, bna, ehea,
          i40e, i40evf, mvneta, and qlge, from Vlad Yasevich
      
       6) Fix capability checks in phy_init_eee(), from Giuseppe CAVALLARO
      
       7) Try high order allocations more sanely for SKBs, specifically if a
          high order allocation fails, fall back directly to zero order pages
          rather than iterating down one order at a time.  From Eric Dumazet
      
       8) Fix a memory leak in openvswitch, from Li RongQing
      
       9) amd-xgbe initializes wrong spinlock, from Thomas Lendacky
      
      10) RTNL locking was busted in setsockopt for anycast and multicast, fix
          from Sabrina Dubroca
      
      11) Fix peer address refcount leak in ipv6, from Nicolas Dichtel
      
      12) DocBook typo fixes, from Masanari Iida
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (101 commits)
        ipv6: restore the behavior of ipv6_sock_ac_drop()
        amd-xgbe: Enable interrupts for all management counters
        amd-xgbe: Treat certain counter registers as 64 bit
        greth: moved TX ring cleaning to NAPI rx poll func
        cnic : Cleanup CONFIG_IPV6 & VLAN check
        net: treewide: Fix typo found in DocBook/networking.xml
        bnx2x: Fix link problems for 1G SFP RJ45 module
        3c59x: avoid panic in boomerang_start_xmit when finding page address:
        netfilter: add explicit Kconfig for NETFILTER_XT_NAT
        ipv6: use addrconf_get_prefix_route() to remove peer addr
        ipv6: fix a refcnt leak with peer addr
        net-timestamp: only report sw timestamp if reporting bit is set
        drivers/net/fddi/skfp/h/skfbi.h: Remove useless PCI_BASE_2ND macros
        l2tp: fix race while getting PMTU on PPP pseudo-wire
        ipv6: fix rtnl locking in setsockopt for anycast and multicast
        VMXNET3: Check for map error in vmxnet3_set_mc
        openvswitch: distinguish between the dropped and consumed skb
        amd-xgbe: Fix initialization of the wrong spin lock
        openvswitch: fix a memory leak
        netfilter: fix missing dependencies in NETFILTER_XT_TARGET_LOG
        ...
      b531f5dd
    • D
      Merge tag 'master-2014-09-04' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · 45ce829d
      David S. Miller 提交于
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-09-05
      
      Please pull this batch of fixes intended for the 3.17 stream...
      
      For the mac80211 bits, Johannes says:
      
      "Here are a few fixes for mac80211. One has been discussed for a while
      and adds a terminating NUL-byte to the alpha2 sent to userspace, which
      shouldn't be necessary but since many places treat it as a string we
      couldn't move to just sending two bytes.
      
      In addition to that, we have two VLAN fixes from Felix, a mesh fix, a
      fix for the recently introduced RX aggregation offload, a revert for
      a broken patch (that luckily didn't really cause any harm) and a small
      fix for alignment in debugfs."
      
      For the iwlwifi bits, Emmanuel says:
      
      "I revert a patch that disabled CTS to self in dvm because users
      reported issues. The revert is CCed to stable since the offending
      patch was sent to stable too. I also bump the firmware API versions
      since a new firmware is coming up. On top of that, Marcel fixes a
      bug I introduced while fixing a bug in our Kconfig file."
      
      Please let me know if there are problems!
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      45ce829d
    • W
      ipv6: restore the behavior of ipv6_sock_ac_drop() · de185ab4
      WANG Cong 提交于
      It is possible that the interface is already gone after joining
      the list of anycast on this interface as we don't hold a refcount
      for the device, in this case we are safe to ignore the error.
      
      What's more important, for API compatibility we should not
      change this behavior for applications even if it were correct.
      
      Fixes: commit a9ed4a29 ("ipv6: fix rtnl locking in setsockopt for anycast and multicast")
      Cc: Sabrina Dubroca <sd@queasysnail.net>
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: NCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      de185ab4
    • L
      Linux 3.17-rc4 · 2ce7598c
      Linus Torvalds 提交于
      2ce7598c
    • S
      Documentation: new page link in SubmittingPatches · 7e0dae61
      Sudip Mukherjee 提交于
      new link for - How to piss off a Linux kernel subsystem maintainer
      Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7e0dae61
    • P
      Documentation: NFS/RDMA: Document separate Kconfig symbols · 731d5cca
      Paul Bolle 提交于
      The NFS/RDMA Kconfig symbol was split into separate options for client
      and server in commit 2e8c12e1 ("xprtrdma: add separate Kconfig
      options for NFSoRDMA client and server support").
      
      Update the documentation to reflect this split.
      Signed-off-by: NPaul Bolle <pebolle@tiscali.nl>
      Reviewed-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Cc: "J. Bruce Fields" <bfields@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      731d5cca
    • M
      Documentation: misc-devices: Rename freefall.c from hpfall.c in lis2lv02d · 0024d6e9
      Masanari Iida 提交于
      hpfall.c was renamed to freefall.c in 3.16, but this file still refer to
      hpfall.c instead of freefall.c
      Signed-off-by: NMasanari Iida <standby24x7@gmail.com>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0024d6e9
    • J
      Documentation: i2c: rename variable "register" to "reg" · 257d6ef4
      Jose Manuel Alarcon Roldan 提交于
      The example code provided with the i2c device interface documentation
      won't compile since it uses the reserved word "register" to name a
      variable.
      
      The compiler fails with this error message:
      
       error: expected identifier or '(' before '=' token
         __u8 register = 0x20; /* Device register to access */
                       ^
      
      Rename the variable "register" to simply "reg" in the example code.
      
      Another couple of typos has been fixed as well.
      [Change "! =" to "!=".]
      Signed-off-by: NJose Alarcon Roldan <jose.alarcon.roldan@gmail.com>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Acked-by: NWolfram Sang <wsa@the-dreams.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      257d6ef4
    • R
      Documentation: seq_file: Document seq_open_private(), seq_release_private() · 77be4daf
      Rob Jones 提交于
      Despite the fact that these functions have been around for years, they
      are little used (only 15 uses in 13 files at the preseht time) even
      though many other files use work-arounds to achieve the same result.
      
      By documenting them, hopefully they will become more widely used.
      Signed-off-by: NRob Jones <rob.jones@codethink.co.uk>
      Acked-by: NSteven Whitehouse <swhiteho@redhat.com>
      Signed-off-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      77be4daf
    • L
      Merge tag 'pm+acpi-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6fef37c9
      Linus Torvalds 提交于
      Pull ACPI and power management fixes from Rafael Wysocki:
       "These are regression fixes (ACPI sysfs, ACPI video, suspend test),
        ACPI cpuidle deadlock fix, missing runtime validation of ACPI _DSD
        output, a fix and a new CPU ID for the RAPL driver, new blacklist
        entry for the ACPI EC driver and a couple of trivial cleanups
        (intel_pstate and generic PM domains).
      
        Specifics:
      
         - Fix for recently broken test_suspend= command line argument (Rafael
           Wysocki).
      
         - Fixes for regressions related to the ACPI video driver caused by
           switching the default to native backlight handling in 3.16 from
           Hans de Goede.
      
         - Fix for a sysfs attribute of ACPI device objects that returns stale
           values sometimes due to the fact that they are cached instead of
           executing the appropriate method (_SUN) every time (broken in
           3.14).  From Yasuaki Ishimatsu.
      
         - Fix for a deadlock between cpuidle_lock and cpu_hotplug.lock in the
           ACPI processor driver from Jiri Kosina.
      
         - Runtime output validation for the ACPI _DSD device configuration
           object missing from the support for it that has been introduced
           recently.  From Mika Westerberg.
      
         - Fix for an unuseful and misleading RAPL (Running Average Power
           Limit) domain detection message in the RAPL driver from Jacob Pan.
      
         - New Intel Haswell CPU ID for the RAPL driver from Jason Baron.
      
         - New Clevo W350etq blacklist entry for the ACPI EC driver from Lan
           Tianyu.
      
         - Cleanup for the intel_pstate driver and the core generic PM domains
           code from Gabriele Mazzotta and Geert Uytterhoeven"
      
      * tag 'pm+acpi-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / cpuidle: fix deadlock between cpuidle_lock and cpu_hotplug.lock
        ACPI / scan: not cache _SUN value in struct acpi_device_pnp
        cpufreq: intel_pstate: Remove unneeded variable
        powercap / RAPL: change domain detection message
        powercap / RAPL: add support for CPU model 0x3f
        PM / domains: Make generic_pm_domain.name const
        PM / sleep: Fix test_suspend= command line option
        ACPI / EC: Add msi quirk for Clevo W350etq
        ACPI / video: Disable native_backlight on HP ENVY 15 Notebook PC
        ACPI / video: Add a disable_native_backlight quirk
        ACPI / video: Fix use_native_backlight selection logic
        ACPICA: ACPI 5.1: Add support for runtime validation of _DSD package.
      6fef37c9
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9142eade
      Linus Torvalds 提交于
      Pull filesystem fixes from Al Viro:
       "Several bugfixes (all of them -stable fodder).
      
        Alexey's one deals with double mutex_lock() in UFS (apparently, nobody
        has tried to test "ufs: sb mutex merge + mutex_destroy" on something
        like file creation/removal on ufs).  Mine deal with two kinds of
        umount bugs, in umount propagation and in handling of automounted
        submounts, both resulting in bogus transient EBUSY from umount"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ufs: fix deadlocks introduced by sb mutex merge
        fix EBUSY on umount() from MNT_SHRINKABLE
        get rid of propagate_umount() mistakenly treating slaves as busy.
      9142eade
    • L
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 81368f8b
      Linus Torvalds 提交于
      Pull RCU fix from Ingo Molnar:
       "A boot hang fix for the offloaded callback RCU model (RCU_NOCB_CPU=y
        && (TREE_CPU=y || TREE_PREEMPT_RC)) in certain bootup scenarios"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rcu: Make nocb leader kthreads process pending callbacks after spawning
      81368f8b
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ebc54f27
      Linus Torvalds 提交于
      Pull timer fixes from Thomas Gleixner:
       "Three fixlets from the timer departement:
      
         - Update the timekeeper before updating vsyscall and pvclock.  This
           fixes the kvm-clock regression reported by Chris and Paolo.
      
         - Use the proper irq work interface from NMI.  This fixes the
           regression reported by Catalin and Dave.
      
         - Clarify the compat_nanosleep error handling mechanism to avoid
           future confusion"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Update timekeeper before updating vsyscall and pvclock
        compat: nanosleep: Clarify error handling
        nohz: Restore NMI safe local irq work for local nohz kick
      ebc54f27