1. 02 Dec, 2016 5 commits
  2. 01 Dec, 2016 13 commits
  3. 30 Nov, 2016 6 commits
  4. 29 Nov, 2016 10 commits
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 22d3d4fb
      Linus Torvalds authored
      Pull CIFS fixes from Steve French:
       "A few misc important cifs fixes, including a fix for a 4.9 regression
        in posix_acl xattr handling"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        CIFS: iterate over posix acl xattr entry correctly in ACL_to_cifs_posix()
        Call echo service immediately after socket reconnect
        CIFS: Fix BUG() in calc_seckey()
      22d3d4fb
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · ab59d1f4
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Four small fixes.
      
        The be2iscsi is a potential device overrun in consistent memory, which
        could have nasty consequences if the consistent allocations are
        packed.
      
        The hpsa one fixes a regression where older controllers can now get a
        numbering clash between the first internal disk and the controller.
      
        The libfc one is a regression in timespec conversions which causes a
        user visible issue in a command line tool and the mpt3sas one fixes a
        regression where the controller could remain permanently blocked after
        an ATA pass through command followed by a reset"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: be2iscsi: allocate enough memory in beiscsi_boot_get_sinfo()
        scsi: mpt3sas: Unblock device after controller reset
        scsi: hpsa: use bus '3' for legacy HBA devices
        scsi: libfc: fix seconds_since_last_reset miscalculation
      ab59d1f4
    • Jan Glauber's avatar
      Revert "i2c: octeon: thunderx: Limit register access retries" · dfa2ccc3
      Jan Glauber authored
      This reverts commit 70121f7f ("i2c: octeon: thunderx: Limit register access retries").
      Using readq_poll_timeout instead of __raw_readq triggers the following
      debug warning:
      
      [   78.871568] ipmi_ssif: Trying hotmod-specified SSIF interface at i2c address 0x12, adapter Cavium ThunderX i2c adapter at 0000:01:09.4, slave address 0x0
      [   78.886107] do not call blocking ops when !TASK_RUNNING; state=2 set at [<fffffc00080e0088>] prepare_to_wait_event+0x58/0x10c
      [   78.897436] ------------[ cut here ]------------
      [   78.902050] WARNING: CPU: 6 PID: 2235 at kernel/sched/core.c:7718 __might_sleep+0x80/0x88
      
      [...]
      
      [   79.133553] [<fffffc00080c3aac>] __might_sleep+0x80/0x88
      [   79.138862] [<fffffc0000e30138>] octeon_i2c_test_iflg+0x4c/0xbc [i2c_thunderx]
      [   79.146077] [<fffffc0000e30958>] octeon_i2c_test_ready+0x18/0x70 [i2c_thunderx]
      [   79.153379] [<fffffc0000e30b04>] octeon_i2c_wait+0x154/0x1a4 [i2c_thunderx]
      [   79.160334] [<fffffc0000e310bc>] octeon_i2c_xfer+0xf4/0xf60 [i2c_thunderx]
      Signed-off-by: default avatarJan Glauber <jglauber@cavium.com>
      Acked-by: default avatarSteven J. Hill <steven.hill@cavium.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      dfa2ccc3
    • Yuriy Kolerov's avatar
      ARC: mm: PAE40: Fix crash at munmap · 6a8b2ca7
      Yuriy Kolerov authored
      commit 1c3c9093 broke PAE40. Macro pfn_pte(pfn, prot) creates paddr
      from pfn, but the page shift was getting truncated to 32 bits since we lost
      the proper cast to 64 bits (for PAE400
      
      Instead of reverting that commit, use a better helper which is 32/64 bits
      safe just like ARM implementation.
      
      Fixes: 1c3c9093 ("ARC: mm: fix build breakage with STRICT_MM_TYPECHECKS")
      Cc: <stable@vger.kernel.org>   #4.4+
      Signed-off-by: default avatarYuriy Kolerov <yuriy.kolerov@synopsys.com>
      [vgupta: massaged changelog]
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      6a8b2ca7
    • Aaron Lu's avatar
      mremap: move_ptes: check pte dirty after its removal · a2ce2666
      Aaron Lu authored
      Linus found there still is a race in mremap after commit 5d190420
      ("mremap: fix race between mremap() and page cleanning").
      
      As described by Linus:
       "the issue is that another thread might make the pte be dirty (in the
        hardware walker, so no locking of ours will make any difference)
        *after* we checked whether it was dirty, but *before* we removed it
        from the page tables"
      
      Fix it by moving the check after we removed it from the page table.
      Suggested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAaron Lu <aaron.lu@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a2ce2666
    • Johan Hovold's avatar
      pwm: Fix device reference leak · 0e1614ac
      Johan Hovold authored
      Make sure to drop the reference to the parent device taken by
      class_find_device() after "unexporting" any children when deregistering
      a PWM chip.
      
      Fixes: 0733424c ("pwm: Unexport children before chip removal")
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
      0e1614ac
    • Miklos Szeredi's avatar
      ovl: fix d_real() for stacked fs · c4fcfc16
      Miklos Szeredi authored
      Handling of recursion in d_real() is completely broken.  Recursion is only
      done in the 'inode != NULL' case.  But when opening the file we have
      'inode == NULL' hence d_real() will return an overlay dentry.  This won't
      work since overlayfs doesn't define its own file operations, so all file
      ops will fail.
      
      Fix by doing the recursion first and the check against the inode second.
      
      Bash script to reproduce the issue written by Quentin:
      
       - 8< - - - - - 8< - - - - - 8< - - - - - 8< - - - -
      tmpdir=$(mktemp -d)
      pushd ${tmpdir}
      
      mkdir -p {upper,lower,work}
      echo -n 'rocks' > lower/ksplice
      mount -t overlay level_zero upper -o lowerdir=lower,upperdir=upper,workdir=work
      cat upper/ksplice
      
      tmpdir2=$(mktemp -d)
      pushd ${tmpdir2}
      
      mkdir -p {upper,work}
      mount -t overlay level_one upper -o lowerdir=${tmpdir}/upper,upperdir=upper,workdir=work
      ls -l upper/ksplice
      cat upper/ksplice
       - 8< - - - - - 8< - - - - - 8< - - - - - 8< - - - - 
      Reported-by: default avatarQuentin Casasnovas <quentin.casasnovas@oracle.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      Fixes: 2d902671 ("vfs: merge .d_select_inode() into .d_real()")
      Cc: <stable@vger.kernel.org> # v4.8+
      c4fcfc16
    • Eryu Guan's avatar
      CIFS: iterate over posix acl xattr entry correctly in ACL_to_cifs_posix() · ae9ebe7c
      Eryu Guan authored
      Commit 2211d5ba ("posix_acl: xattr representation cleanups")
      removes the typedefs and the zero-length a_entries array in struct
      posix_acl_xattr_header, and uses bare struct posix_acl_xattr_header
      and struct posix_acl_xattr_entry directly.
      
      But it failed to iterate over posix acl slots when converting posix
      acls to CIFS format, which results in several test failures in
      xfstests (generic/053 generic/105) when testing against a samba v1
      server, starting from v4.9-rc1 kernel. e.g.
      
        [root@localhost xfstests]# diff -u tests/generic/105.out /root/xfstests/results//generic/105.out.bad
        --- tests/generic/105.out       2016-09-19 16:33:28.577962575 +0800
        +++ /root/xfstests/results//generic/105.out.bad 2016-10-22 15:41:15.201931110 +0800
        @@ -1,3 +1,4 @@
         QA output created by 105
         -rw-r--r-- root
        +setfacl: subdir: Invalid argument
         -rw-r--r-- root
      
      Fix it by introducing a new "ace" var, like what
      cifs_copy_posix_acl() does, and iterating posix acl xattr entries
      over it in the for loop.
      Signed-off-by: default avatarEryu Guan <guaneryu@gmail.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      ae9ebe7c
    • Sachin Prabhu's avatar
      Call echo service immediately after socket reconnect · b8c60012
      Sachin Prabhu authored
      Commit 4fcd1813 ("Fix reconnect to not defer smb3 session reconnect
      long after socket reconnect") changes the behaviour of the SMB2 echo
      service and causes it to renegotiate after a socket reconnect. However
      under default settings, the echo service could take up to 120 seconds to
      be scheduled.
      
      The patch forces the echo service to be called immediately resulting a
      negotiate call being made immediately on reconnect.
      Signed-off-by: default avatarSachin Prabhu <sprabhu@redhat.com>
      Reviewed-by: default avatarPavel Shilovsky <pshilov@microsoft.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      b8c60012
    • Sachin Prabhu's avatar
      CIFS: Fix BUG() in calc_seckey() · 5f4b5569
      Sachin Prabhu authored
      Andy Lutromirski's new virtually mapped kernel stack allocations moves
      kernel stacks the vmalloc area. This triggers the bug
       kernel BUG at ./include/linux/scatterlist.h:140!
      at calc_seckey()->sg_init()
      Signed-off-by: default avatarSachin Prabhu <sprabhu@redhat.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      5f4b5569
  5. 28 Nov, 2016 6 commits
    • Linus Torvalds's avatar
      Merge branch 'for-4.9-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 88abd824
      Linus Torvalds authored
      Pull libata fixes from Tejun Heo:
       "The recent changes in ahci MSI handling need one more fix.  Hopefully,
        this restores parity with before.
      
        The other two are minor fixes with both low impact and risk"
      
      * 'for-4.9-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci: always fall back to single-MSI mode
        libata-scsi: Fixup ata_gen_passthru_sense()
        mvsas: fix error return code in mvs_task_prep()
      88abd824
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 96e52d3a
      Linus Torvalds authored
      Pull sparc fixes from David Miller:
       "Two ugly build warning fixes"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        dbri: Fix compiler warning
        qlogicpti: Fix compiler warnings
      96e52d3a
    • Tushar Dave's avatar
      dbri: Fix compiler warning · 16f46050
      Tushar Dave authored
      dbri uses 'u32' for dma handle while invoking kernel DMA APIs,
      instead of using dma_addr_t. This hasn't caused any 'incompatible
      pointer type' warning on SPARC because until now dma_addr_t is of
      type u32. However, recent changes in SPARC ATU (iommu) enabled 64bit
      DMA and therefore dma_addr_t became of type u64. This makes
      'incompatible pointer type' warnings inevitable.
      
      e.g.
      sound/sparc/dbri.c: In function ‘snd_dbri_create’:
      sound/sparc/dbri.c:2538: warning: passing argument 3 of ‘dma_zalloc_coherent’ from incompatible pointer type
      ./include/linux/dma-mapping.h:608: note: expected ‘dma_addr_t *’ but argument is of type ‘u32 *’
      
      For the record, dbri(sbus) driver never executes on sun4v. Therefore
      even though 64bit DMA is enabled on SPARC, dbri continues to use
      legacy iommu that guarantees DMA address is always in 32bit range.
      
      This patch resolves above compiler warning.
      Signed-off-by: default avatarTushar Dave <tushar.n.dave@oracle.com>
      Reviewed-by: default avatarthomas tai <thomas.tai@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      16f46050
    • Tushar Dave's avatar
      qlogicpti: Fix compiler warnings · e58566b1
      Tushar Dave authored
      qlogicpti uses '__u32' for dma handle while invoking kernel DMA APIs,
      instead of using dma_addr_t. This hasn't caused any 'incompatible
      pointer type' warning on SPARC because until now dma_addr_t is of
      type u32. However, recent changes in SPARC ATU (iommu) enabled 64bit
      DMA and therefore dma_addr_t became of type u64. This makes
      'incompatible pointer type' warnings inevitable.
      
      e.g.
      drivers/scsi/qlogicpti.c: In function ‘qpti_map_queues’:
      drivers/scsi/qlogicpti.c:813: warning: passing argument 3 of ‘dma_alloc_coherent’ from incompatible pointer type
      ./include/linux/dma-mapping.h:445: note: expected ‘dma_addr_t *’ but argument is of type ‘__u32 *’
      drivers/scsi/qlogicpti.c:822: warning: passing argument 3 of ‘dma_alloc_coherent’ from incompatible pointer type
      ./include/linux/dma-mapping.h:445: note: expected ‘dma_addr_t *’ but argument is of type ‘__u32 *’
      
      For the record, qlogicpti never executes on sun4v. Therefore even
      though 64bit DMA is enabled on SPARC, qlogicpti continues to use
      legacy iommu that guarantees DMA address is always in 32bit range.
      
      This patch resolves aforementioned compiler warnings.
      Signed-off-by: default avatarTushar Dave <tushar.n.dave@oracle.com>
      Reviewed-by: default avatarthomas tai <thomas.tai@oracle.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e58566b1
    • Vineet Gupta's avatar
      ARC: mm: IOC: Don't enable IOC by default · 23cb1f64
      Vineet Gupta authored
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      23cb1f64
    • Vineet Gupta's avatar
      ARC: Don't use "+l" inline asm constraint · 3c7c7a2f
      Vineet Gupta authored
      Apparenty this is coming in the way of gcc fix which inhibits the usage
      of LP_COUNT as a gpr.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      3c7c7a2f