1. 20 Jan, 2015 1 commit
    • Sasha Levin's avatar
      scsi_debug: use atomic allocation in resp_rsup_opcodes · 99531e60
      Sasha Levin authored
      resp_rsup_opcodes() may get called from atomic context and would need to
      use GFP_ATOMIC for allocations:
      
      [ 1237.913419] BUG: sleeping function called from invalid context at mm/slub.c:1262
      [ 1237.914865] in_atomic(): 1, irqs_disabled(): 0, pid: 7556, name: trinity-c311
      [ 1237.916142] 3 locks held by trinity-c311/7556:
      [ 1237.916981] #0: (sb_writers#5){.+.+.+}, at: do_readv_writev (include/linux/fs.h:2346 fs/read_write.c:844)
      [ 1237.919713] #1: (&of->mutex){+.+.+.}, at: kernfs_fop_write (fs/kernfs/file.c:297)
      [ 1237.922626] Mutex: counter: -1 owner: trinity-c311
      [ 1237.924044] #2: (s_active#51){.+.+.+}, at: kernfs_fop_write (fs/kernfs/file.c:297)
      [ 1237.925960] Preemption disabled blk_execute_rq_nowait (block/blk-exec.c:95)
      [ 1237.927416]
      [ 1237.927680] CPU: 24 PID: 7556 Comm: trinity-c311 Not tainted 3.19.0-rc4-next-20150116-sasha-00054-g4ad498c-dirty #1744
      [ 1237.929603]  ffff8804fc9d8000 ffff8804d9bc3548 ffffffff9d439fb2 0000000000000000
      [ 1237.931097]  0000000000000000 ffff8804d9bc3588 ffffffff9a18389a ffff8804d9bc3598
      [ 1237.932466]  ffffffff9a1b1715 ffffffffa15935d8 ffffffff9e6f8cb1 00000000000004ee
      [ 1237.933984] Call Trace:
      [ 1237.934434] dump_stack (lib/dump_stack.c:52)
      [ 1237.935323] ___might_sleep (kernel/sched/core.c:7339)
      [ 1237.936259] ? mark_held_locks (kernel/locking/lockdep.c:2549)
      [ 1237.937293] __might_sleep (kernel/sched/core.c:7305)
      [ 1237.938272] __kmalloc (mm/slub.c:1262 mm/slub.c:2419 mm/slub.c:2491 mm/slub.c:3291)
      [ 1237.939137] ? resp_rsup_opcodes (include/linux/slab.h:435 drivers/scsi/scsi_debug.c:1689)
      [ 1237.940173] resp_rsup_opcodes (include/linux/slab.h:435 drivers/scsi/scsi_debug.c:1689)
      [ 1237.941211] ? add_host_store (drivers/scsi/scsi_debug.c:1584)
      [ 1237.942261] scsi_debug_queuecommand (drivers/scsi/scsi_debug.c:5276)
      [ 1237.943404] ? blk_rq_map_sg (block/blk-merge.c:254)
      [ 1237.944398] ? scsi_init_sgtable (drivers/scsi/scsi_lib.c:1095)
      [ 1237.945402] sdebug_queuecommand_lock_or_not (drivers/scsi/scsi_debug.c:5300)
      [ 1237.946735] scsi_dispatch_cmd (drivers/scsi/scsi_lib.c:1706)
      [ 1237.947720] scsi_queue_rq (drivers/scsi/scsi_lib.c:1996)
      [ 1237.948687] __blk_mq_run_hw_queue (block/blk-mq.c:816)
      [ 1237.949796] blk_mq_run_hw_queue (block/blk-mq.c:896)
      [ 1237.950903] ? _raw_spin_unlock (./arch/x86/include/asm/preempt.h:95 include/linux/spinlock_api_smp.h:154 kernel/locking/spinlock.c:183)
      [ 1237.951862] blk_mq_insert_request (block/blk-mq.c:1037)
      [ 1237.952876] blk_execute_rq_nowait (block/blk-exec.c:95)
      [ 1237.953981] ? lockdep_init_map (kernel/locking/lockdep.c:3034)
      [ 1237.954967] blk_execute_rq (block/blk-exec.c:131)
      [ 1237.955929] ? blk_rq_bio_prep (block/blk-core.c:2835)
      [ 1237.956913] scsi_execute (drivers/scsi/scsi_lib.c:252)
      [ 1237.957821] scsi_execute_req_flags (drivers/scsi/scsi_lib.c:281)
      [ 1237.958968] scsi_report_opcode (drivers/scsi/scsi.c:956)
      [ 1237.960009] sd_revalidate_disk (drivers/scsi/sd.c:2707 drivers/scsi/sd.c:2792)
      [ 1237.961139] revalidate_disk (fs/block_dev.c:1081)
      [ 1237.962223] sd_rescan (drivers/scsi/sd.c:1532)
      [ 1237.963142] scsi_rescan_device (drivers/scsi/scsi_scan.c:1579)
      [ 1237.964165] store_rescan_field (drivers/scsi/scsi_sysfs.c:672)
      [ 1237.965254] dev_attr_store (drivers/base/core.c:138)
      [ 1237.966319] sysfs_kf_write (fs/sysfs/file.c:131)
      [ 1237.967289] kernfs_fop_write (fs/kernfs/file.c:311)
      [ 1237.968274] do_readv_writev (fs/read_write.c:722 fs/read_write.c:854)
      [ 1237.969295] ? __acct_update_integrals (kernel/tsacct.c:145)
      [ 1237.970452] ? kernfs_fop_open (fs/kernfs/file.c:271)
      [ 1237.971505] ? _raw_spin_unlock (./arch/x86/include/asm/preempt.h:95 include/linux/spinlock_api_smp.h:154 kernel/locking/spinlock.c:183)
      [ 1237.972512] ? context_tracking_user_exit (include/linux/vtime.h:89 include/linux/jump_label.h:114 include/trace/events/context_tracking.h:47 kernel/context_tracking.c:140)
      [ 1237.973668] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2578 kernel/locking/lockdep.c:2625)
      [ 1237.974882] ? trace_hardirqs_on (kernel/locking/lockdep.c:2633)
      [ 1237.975850] vfs_writev (fs/read_write.c:893)
      [ 1237.976691] SyS_writev (fs/read_write.c:926 fs/read_write.c:917)
      [ 1237.977538] system_call_fastpath (arch/x86/kernel/entry_64.S:423)
      Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Acked-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      99531e60
  2. 19 Jan, 2015 1 commit
    • Brian King's avatar
      ipr: wait for aborted command responses · 6cdb0817
      Brian King authored
      Fixes a race condition in abort handling that was injected
      when multiple interrupt support was added. When only a single
      interrupt is present, the adapter guarantees it will send
      responses for aborted commands prior to the response for the
      abort command itself. With multiple interrupts, these responses
      generally come back on different interrupts, so we need to
      ensure the abort thread waits until the aborted command is
      complete so we don't perform a double completion. This race
      condition was being hit frequently in environments which
      were triggering command timeouts, which was resulting in
      a double completion causing a kernel oops.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarBrian King <brking@linux.vnet.ibm.com>
      Reviewed-by: default avatarWendy Xiong <wenxiong@linux.vnet.ibm.com>
      Tested-by: default avatarWendy Xiong <wenxiong@linux.vnet.ibm.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      6cdb0817
  3. 09 Jan, 2015 2 commits
  4. 05 Jan, 2015 1 commit
    • Bruno Prémont's avatar
      qla2xxx: fix busy wait regression · 975f7d46
      Bruno Prémont authored
      Commit e05fe292 (qla2xxx: Honor FCP_RSP retry delay timer field.)
      causes systems to busy-wait for about 3 minutes after boot prior to
      detecting SAN disks.
      
      During this wait period one kworker is running full-time
      (though /proc/<pid>/stack has no useful data). Another kworker is
      waiting for IO to complete during that whole time period.
      
      Looking at drivers/scsi/qla2xxx/qla_os.c, fcport->retry_delay_timestamp
      has a special value of 0 though that 0 value forces system to wait when
      jiffies is very large value (e.g. 4294952605 - "negative" value when
      signed on 32bit systems).
      Signed-off-by: default avatarBruno Prémont <bonbons@linux-vserver.org>
      Acked-by: default avatarChad Dupuis <chad.dupuis@qlogic.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      975f7d46
  5. 04 Jan, 2015 4 commits
  6. 02 Jan, 2015 3 commits
  7. 31 Dec, 2014 10 commits
  8. 30 Dec, 2014 15 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 2c90331c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix double SKB free in bluetooth 6lowpan layer, from Jukka Rissanen.
      
       2) Fix receive checksum handling in enic driver, from Govindarajulu
          Varadarajan.
      
       3) Fix NAPI poll list corruption in virtio_net and caif_virtio, from
          Herbert Xu.  Also, add code to detect drivers that have this mistake
          in the future.
      
       4) Fix doorbell endianness handling in mlx4 driver, from Amir Vadai.
      
       5) Don't clobber IP6CB() before xfrm6_policy_check() is called in TCP
          input path,f rom Nicolas Dichtel.
      
       6) Fix MPLS action validation in openvswitch, from Pravin B Shelar.
      
       7) Fix double SKB free in vxlan driver, also from Pravin.
      
       8) When we scrub a packet, which happens when we are switching the
          context of the packet (namespace, etc.), we should reset the
          secmark.  From Thomas Graf.
      
       9) ->ndo_gso_check() needs to do more than return true/false, it also
          has to allow the driver to clear netdev feature bits in order for
          the caller to be able to proceed properly.  From Jesse Gross.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (62 commits)
        genetlink: A genl_bind() to an out-of-range multicast group should not WARN().
        netlink/genetlink: pass network namespace to bind/unbind
        ne2k-pci: Add pci_disable_device in error handling
        bonding: change error message to debug message in __bond_release_one()
        genetlink: pass multicast bind/unbind to families
        netlink: call unbind when releasing socket
        netlink: update listeners directly when removing socket
        genetlink: pass only network namespace to genl_has_listeners()
        netlink: rename netlink_unbind() to netlink_undo_bind()
        net: Generalize ndo_gso_check to ndo_features_check
        net: incorrect use of init_completion fixup
        neigh: remove next ptr from struct neigh_table
        net: xilinx: Remove unnecessary temac_property in the driver
        net: phy: micrel: use generic config_init for KSZ8021/KSZ8031
        net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding
        openvswitch: fix odd_ptr_err.cocci warnings
        Bluetooth: Fix accepting connections when not using mgmt
        Bluetooth: Fix controller configuration with HCI_QUIRK_INVALID_BDADDR
        brcmfmac: Do not crash if platform data is not populated
        ipw2200: select CFG80211_WEXT
        ...
      2c90331c
    • Linus Torvalds's avatar
      Merge tag 'linux-kselftest-3.19-fixes' of... · 6ab1e8de
      Linus Torvalds authored
      Merge tag 'linux-kselftest-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest fix from Shuah Khan:
       "Fix exec test compile warnings"
      
      * tag 'linux-kselftest-3.19-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        selftests/exec: Use %zu to format size_t
      6ab1e8de
    • Alan Stern's avatar
      SCSI: fix regression in scsi_send_eh_cmnd() · 511833ac
      Alan Stern authored
      Commit ac61d195 (scsi: set correct completion code in
      scsi_send_eh_cmnd()) introduced a bug.  It changed the stored return
      value from a queuecommand call, but it didn't take into account that
      the return value was used again later on.  This patch fixes the bug by
      changing the later usage.
      
      There is a big comment in the middle of scsi_send_eh_cmnd() which
      does a good job of explaining how the routine works.  But it mentions
      a "rtn = FAILURE" value that doesn't exist in the code.  This patch
      adjusts the code to match the comment (I assume the comment is right
      and the code is wrong).
      
      This fixes Bugzilla #88341.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Reported-by: default avatarАндрей Аладьев <aladjev.andrew@gmail.com>
      Tested-by: default avatarАндрей Аладьев <aladjev.andrew@gmail.com>
      Fixes: ac61d195Acked-by: default avatarHannes Reinecke <hare@suse.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      511833ac
    • Lars-Peter Clausen's avatar
      ALSA: pcm: Fix kerneldoc for params_*() functions · 62f64a88
      Lars-Peter Clausen authored
      Fix a copy and paste error in the kernel doc description for the params_*()
      functions.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      62f64a88
    • Takashi Iwai's avatar
      Merge tag 'asoc-fix-v3.19-rc2' of... · e83ce4a5
      Takashi Iwai authored
      Merge tag 'asoc-fix-v3.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Fixes for v3.19
      
      A few fixes for v3.19, a few driver specifics and one core fix which
      fixes a boot crash on OMAP if deferred probing kicks in due to
      attempting to modify static data.
      e83ce4a5
    • Steev Klimaszewski's avatar
      Add USB_EHCI_EXYNOS to multi_v7_defconfig · 007487f1
      Steev Klimaszewski authored
      Currently we enable Exynos devices in the multi v7 defconfig, however, when
      testing on my ODROID-U3, I noticed that USB was not working.  Enabling this
      option causes USB to work, which enables networking support as well since the
      ODROID-U3 has networking on the USB bus.
      
      [arnd] Support for odroid-u3 was added in 3.10, so it would be nice to
      backport this fix at least that far.
      Signed-off-by: default avatarSteev Klimaszewski <steev@gentoo.org>
      Cc: stable@vger.kernel.org # 3.10
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      007487f1
    • Arnd Bergmann's avatar
      Merge tag 'mvebu-fixes-3.19' of git://git.infradead.org/linux-mvebu into fixes · 7ebdfaa5
      Arnd Bergmann authored
      Pull "Fixes for 3.19" from Andrew Lunn:
      
      Jason is taking a back seat this cycle and i'm doing all the patch
      wrangling for mvebu.
      
      * tag 'mvebu-fixes-3.19' of git://git.infradead.org/linux-mvebu:
        ARM: mvebu: Fix pinctrl configuration for Armada 370 DB
      
      Also update to Linux 3.19-rc1, which this was based on.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      7ebdfaa5
    • Paul Moore's avatar
      audit: create private file name copies when auditing inodes · fcf22d82
      Paul Moore authored
      Unfortunately, while commit 4a928436 ("audit: correctly record file
      names with different path name types") fixed a problem where we were
      not recording filenames, it created a new problem by attempting to use
      these file names after they had been freed.  This patch resolves the
      issue by creating a copy of the filename which the audit subsystem
      frees after it is done with the string.
      
      At some point it would be nice to resolve this issue with refcounts,
      or something similar, instead of having to allocate/copy strings, but
      that is almost surely beyond the scope of a -rcX patch so we'll defer
      that for later.  On the plus side, only audit users should be impacted
      by the string copying.
      Reported-by: default avatarToralf Foerster <toralf.foerster@gmx.de>
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      fcf22d82
    • Anil Chintalapati (achintal)'s avatar
      fnic: IOMMU Fault occurs when IO and abort IO is out of order · efc7a288
      Anil Chintalapati (achintal) authored
      When I/O is aborted by mid-layer, fnic FW will complete the I/O before
      completing the abort task. In some cases abort request is completed before
      the I/O, which could lead to inconsistent driver and firmware states.
      In this case firmware reset would clear the inconsistent state.
      Signed-off-by: default avatarAnil Chintalapati <achintal@cisco.com>
      Signed-off-by: default avatarSesidhar Baddela <sebaddel@cisco.com>
      Signed-off-by: default avatarHiral Shah <hishah@cisco.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      efc7a288
    • Martin K. Petersen's avatar
      sd: tweak discard heuristics to work around QEMU SCSI issue · e461338b
      Martin K. Petersen authored
      7985090a changed the discard heuristics to give preference to the
      WRITE SAME commands that (unlike UNMAP) guarantee deterministic results.
      
      Ming Lei discovered that QEMU SCSI's WRITE SAME implementation
      internally relied on limits that were only communicated for the UNMAP
      case. And therefore discard commands backed by WRITE SAME would fail.
      
      Tweak the heuristics so we still pick UNMAP in the LBPRZ=0 case and only
      prefer the WRITE SAME variants if the device has the LBPRZ flag set.
      Reported-by: default avatarMing Lei <ming.lei@canonical.com>
      Tested-by: default avatarMing Lei <ming.lei@canonical.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      e461338b
    • Tomi Valkeinen's avatar
      OMAPDSS: SDI: fix output port_num · a32442d4
      Tomi Valkeinen authored
      After the commit ef691ff4 (OMAPDSS: DT: Get source endpoint by
      matching reg-id) we look for the SDI output using the port number.
      However, the SDI driver doesn't set the port number, which causes the
      SDI display to not initialize.
      
      Fix this by setting the SDI port number to 1. We use a hardcoded value,
      as SDI was used only on OMAP3 and it's always port number 1 there.
      Reported-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Reported-by: default avatarPavel Machek <pavel@ucw.cz>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      a32442d4
    • Tomi Valkeinen's avatar
      video/fbdev: fix defio's fsync · 30ea9c52
      Tomi Valkeinen authored
      fb_deferred_io_fsync() returns the value of schedule_delayed_work() as
      an error code, but schedule_delayed_work() does not return an error. It
      returns true/false depending on whether the work was already queued.
      
      Fix this by ignoring the return value of schedule_delayed_work().
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: stable@vger.kernel.org
      30ea9c52
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 · 5faa0154
      Linus Torvalds authored
      Pull CIFS fixes from Steve French:
       "A set of three minor cifs fixes"
      
      * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: make new inode cache when file type is different
        Fix signed/unsigned pointer warning
        Convert MessageID in smb2_hdr to LE
      5faa0154
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · b9d4a35f
      Linus Torvalds authored
      Pull UDF & isofs fixes from Jan Kara:
       "A couple of UDF fixes of handling of corrupted media and one iso9660
        fix of the same"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Reduce repeated dereferences
        udf: Check component length before reading it
        udf: Check path length when reading symlink
        udf: Verify symlink size before loading it
        udf: Verify i_size when loading inode
        isofs: Fix unchecked printing of ER records
      b9d4a35f
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · df90dcd1
      Linus Torvalds authored
      Pull power management and ACPI material from Rafael J Wysocki:
       "These are fixes (operating performance points library, cpufreq-dt
        driver, cpufreq core, ACPI backlight, cpupower tool), cleanups
        (cpuidle), new processor IDs for the RAPL (Running Average Power
        Limit) power capping driver, and a modification of the generic power
        domains framework allowing modular drivers to call one of its helper
        functions.
      
        Specifics:
      
         - Fix for a potential NULL pointer dereference in the cpufreq core
           due to an initialization race condition (Ethan Zhao).
      
         - Fixes for abuse of the OPP (Operating Performance Points) API
           related to RCU and other minor issues in the OPP library and the
           cpufreq-dt driver (Dmitry Torokhov).
      
         - cpuidle governors cleanup making them measure idle duration in a
           better way without using the CPUIDLE_FLAG_TIME_INVALID flag which
           allows that flag to be dropped from the ACPI cpuidle driver and
           from the core too (Len Brown).
      
         - New ACPI backlight blacklist entries for Samsung machines without a
           working native backlight interface that need to use the ACPI
           backlight instead (Aaron Lu).
      
         - New CPU IDs of future Intel Xeon CPUs for the Intel RAPL power
           capping driver (Jacob Pan).
      
         - Generic power domains framework modification to export the
           of_genpd_get_from_provider() function to modular drivers that will
           allow future driver modifications to be based on the mainline (Amit
           Daniel Kachhap).
      
         - Two fixes for the cpupower tool (Michal Privoznik, Prarit
           Bhargava)"
      
      * tag 'pm+acpi-3.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / video: Add some Samsung models to disable_native_backlight list
        tools / cpupower: Fix no idle state information return value
        tools / cpupower: Correctly detect if running as root
        cpufreq: fix a NULL pointer dereference in __cpufreq_governor()
        cpufreq-dt: defer probing if OPP table is not ready
        PM / OPP: take RCU lock in dev_pm_opp_get_opp_count
        PM / OPP: fix warning in of_free_opp_table()
        PM / OPP: add some lockdep annotations
        powercap / RAPL: add IDs for future Xeon CPUs
        PM / Domains: Export of_genpd_get_from_provider function
        cpuidle / ACPI: remove unused CPUIDLE_FLAG_TIME_INVALID
        cpuidle: ladder: Better idle duration measurement without using CPUIDLE_FLAG_TIME_INVALID
        cpuidle: menu: Better idle duration measurement without using CPUIDLE_FLAG_TIME_INVALID
      df90dcd1
  9. 29 Dec, 2014 3 commits