Skip to content
  1. Apr 13, 2014
    • Linus Torvalds's avatar
      Merge tag 'remoteproc-3.15-cleanups' of... · de0c9cf9
      Linus Torvalds authored
      Merge tag 'remoteproc-3.15-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc
      
      Pull remoteproc cleanups from Ohad Ben-Cohen:
       "Several remoteproc cleanup patches coming from Jingoo Han, Julia
        Lawall and Uwe Kleine-König"
      
      * tag 'remoteproc-3.15-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc:
        remoteproc/ste_modem: staticize local symbols
        remoteproc/davinci: simplify use of devm_ioremap_resource
        remoteproc/davinci: drop needless devm_clk_put
      de0c9cf9
    • Linus Torvalds's avatar
      Merge tag 'llvmlinux-for-v3.15' of git://git.linuxfoundation.org/llvmlinux/kernel · 09c9b61d
      Linus Torvalds authored
      Pull llvm patches from Behan Webster:
       "These are some initial updates to support compiling the kernel with
        clang.
      
        These patches have been through the proper reviews to the best of my
        ability, and have been soaking in linux-next for a few weeks.  These
        patches by themselves still do not completely allow clang to be used
        with the kernel code, but lay the foundation for other patches which
        are still under review.
      
        Several other of the LLVMLinux patches have been already added via
        maintainer trees"
      
      * tag 'llvmlinux-for-v3.15' of git://git.linuxfoundation.org/llvmlinux/kernel:
        x86: LLVMLinux: Fix "incomplete type const struct x86cpu_device_id"
        x86 kbuild: LLVMLinux: More cc-options added for clang
        x86, acpi: LLVMLinux: Remove nested functions from Thinkpad ACPI
        LLVMLinux: Add support for clang to compiler.h and new compiler-clang.h
        LLVMLinux: Remove warning about returning an uninitialized variable
        kbuild: LLVMLinux: Fix LINUX_COMPILER definition script for compilation with clang
        Documentation: LLVMLinux: Update Documentation/dontdiff
        kbuild: LLVMLinux: Adapt warnings for compilation with clang
        kbuild: LLVMLinux: Add Kbuild support for building kernel with Clang
      09c9b61d
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 141eaccd
      Linus Torvalds authored
      Pull SCSI target updates from Nicholas Bellinger:
       "Here are the target pending updates for v3.15-rc1.  Apologies in
        advance for waiting until the second to last day of the merge window
        to send these out.
      
        The highlights this round include:
      
         - iser-target support for T10 PI (DIF) offloads (Sagi + Or)
         - Fix Task Aborted Status (TAS) handling in target-core (Alex Leung)
         - Pass in transport supported PI at session initialization (Sagi + MKP + nab)
         - Add WRITE_INSERT + READ_STRIP T10 PI support in target-core (nab + Sagi)
         - Fix iscsi-target ERL=2 ASYNC_EVENT connection pointer bug (nab)
         - Fix tcm_fc use-after-free of ft_tpg (Andy Grover)
         - Use correct ib_sg_dma primitives in ib_isert (Mike Marciniszyn)
      
        Also, note the virtio-scsi + vhost-scsi changes to expose T10 PI
        metadata into KVM guest have been left-out for now, as there where a
        few comments from MST + Paolo that where not able to be addressed in
        time for v3.15.  Please expect this feature for v3.16-rc1"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (43 commits)
        ib_srpt: Use correct ib_sg_dma primitives
        target/tcm_fc: Rename ft_tport_create to ft_tport_get
        target/tcm_fc: Rename ft_{add,del}_lport to {add,del}_wwn
        target/tcm_fc: Rename structs and list members for clarity
        target/tcm_fc: Limit to 1 TPG per wwn
        target/tcm_fc: Don't export ft_lport_list
        target/tcm_fc: Fix use-after-free of ft_tpg
        target: Add check to prevent Abort Task from aborting itself
        target: Enable READ_STRIP emulation in target_complete_ok_work
        target/sbc: Add sbc_dif_read_strip software emulation
        target: Enable WRITE_INSERT emulation in target_execute_cmd
        target/sbc: Add sbc_dif_generate software emulation
        target/sbc: Only expose PI read_cap16 bits when supported by fabric
        target/spc: Only expose PI mode page bits when supported by fabric
        target/spc: Only expose PI inquiry bits when supported by fabric
        target: Pass in transport supported PI at session initialization
        target/iblock: Fix double bioset_integrity_free bug
        Target/sbc: Initialize COMPARE_AND_WRITE write_sg scatterlist
        target/rd: T10-Dif: RAM disk is allocating more space than required.
        iscsi-target: Fix ERL=2 ASYNC_EVENT connection pointer bug
        ...
      141eaccd
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 93094449
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       "A series of bug fix patches for v3.15-rc1.  Most are just driver
        fixes.  There are some changes at remote controller core level, fixing
        some definitions on a new API added for Kernel v3.15.
      
        It also adds the missing include at include/uapi/linux/v4l2-common.h,
        to allow its compilation on userspace, as pointed by you"
      
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (24 commits)
        [media] gpsca: remove the risk of a division by zero
        [media] stk1160: warrant a NUL terminated string
        [media] v4l: ti-vpe: retain v4l2_buffer flags for captured buffers
        [media] v4l: ti-vpe: Set correct field parameter for output and capture buffers
        [media] v4l: ti-vpe: zero out reserved fields in try_fmt
        [media] v4l: ti-vpe: Fix initial configuration queue data
        [media] v4l: ti-vpe: Use correct bus_info name for the device in querycap
        [media] v4l: ti-vpe: report correct capabilities in querycap
        [media] v4l: ti-vpe: Allow usage of smaller images
        [media] v4l: ti-vpe: Use video_device_release_empty
        [media] v4l: ti-vpe: Make sure in job_ready that we have the needed number of dst_bufs
        [media] lgdt3305: include sleep functionality in lgdt3304_ops
        [media] drx-j: use customise option correctly
        [media] m88rs2000: fix sparse static warnings
        [media] r820t: fix size and init values
        [media] rc-core: remove generic scancode filter
        [media] rc-core: split dev->s_filter
        [media] rc-core: do not change 32bit NEC scancode format for now
        [media] rtl28xxu: remove duplicate ID 0458:707f Genius TVGo DVB-T03
        [media] xc2028: add missing break to switch
        ...
      93094449
    • Linus Torvalds's avatar
      Merge tag 'ntb-3.15' of git://github.com/jonmason/ntb · 07f5fef9
      Linus Torvalds authored
      Pull PCIe non-transparent bridge fixes and features from Jon Mason:
       "NTB driver bug fixes to address issues in list traversal, skb leak in
        ntb_netdev, a typo, and a leak of msix entries in the error path.
        Clean ups of the event handling logic, as well as a overall style
        cleanup.  Finally, the driver was converted to use the new
        pci_enable_msix_range logic (and the refactoring to go along with it)"
      
      * tag 'ntb-3.15' of git://github.com/jonmason/ntb:
        ntb: Use pci_enable_msix_range() instead of pci_enable_msix()
        ntb: Split ntb_setup_msix() into separate BWD/SNB routines
        ntb: Use pci_msix_vec_count() to obtain number of MSI-Xs
        NTB: Code Style Clean-up
        NTB: client event cleanup
        ntb: Fix leakage of ntb_device::msix_entries[] array
        NTB: Fix typo in setting one translation register
        ntb_netdev: Fix skb free issue in open
        ntb_netdev: Fix list_for_each_entry exit issue
      07f5fef9
    • Linus Torvalds's avatar
      ceph: fix pr_fmt() redefinition · 96c57ade
      Linus Torvalds authored
      
      
      The vfs merge caused a latent bug to show up:
      
         In file included from fs/ceph/super.h:4:0,
                          from fs/ceph/ioctl.c:3:
         include/linux/ceph/ceph_debug.h:4:0: warning: "pr_fmt" redefined [enabled by default]
          #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
          ^
         In file included from include/linux/kernel.h:13:0,
                          from include/linux/uio.h:12,
                          from include/linux/socket.h:7,
                          from include/uapi/linux/in.h:22,
                          from include/linux/in.h:23,
                          from fs/ceph/ioctl.c:1:
         include/linux/printk.h:214:0: note: this is the location of the previous definition
          #define pr_fmt(fmt) fmt
          ^
      
      where the reason is that <linux/ceph_debug.h> is included much too late
      for the "pr_fmt()" define.
      
      The include of <linux/ceph_debug.h> needs to be the first include in the
      file, but fs/ceph/ioctl.c had for some reason missed that, and it wasn't
      noticeable until some unrelated header file changes brought in an
      indirect earlier include of <linux/kernel.h>.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      96c57ade
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 5166701b
      Linus Torvalds authored
      Pull vfs updates from Al Viro:
       "The first vfs pile, with deep apologies for being very late in this
        window.
      
        Assorted cleanups and fixes, plus a large preparatory part of iov_iter
        work.  There's a lot more of that, but it'll probably go into the next
        merge window - it *does* shape up nicely, removes a lot of
        boilerplate, gets rid of locking inconsistencie between aio_write and
        splice_write and I hope to get Kent's direct-io rewrite merged into
        the same queue, but some of the stuff after this point is having
        (mostly trivial) conflicts with the things already merged into
        mainline and with some I want more testing.
      
        This one passes LTP and xfstests without regressions, in addition to
        usual beating.  BTW, readahead02 in ltp syscalls testsuite has started
        giving failures since "mm/readahead.c: fix readahead failure for
        memoryless NUMA nodes and limit readahead pages" - might be a false
        positive, might be a real regression..."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
        missing bits of "splice: fix racy pipe->buffers uses"
        cifs: fix the race in cifs_writev()
        ceph_sync_{,direct_}write: fix an oops on ceph_osdc_new_request() failure
        kill generic_file_buffered_write()
        ocfs2_file_aio_write(): switch to generic_perform_write()
        ceph_aio_write(): switch to generic_perform_write()
        xfs_file_buffered_aio_write(): switch to generic_perform_write()
        export generic_perform_write(), start getting rid of generic_file_buffer_write()
        generic_file_direct_write(): get rid of ppos argument
        btrfs_file_aio_write(): get rid of ppos
        kill the 5th argument of generic_file_buffered_write()
        kill the 4th argument of __generic_file_aio_write()
        lustre: don't open-code kernel_recvmsg()
        ocfs2: don't open-code kernel_recvmsg()
        drbd: don't open-code kernel_recvmsg()
        constify blk_rq_map_user_iov() and friends
        lustre: switch to kernel_sendmsg()
        ocfs2: don't open-code kernel_sendmsg()
        take iov_iter stuff to mm/iov_iter.c
        process_vm_access: tidy up a bit
        ...
      5166701b
    • Linus Torvalds's avatar
      Merge tag 'trace-3.15-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 0a7418f5
      Linus Torvalds authored
      Pull more tracing updates from Steven Rostedt:
       "This includes the final patch to clean up and fix the issue with the
        design of tracepoints and how a user could register a tracepoint and
        have that tracepoint not be activated but no error was shown.
      
        The design was for an out of tree module but broke in tree users.  The
        clean up was to remove the saving of the hash table of tracepoint
        names such that they can be enabled before they exist (enabling a
        module tracepoint before that module is loaded).  This added more
        complexity than needed.  The clean up was to remove that code and just
        enable tracepoints that exist or fail if they do not.
      
        This removed a lot of code as well as the complexity that it brought.
        As a side effect, instead of registering a tracepoint by its name, the
        tracepoint needs to be registered with the tracepoint descriptor.
        This removes having to duplicate the tracepoint names that are
        enabled.
      
        The second patch was added that simplified the way modules were
        searched for.
      
        This cleanup required changes that were in the 3.15 queue as well as
        some changes that were added late in the 3.14-rc cycle.  This final
        change waited till the two were merged in upstream and then the change
        was added and full tests were run.  Unfortunately, the test found some
        errors, but after it was already submitted to the for-next branch and
        not to be rebased.  Sparse errors were detected by Fengguang Wu's bot
        tests, and my internal tests discovered that the anonymous union
        initialization triggered a bug in older gcc compilers.  Luckily, there
        was a bugzilla for the gcc bug which gave a work around to the
        problem.  The third and fourth patch handled the sparse error and the
        gcc bug respectively.
      
        A final patch was tagged along to fix a missing documentation for the
        README file"
      
      * tag 'trace-3.15-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Add missing function triggers dump and cpudump to README
        tracing: Fix anonymous unions in struct ftrace_event_call
        tracepoint: Fix sparse warnings in tracepoint.c
        tracepoint: Simplify tracepoint module search
        tracepoint: Use struct pointer instead of name hash for reg/unreg tracepoints
      0a7418f5
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/users/eparis/audit · 0b747172
      Linus Torvalds authored
      Pull audit updates from Eric Paris.
      
      * git://git.infradead.org/users/eparis/audit: (28 commits)
        AUDIT: make audit_is_compat depend on CONFIG_AUDIT_COMPAT_GENERIC
        audit: renumber AUDIT_FEATURE_CHANGE into the 1300 range
        audit: do not cast audit_rule_data pointers pointlesly
        AUDIT: Allow login in non-init namespaces
        audit: define audit_is_compat in kernel internal header
        kernel: Use RCU_INIT_POINTER(x, NULL) in audit.c
        sched: declare pid_alive as inline
        audit: use uapi/linux/audit.h for AUDIT_ARCH declarations
        syscall_get_arch: remove useless function arguments
        audit: remove stray newline from audit_log_execve_info() audit_panic() call
        audit: remove stray newlines from audit_log_lost messages
        audit: include subject in login records
        audit: remove superfluous new- prefix in AUDIT_LOGIN messages
        audit: allow user processes to log from another PID namespace
        audit: anchor all pid references in the initial pid namespace
        audit: convert PPIDs to the inital PID namespace.
        pid: get pid_t ppid of task in init_pid_ns
        audit: rename the misleading audit_get_context() to audit_take_context()
        audit: Add generic compat syscall support
        audit: Add CONFIG_HAVE_ARCH_AUDITSYSCALL
        ...
      0b747172
  2. Apr 12, 2014
    • Al Viro's avatar
      missing bits of "splice: fix racy pipe->buffers uses" · a786c06d
      Al Viro authored
      
      
      that commit has fixed only the parts of that mess in fs/splice.c itself;
      there had been more in several other ->splice_read() instances...
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      a786c06d
    • Al Viro's avatar
      cifs: fix the race in cifs_writev() · 19dfc1f5
      Al Viro authored
      
      
      O_APPEND handling there hadn't been completely fixed by Pavel's
      patch; it checks the right value, but it's racy - we can't really
      do that until i_mutex has been taken.
      
      Fix by switching to __generic_file_aio_write() (open-coding
      generic_file_aio_write(), actually) and pulling mutex_lock() above
      inode_size_read().
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      19dfc1f5
    • Al Viro's avatar
      ceph_sync_{,direct_}write: fix an oops on ceph_osdc_new_request() failure · eab87235
      Al Viro authored
      
      
      ceph_osdc_put_request(ERR_PTR(-error)) oopses.  What we want there
      is break, not goto out.
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      eab87235
    • Linus Torvalds's avatar
      Merge branch 'async-scsi-resume' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci · b7e70ca9
      Linus Torvalds authored
      Pull async SCSI resume support from Dan Williams:
       "Allow disks and other devices to resume in parallel.
      
        This provides a tangible speed up for a non-esoteric use case (laptop
        resume):
      
          https://01.org/suspendresume/blogs/tebrandt/2013/hard-disk-resume-optimization-simpler-approach"
      
      * 'async-scsi-resume' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci:
        scsi: async sd resume
      b7e70ca9
    • Linus Torvalds's avatar
      Merge tag 'md/3.15' of git://neil.brown.name/md · 7f873078
      Linus Torvalds authored
      Pull md updates from Neil Brown:
       "Just a few md patches for the 3.15 merge window.
      
        Not much happening in md/raid at the moment.  Just a few bug fixes
        (one for -stable) and a couple of performance tweaks"
      
      * tag 'md/3.15' of git://neil.brown.name/md:
        raid5: get_active_stripe avoids device_lock
        raid5: make_request does less prepare wait
        md: avoid oops on unload if some process is in poll or select.
        md/raid1: r1buf_pool_alloc: free allocate pages when subsequent allocation fails.
        md/bitmap: don't abuse i_writecount for bitmap files.
      7f873078
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/users/willy/linux-nvme · 3e8072d4
      Linus Torvalds authored
      Pull NVMe driver updates from Matthew Wilcox:
       "Various updates to the NVMe driver.  The most user-visible change is
        that drive hotplugging now works and CPU hotplug while an NVMe drive
        is installed should also work better"
      
      * git://git.infradead.org/users/willy/linux-nvme:
        NVMe: Retry failed commands with non-fatal errors
        NVMe: Add getgeo to block ops
        NVMe: Start-stop nvme_thread during device add-remove.
        NVMe: Make I/O timeout a module parameter
        NVMe: CPU hot plug notification
        NVMe: per-cpu io queues
        NVMe: Replace DEFINE_PCI_DEVICE_TABLE
        NVMe: Fix divide-by-zero in nvme_trans_io_get_num_cmds
        NVMe: IOCTL path RCU protect queue access
        NVMe: RCU protected access to io queues
        NVMe: Initialize device reference count earlier
        NVMe: Add CONFIG_PM_SLEEP to suspend/resume functions
      3e8072d4
    • Linus Torvalds's avatar
      Merge git://git.kvack.org/~bcrl/aio-next · a63b747b
      Linus Torvalds authored
      Pull aio ctx->ring_pages migration serialization fix from Ben LaHaise.
      
      * git://git.kvack.org/~bcrl/aio-next:
        aio: v4 ensure access to ctx->ring_pages is correctly serialised for migration
      a63b747b
    • Mike Marciniszyn's avatar
      ib_srpt: Use correct ib_sg_dma primitives · b0768080
      Mike Marciniszyn authored
      
      
      The code was incorrectly using sg_dma_address() and
      sg_dma_len() instead of ib_sg_dma_address() and
      ib_sg_dma_len().
      
      This prevents srpt from functioning with the
      Intel HCA and indeed will corrupt memory
      badly.
      
      Cc: Bart Van Assche <bvanassche@acm.org>
      Reviewed-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
      Tested-by: default avatarVinod Kumar <vinod.kumar@intel.com>
      Signed-off-by: default avatarMike Marciniszyn <mike.marciniszyn@intel.com>
      Cc: stable@vger.kernel.org # 3.3+
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      b0768080
    • Andy Grover's avatar
      target/tcm_fc: Rename ft_tport_create to ft_tport_get · e3d4440c
      Andy Grover authored
      
      
      Because it doesn't always create, if there's an existing one it just
      returns it.
      
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      e3d4440c
    • Andy Grover's avatar
      target/tcm_fc: Rename ft_{add,del}_lport to {add,del}_wwn · 0d7cb932
      Andy Grover authored
      
      
      These functions are not adding or deleting an lport. They are adding a
      wwn that may match with an lport that is present on the system.
      
      Renaming ft_del_lport also means we won't have functions named
      both ft_del_lport and ft_lport_del any more.
      
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      0d7cb932
    • Andy Grover's avatar
      target/tcm_fc: Rename structs and list members for clarity · 705665da
      Andy Grover authored
      
      
      Rename struct ft_lport_acl to ft_lport_wwn. "acl" is associated with
      something different in LIO terms. Really, ft_lport_wwn is the
      fabric-specific wrapper for the struct se_wwn.
      
      Rename "lacl" local variables to "ft_wwn" as well.
      
      Rename list_heads used as list members to make it clear they're nodes, not
      heads.
      
      Rename lport_node to ft_wwn_node.
      
      Rename ft_lport_list to ft_wwn_list
      
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      705665da
    • Andy Grover's avatar
      target/tcm_fc: Limit to 1 TPG per wwn · d242c1d7
      Andy Grover authored
      
      
      tcm_fc doesn't support multiple TPGs per wwn. For proof, see
      ft_lport_find_tpg. Enforce this in the code.
      
      Replace ft_lport_wwn.tpg_list with a single pointer. We can't fold ft_tpg
      into ft_lport_wwn because they can have different lifetimes.
      
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      d242c1d7
    • Andy Grover's avatar
      target/tcm_fc: Don't export ft_lport_list · b295e769
      Andy Grover authored
      
      
      Nobody outside tfc_conf.c uses it.
      
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      b295e769
    • Andy Grover's avatar
      target/tcm_fc: Fix use-after-free of ft_tpg · 2c42be2d
      Andy Grover authored
      ft_del_tpg checks tpg->tport is set before unlinking the tpg from the
      tport when the tpg is being removed. Set this pointer in ft_tport_create,
      or the unlinking won't happen in ft_del_tpg and tport->tpg will reference
      a deleted object.
      
      This patch sets tpg->tport in ft_tport_create, because that's what
      ft_del_tpg checks, and is the only way to get back to the tport to
      clear tport->tpg.
      
      The bug was occuring when:
      
      - lport created, tport (our per-lport, per-provider context) is
        allocated.
        tport->tpg = NULL
      - tpg created
      - a PRLI is received. ft_tport_create is called, tpg is found and
        tport->tpg is set
      - tpg removed. ft_tpg is freed in ft_del_tpg. Since tpg->tport was not
        set, tport->tpg is not cleared and points at freed memory
      - Future calls to ft_tport_create return tport via first conditional,
        instead of searching for new tpg by calling ft_lport_find_tpg.
        tport->tpg is still invalid, and will access freed memory.
      
      see https://bugzilla.redhat.com/show_bug.cgi?id=1071340
      
      
      
      Cc: stable@vger.kernel.org # 3.0+
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      2c42be2d
    • Alex Leung's avatar
      target: Add check to prevent Abort Task from aborting itself · 47b1584c
      Alex Leung authored
      
      
      This patch addresses an issue that occurs when an ABTS is received
      for an se_cmd that completes just before the sess_cmd_list is searched
      in core_tmr_abort_task(). When the sess_cmd_list is searched, since
      the ABTS and the FCP_CMND being aborted (that just completed) both
      have the same OXID, TFO->get_task_tag(TMR) returns a value that
      matches tmr->ref_task_tag (from TFO->get_task_tag(FCP_CMND)), and
      the Abort Task tries to abort itself. When this occurs,
      transport_wait_for_tasks() hangs forever since the TMR is waiting
      for itself to finish.
      
      This patch adds a check to core_tmr_abort_task() to make sure the
      TMR does not attempt to abort itself.
      
      Signed-off-by: default avatarAlex Leung <alex.leung@emulex.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      47b1584c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 3123bca7
      Linus Torvalds authored
      Pull second set of btrfs updates from Chris Mason:
       "The most important changes here are from Josef, fixing a btrfs
        regression in 3.14 that can cause corruptions in the extent allocation
        tree when snapshots are in use.
      
        Josef also fixed some deadlocks in send/recv and other assorted races
        when balance is running"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (23 commits)
        Btrfs: fix compile warnings on on avr32 platform
        btrfs: allow mounting btrfs subvolumes with different ro/rw options
        btrfs: export global block reserve size as space_info
        btrfs: fix crash in remount(thread_pool=) case
        Btrfs: abort the transaction when we don't find our extent ref
        Btrfs: fix EINVAL checks in btrfs_clone
        Btrfs: fix unlock in __start_delalloc_inodes()
        Btrfs: scrub raid56 stripes in the right way
        Btrfs: don't compress for a small write
        Btrfs: more efficient io tree navigation on wait_extent_bit
        Btrfs: send, build path string only once in send_hole
        btrfs: filter invalid arg for btrfs resize
        Btrfs: send, fix data corruption due to incorrect hole detection
        Btrfs: kmalloc() doesn't return an ERR_PTR
        Btrfs: fix snapshot vs nocow writting
        btrfs: Change the expanding write sequence to fix snapshot related bug.
        btrfs: make device scan less noisy
        btrfs: fix lockdep warning with reclaim lock inversion
        Btrfs: hold the commit_root_sem when getting the commit root during send
        Btrfs: remove transaction from send
        ...
      3123bca7
    • Linus Torvalds's avatar
      Merge tag 'for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs · 582076ab
      Linus Torvalds authored
      Pull 9p changes from Eric Van Hensbergen:
       "A bunch of updates and cleanup within the transport layer,
        particularly with a focus on RDMA"
      
      * tag 'for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        9pnet_rdma: check token type before int conversion
        9pnet: trans_fd : allocate struct p9_trans_fd and struct p9_conn together.
        9pnet: p9_client->conn field is unused. Remove it.
        9P: Get rid of REQ_STATUS_FLSH
        9pnet_rdma: add cancelled()
        9pnet_rdma: update request status during send
        9P: Add cancelled() to the transport functions.
        net: Mark function as static in 9p/client.c
        9P: Add memory barriers to protect request fields over cb/rpc threads handoff
      582076ab
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 79d2d21e
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A few driver specific fixes, the main one being the fix for handling
        of complete callbacks that are open coded in individual drivers to
        allow callers to omit the completion.  As we move things into the core
        that sort of issue should become less and less common"
      
      * tag 'spi-v3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: qup: Depend on ARCH_QCOM
        spi: efm32: Update binding document to make "efm32,location" property optional
        spi: omap2-mcspi: Convert to use devm_kcalloc
        spi: Always check complete callback before calling it
      79d2d21e
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.15-fixes' of... · c0c4cf06
      Linus Torvalds authored
      Merge tag 'regulator-v3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "A few driver specific fixes that have come in over the merge window,
        all only relevant for the specific driver"
      
      * tag 'regulator-v3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: bcm590xx: Set n_voltages for linear reg
        regulator: s5m8767: Fix carried over ena_gpio assignment
        regulator: s2mps11: Don't check enable_shift before setting enable ramp rate
        regulator: s2mpa01: Don't check enable_shift before setting enable ramp rate
      c0c4cf06
    • Linus Torvalds's avatar
      Merge tag 'regmap-v3.15-nodev' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 4b44e7b1
      Linus Torvalds authored
      Pull regmap fix from Mark Brown:
       "regmap: Fix for nodev mode
      
        Add mising braces so that the nodev mode actually works (which was a
        bit of an oversight)"
      
      Testing schmesting.  We don't need not steenking testing.  We have
      deadlines to beat, and new code to write.
      
      * tag 'regmap-v3.15-nodev' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: adds missing braces in regmap_init()
      4b44e7b1
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.15-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · eeb91e4f
      Linus Torvalds authored
      Pull more ACPI and power management fixes and updates from Rafael Wysocki:
       "This is PM and ACPI material that has emerged over the last two weeks
        and one fix for a CPU hotplug regression introduced by the recent CPU
        hotplug notifiers registration series.
      
        Included are intel_idle and turbostat updates from Len Brown (these
        have been in linux-next for quite some time), a new cpufreq driver for
        powernv (that might spend some more time in linux-next, but BenH was
        asking me so nicely to push it for 3.15 that I couldn't resist), some
        cpufreq fixes and cleanups (including fixes for some silly breakage in
        a couple of cpufreq drivers introduced during the 3.14 cycle),
        assorted ACPI cleanups, wakeup framework documentation fixes, a new
        sysfs attribute for cpuidle and a new command line argument for power
        domains diagnostics.
      
        Specifics:
      
         - Fix for a recently introduced CPU hotplug regression in ARM KVM
           from Ming Lei.
      
         - Fixes for breakage in the at32ap, loongson2_cpufreq, and unicore32
           cpufreq drivers introduced during the 3.14 cycle (-stable material)
           from Chen Gang and Viresh Kumar.
      
         - New powernv cpufreq driver from Vaidyanathan Srinivasan, with bits
           from Gautham R Shenoy and Srivatsa S Bhat.
      
         - Exynos cpufreq driver fix preventing it from being included into
           multiplatform builds that aren't supported by it from Sachin Kamat.
      
         - cpufreq cleanups related to the usage of the driver_data field in
           struct cpufreq_frequency_table from Viresh Kumar.
      
         - cpufreq ppc driver cleanup from Sachin Kamat.
      
         - Intel BayTrail support for intel_idle and ACPI idle from Len Brown.
      
         - Intel CPU model 54 (Atom N2000 series) support for intel_idle from
           Jan Kiszka.
      
         - intel_idle fix for Intel Ivy Town residency targets from Len Brown.
      
         - turbostat updates (Intel Broadwell support and output cleanups)
           from Len Brown.
      
         - New cpuidle sysfs attribute for exporting C-states' target
           residency information to user space from Daniel Lezcano.
      
         - New kernel command line argument to prevent power domains enabled
           by the bootloader from being turned off even if they are not in use
           (for diagnostics purposes) from Tushar Behera.
      
         - Fixes for wakeup sysfs attributes documentation from Geert
           Uytterhoeven.
      
         - New ACPI video blacklist entry for ThinkPad Helix from Stephen
           Chandler Paul.
      
         - Assorted ACPI cleanups and a Kconfig help update from Jonghwan
           Choi, Zhihui Zhang, Hanjun Guo"
      
      * tag 'pm+acpi-3.15-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (28 commits)
        ACPI: Update the ACPI spec information in Kconfig
        arm, kvm: fix double lock on cpu_add_remove_lock
        cpuidle: sysfs: Export target residency information
        cpufreq: ppc: Remove duplicate inclusion of fsl_soc.h
        cpufreq: create another field .flags in cpufreq_frequency_table
        cpufreq: use kzalloc() to allocate memory for cpufreq_frequency_table
        cpufreq: don't print value of .driver_data from core
        cpufreq: ia64: don't set .driver_data to index
        cpufreq: powernv: Select CPUFreq related Kconfig options for powernv
        cpufreq: powernv: Use cpufreq_frequency_table.driver_data to store pstate ids
        cpufreq: powernv: cpufreq driver for powernv platform
        cpufreq: at32ap: don't declare local variable as static
        cpufreq: loongson2_cpufreq: don't declare local variable as static
        cpufreq: unicore32: fix typo issue for 'clk'
        cpufreq: exynos: Disable on multiplatform build
        PM / wakeup: Correct presence vs. emptiness of wakeup_* attributes
        PM / domains: Add pd_ignore_unused to keep power domains enabled
        ACPI / dock: Drop dock_device_ids[] table
        ACPI / video: Favor native backlight interface for ThinkPad Helix
        ACPI / thermal: Fix wrong variable usage in debug statement
        ...
      eeb91e4f
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 40e9963e
      Linus Torvalds authored
      Pullx86 core platform updates from Peter Anvin:
       "This is the x86/platform branch with the objectionable IOSF patches
        removed.
      
        What is left is proper memory handling for Intel GPUs, and a change to
        the Calgary IOMMU code which will be required to make kexec work
        sanely on those platforms after some upcoming kexec changes"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, calgary: Use 8M TCE table size by default
        x86/gpu: Print the Intel graphics stolen memory range
        x86/gpu: Add Intel graphics stolen memory quirk for gen2 platforms
        x86/gpu: Add vfunc for Intel graphics stolen memory base address
      40e9963e
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8eab6cd0
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "This is a collection of minor fixes for x86, plus the IRET information
        leak fix (forbid the use of 16-bit segments in 64-bit mode)"
      
      NOTE! We may have to relax the "forbid the use of 16-bit segments in
      64-bit mode" part, since there may be people who still run and depend on
      16-bit Windows binaries under Wine.
      
      But I'm taking this in the current unconditional form for now to see who
      (if anybody) screams bloody murder.  Maybe nobody cares.  And maybe
      we'll have to update it with some kind of runtime enablement (like our
      vm.mmap_min_addr tunable that people who run dosemu/qemu/wine already
      need to tweak).
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86-64, modify_ldt: Ban 16-bit segments on 64-bit kernels
        efi: Pass correct file handle to efi_file_{read,close}
        x86/efi: Correct EFI boot stub use of code32_start
        x86/efi: Fix boot failure with EFI stub
        x86/platform/hyperv: Handle VMBUS driver being a module
        x86/apic: Reinstate error IRQ Pentium erratum 3AP workaround
        x86, CMCI: Add proper detection of end of CMCI storms
      8eab6cd0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · ede1d63f
      Linus Torvalds authored
      Pull second set of ARM changes from Russell King:
       "This is the remainder of the ARM changes for this merge window.
        Included in this request are:
      
         - fixes for kprobes for big-endian support
         - fix tracing in soft_restart
         - avoid phys address overflow in kdump code
         - fix reporting of read-only pmd bits in kernel page table dump
         - remove unnecessary (and possibly buggy) call to outer_flush_all()
         - fix a three sparse warnings (missing header file for function
           prototypes)
         - fix pj4 crashing single zImage (thanks to arm-soc merging changes
           which enables this with knowledge that the corresponding fix had
           not even been submitted for my tree before the merge window opened)
         - vfp macro cleanups
         - dump register state on undefined instruction userspace faults when
           debugging"
      
      * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        Dump the registers on undefined instruction userspace faults
        ARM: 8018/1: Add {inc,dec}_preempt_count asm macros
        ARM: 8017/1: Move asm macro get_thread_info to asm/assembler.h
        ARM: 8016/1: Check cpu id in pj4_cp0_init.
        ARM: 8015/1: Add cpu_is_pj4 to distinguish PJ4 because it has some differences with V7
        ARM: add missing system_misc.h include to process.c
        ARM: 8009/1: dcscb.c: remove call to outer_flush_all()
        ARM: 8014/1: mm: fix reporting of read-only PMD bits
        ARM: 8012/1: kdump: Avoid overflow when converting pfn to physaddr
        ARM: 8010/1: avoid tracers in soft_restart
        ARM: kprobes-test: Workaround GAS .align bug
        ARM: kprobes-test: use <asm/opcodes.h> for Thumb instruction building
        ARM: kprobes-test: use <asm/opcodes.h> for ARM instruction building
        ARM: kprobes-test: use <asm/opcodes.h> for instruction accesses
        ARM: probes: fix instruction fetch order with <asm/opcodes.h>
      ede1d63f
    • Linus Torvalds's avatar
      Merge tag 'microblaze-3.15-rc1' of git://git.monstr.eu/linux-2.6-microblaze · b42e6dc6
      Linus Torvalds authored
      Pull Microblaze updates from Michal Simek:
       - use asm-generic/io.h and fix intc/timer code
       - clean platform handling
       - enable some syscalls
      
      * tag 'microblaze-3.15-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Use asm-generic/io.h
        microblaze: Remove platform folder
        microblaze: Remove generic platform
        microblaze: Sort Kconfig options
        microblaze: Move DTS file to common location at boot/dts folder
        microblaze: Fix compilation failure because of release_thread
        microblaze: Fix sparse warning because of missing cpu.h header
        microblaze: Make timer driver endian aware
        microblaze: Make intc driver endian aware
        microblaze: Wire-up new system calls sched_setattr/getattr
        microblaze: Wire-up preadv/pwritev in syscall table
        microblaze: Enable pselect6 syscall
        microblaze: Drop architecture-specific declaration of early_printk
        microblaze: Rename global function heartbeat()
      b42e6dc6
    • H. Peter Anvin's avatar
      x86-64, modify_ldt: Ban 16-bit segments on 64-bit kernels · b3b42ac2
      H. Peter Anvin authored
      
      
      The IRET instruction, when returning to a 16-bit segment, only
      restores the bottom 16 bits of the user space stack pointer.  We have
      a software workaround for that ("espfix") for the 32-bit kernel, but
      it relies on a nonzero stack segment base which is not available in
      32-bit mode.
      
      Since 16-bit support is somewhat crippled anyway on a 64-bit kernel
      (no V86 mode), and most (if not quite all) 64-bit processors support
      virtualization for the users who really need it, simply reject
      attempts at creating a 16-bit segment when running on top of a 64-bit
      kernel.
      
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      Link: http://lkml.kernel.org/n/tip-kicdm89kzw9lldryb1br9od0@git.kernel.org
      Cc: <stable@vger.kernel.org>
      b3b42ac2
  3. Apr 11, 2014