1. Nov 09, 2018
  2. Nov 08, 2018
  3. Nov 02, 2018
    • Keith Busch's avatar
      nvme-pci: fix conflicting p2p resource adds · 9fe5c59f
      Keith Busch authored
      
      
      The nvme pci driver had been adding its CMB resource to the P2P DMA
      subsystem everytime on on a controller reset. This results in the
      following warning:
      
          ------------[ cut here ]------------
          nvme 0000:00:03.0: Conflicting mapping in same section
          WARNING: CPU: 7 PID: 81 at kernel/memremap.c:155 devm_memremap_pages+0xa6/0x380
          ...
          Call Trace:
           pci_p2pdma_add_resource+0x153/0x370
           nvme_reset_work+0x28c/0x17b1 [nvme]
           ? add_timer+0x107/0x1e0
           ? dequeue_entity+0x81/0x660
           ? dequeue_entity+0x3b0/0x660
           ? pick_next_task_fair+0xaf/0x610
           ? __switch_to+0xbc/0x410
           process_one_work+0x1cf/0x350
           worker_thread+0x215/0x3d0
           ? process_one_work+0x350/0x350
           kthread+0x107/0x120
           ? kthread_park+0x80/0x80
           ret_from_fork+0x1f/0x30
          ---[ end trace f7ea76ac6ee72727 ]---
          nvme nvme0: failed to register the CMB
      
      This patch fixes this by registering the CMB with P2P only once.
      
      Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
      Reviewed-by: default avatarLogan Gunthorpe <logang@deltatee.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      9fe5c59f
    • James Smart's avatar
      nvme-fc: fix request private initialization · d19b8bc8
      James Smart authored
      The patch made to avoid Coverity reporting of out of bounds access
      on aen_op moved the assignment of a pointer, leaving it null when it
      was subsequently used to calculate a private pointer. Thus the private
      pointer was bad.
      
      Move/correct the private pointer initialization to be in sync with the
      patch.
      
      Fixes: 0d2bdf9f
      
       ("nvme-fc: rework the request initialization code")
      Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
      Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d19b8bc8
    • Dennis Zhou's avatar
      blkcg: revert blkcg cleanups series · b5f2954d
      Dennis Zhou authored
      This reverts a series committed earlier due to null pointer exception
      bug report in [1]. It seems there are edge case interactions that I did
      not consider and will need some time to understand what causes the
      adverse interactions.
      
      The original series can be found in [2] with a follow up series in [3].
      
      [1] https://www.spinics.net/lists/cgroups/msg20719.html
      [2] https://lore.kernel.org/lkml/20180911184137.35897-1-dennisszhou@gmail.com/
      [3] https://lore.kernel.org/lkml/20181020185612.51587-1-dennis@kernel.org/
      
      This reverts the following commits:
      d459d853, b2c3fa54, 101246ec, b3b9f24f, e2b09899,
      f0fcb3ec, c839e7a0, bdc24917, 74b7c02a, 5bf9a1f3,
      a7b39b4e, 07b05bcc, 49f4c2dc, 27e6fa99
      
      
      
      Signed-off-by: default avatarDennis Zhou <dennis@kernel.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      b5f2954d
    • Ming Lei's avatar
      block: brd: associate with queue until adding disk · 153fcd5f
      Ming Lei authored
      
      
      brd_free() may be called in failure path on one brd instance which
      disk isn't added yet, so release handler of gendisk may free the
      associated request_queue early and causes the following use-after-free[1].
      
      This patch fixes this issue by associating gendisk with request_queue
      just before adding disk.
      
      [1] KASAN: use-after-free Read in del_timer_syncNon-volatile memory driver v1.3
      Linux agpgart interface v0.103
      [drm] Initialized vgem 1.0.0 20120112 for virtual device on minor 0
      usbcore: registered new interface driver udl
      ==================================================================
      BUG: KASAN: use-after-free in __lock_acquire+0x36d9/0x4c20
      kernel/locking/lockdep.c:3218
      Read of size 8 at addr ffff8801d1b6b540 by task swapper/0/1
      
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.0+ #88
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
      Google 01/01/2011
      Call Trace:
        __dump_stack lib/dump_stack.c:77 [inline]
        dump_stack+0x244/0x39d lib/dump_stack.c:113
        print_address_description.cold.7+0x9/0x1ff mm/kasan/report.c:256
        kasan_report_error mm/kasan/report.c:354 [inline]
        kasan_report.cold.8+0x242/0x309 mm/kasan/report.c:412
        __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433
        __lock_acquire+0x36d9/0x4c20 kernel/locking/lockdep.c:3218
        lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844
        del_timer_sync+0xb7/0x270 kernel/time/timer.c:1283
        blk_cleanup_queue+0x413/0x710 block/blk-core.c:809
        brd_free+0x5d/0x71 drivers/block/brd.c:422
        brd_init+0x2eb/0x393 drivers/block/brd.c:518
        do_one_initcall+0x145/0x957 init/main.c:890
        do_initcall_level init/main.c:958 [inline]
        do_initcalls init/main.c:966 [inline]
        do_basic_setup init/main.c:984 [inline]
        kernel_init_freeable+0x5c6/0x6b9 init/main.c:1148
        kernel_init+0x11/0x1ae init/main.c:1068
        ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:350
      
      Reported-by: default avatar <syzbot+3701447012fe951dabb2@syzkaller.appspotmail.com>
      Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      153fcd5f
  4. Oct 31, 2018
  5. Oct 29, 2018
  6. Oct 26, 2018
  7. Oct 25, 2018
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · d49f8a52
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This is mostly updates of the usual drivers: UFS, esp_scsi, NCR5380,
        qla2xxx, lpfc, libsas, hisi_sas.
      
        In addition there's a set of mostly small updates to the target
        subsystem a set of conversions to the generic DMA API, which do have
        some potential for issues in the older drivers but we'll handle those
        as case by case fixes.
      
        A new myrs driver for the DAC960/mylex raid controllers to replace the
        block based DAC960 which is also being removed by Jens in this merge
        window.
      
        Plus the usual slew of trivial changes"
      
      [ "myrs" stands for "MYlex Raid Scsi". Obviously. Silly of me to even
        wonder. There's also a "myrb" driver, where the 'b' stands for
        'block'. Truly, somebody has got mad naming skillz. - Linus ]
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (237 commits)
        scsi: myrs: Fix the processor absent message in processor_show()
        scsi: myrs: Fix a logical vs bitwise bug
        scsi: hisi_sas: Fix NULL pointer dereference
        scsi: myrs: fix build failure on 32 bit
        scsi: fnic: replace gross legacy tag hack with blk-mq hack
        scsi: mesh: switch to generic DMA API
        scsi: ips: switch to generic DMA API
        scsi: smartpqi: fully convert to the generic DMA API
        scsi: vmw_pscsi: switch to generic DMA API
        scsi: snic: switch to generic DMA API
        scsi: qla4xxx: fully convert to the generic DMA API
        scsi: qla2xxx: fully convert to the generic DMA API
        scsi: qla1280: switch to generic DMA API
        scsi: qedi: fully convert to the generic DMA API
        scsi: qedf: fully convert to the generic DMA API
        scsi: pm8001: switch to generic DMA API
        scsi: nsp32: switch to generic DMA API
        scsi: mvsas: fully convert to the generic DMA API
        scsi: mvumi: switch to generic DMA API
        scsi: mpt3sas: switch to generic DMA API
        ...
      d49f8a52
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.20-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · bd6bf7c1
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
      
       - Fix ASPM link_state teardown on removal (Lukas Wunner)
      
       - Fix misleading _OSC ASPM message (Sinan Kaya)
      
       - Make _OSC optional for PCI (Sinan Kaya)
      
       - Don't initialize ASPM link state when ACPI_FADT_NO_ASPM is set
         (Patrick Talbert)
      
       - Remove x86 and arm64 node-local allocation for host bridge structures
         (Punit Agrawal)
      
       - Pay attention to device-specific _PXM node values (Jonathan Cameron)
      
       - Support new Immediate Readiness bit (Felipe Balbi)
      
       - Differentiate between pciehp surprise and safe removal (Lukas Wunner)
      
       - Remove unnecessary pciehp includes (Lukas Wunner)
      
       - Drop pciehp hotplug_slot_ops wrappers (Lukas Wunner)
      
       - Tolerate PCIe Slot Presence Detect being hardwired to zero to
         workaround broken hardware, e.g., the Wilocity switch/wireless device
         (Lukas Wunner)
      
       - Unify pciehp controller & slot structs (Lukas Wunner)
      
       - Constify hotplug_slot_ops ...
      bd6bf7c1