Skip to content
  1. May 02, 2020
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 42eb62d4
      Linus Torvalds authored
      Pull arm64 fix from Catalin Marinas:
       "Add -fasynchronous-unwind-tables to the vDSO CFLAGS"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: vdso: Add -fasynchronous-unwind-tables to cflags
      42eb62d4
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.7-2020-05-01' of git://git.kernel.dk/linux-block · cf018530
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Fix for statx not grabbing the file table, making AT_EMPTY_PATH fail
      
       - Cover a few cases where async poll can handle retry, eliminating the
         need for an async thread
      
       - fallback request busy/free fix (Bijan)
      
       - syzbot reported SQPOLL thread exit fix for non-preempt (Xiaoguang)
      
       - Fix extra put of req for sync_file_range (Pavel)
      
       - Always punt splice async. We'll improve this for 5.8, but wanted to
         eliminate the inode mutex lock from the non-blocking path for 5.7
         (Pavel)
      
      * tag 'io_uring-5.7-2020-05-01' of git://git.kernel.dk/linux-block:
        io_uring: punt splice async because of inode mutex
        io_uring: check non-sync defer_list carefully
        io_uring: fix extra put in sync_file_range()
        io_uring: use cond_resched() in io_ring_ctx_wait_and_kill()
        io_uring: use proper references for fallback_req locking
        io_uring: only force async punt if poll based retry can't handle it
        io_uring: enable poll retry for any file with ->read_iter / ->write_iter
        io_uring: statx must grab the file table for valid fd
      cf018530
    • Linus Torvalds's avatar
      Merge tag 'block-5.7-2020-05-01' of git://git.kernel.dk/linux-block · 052c467c
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A few fixes for this release:
      
         - NVMe pull request from Christoph, with a single fix for a double
           free in the namespace error handling.
      
         - Kill the bd_openers check in blk_drop_partitions(), fixing a
           regression in this merge window (Christoph)"
      
      * tag 'block-5.7-2020-05-01' of git://git.kernel.dk/linux-block:
        block: remove the bd_openers checks in blk_drop_partitions
        nvme: prevent double free in nvme_alloc_ns() error handling
      052c467c
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · ab386c46
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Three driver bugfixes, and two reverts because the original patches
        revealed underlying problems which the Tegra guys are now working on"
      
      * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: aspeed: Avoid i2c interrupt status clear race condition.
        i2c: amd-mp2-pci: Fix Oops in amd_mp2_pci_init() error handling
        Revert "i2c: tegra: Better handle case where CPU0 is busy for a long time"
        Revert "i2c: tegra: Synchronize DMA before termination"
        i2c: iproc: generate stop event for slave writes
      ab386c46
    • Linus Torvalds's avatar
      Merge tag 'sound-5.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · c5364190
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Just a collection of small fixes around this time:
      
         - One more try for fixing PCM OSS regression
      
         - HD-audio: a new quirk for Lenovo, the improved driver blacklisting,
           a lock fix in the minor error path, and a fix for the possible race
           at monitor notifiaction
      
         - USB-audio: a quirk ID fix, a fix for POD HD500 workaround"
      
      * tag 'sound-5.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID
        ALSA: opti9xx: shut up gcc-10 range warning
        ALSA: hda/hdmi: fix without unlocked before return
        ALSA: hda/hdmi: fix race in monitor detection during probe
        ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter
        ALSA: line6: Fix POD HD500 audio playback
        ALSA: pcm: oss: Place the plugin buffer overflow checks correctly (for 5.7)
        ALSA: pcm: oss: Place the plugin buffer overflow checks correctly...
      c5364190
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2020-05-01' of git://anongit.freedesktop.org/drm/drm · 477bfeb9
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular scheduled fixes for graphics. Nothing to extreme bunch of
        amdgpu fixes, i915 and qxl fixes, along with some misc ones.
      
        All seems to be progressing normally.
      
        core:
         - EDID off by one DTD fix
         - DP mst write return code fix
      
        dma-buf:
         - fix SET_NAME ioctl uapi
         - doc fixes
      
        amdgpu:
         - Fix a green screen on resume issue
         - PM fixes for SR-IOV SDMA fix for navi
         - Renoir display fixes
         - Cursor and pageflip stuttering fixes
         - Misc additional display fixes
         - (uapi) Add additional DCC tiling flags for navi1x
      
        i915:
         - Fix selftest refcnt leak (Xiyu)
         - Fix gem vma lock (Chris)
         - Fix gt's i915_request.timeline acquire by checking if cacheline is
           valid (Chris)
         - Fix IRQ postinistall fault masks (Matt)
      
        qxl:
         - use after gree fix
         - fix lost kunmap
         - release leak fix
      
        virtio:
         - context destruction fix"
      
      * tag 'drm-fixes-2020-05-01' of git://anongit.freedesktop.org/drm/drm: (26 commits)
        dma-buf: fix documentation build warnings
        drm/qxl: qxl_release use after free
        drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper()
        drm/i915: Use proper fault mask in interrupt postinstall too
        drm/amd/display: Use cursor locking to prevent flip delays
        drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1
        drm/amd/display: Defer cursor update around VUPDATE for all ASIC
        drm/amd/display: fix rn soc bb update
        drm/amd/display: check if REFCLK_CNTL register is present
        drm/amdgpu: bump version for invalidate L2 before SDMA IBs
        drm/amdgpu: invalidate L2 before SDMA IBs (v2)
        drm/amdgpu: add tiling flags from Mesa
        drm/amd/powerplay: avoid using pm_en before it is initialized revised
        Revert "drm/amd/powerplay: avoid using pm_en before it is initialized"
        drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
        drm/qxl: qxl_release leak in qxl_draw_dirty_fb()
        drm/virtio: only destroy created contexts
        drm/dp_mst: Fix drm_dp_send_dpcd_write() return code
        drm/i915/gt: Check cacheline is valid before acquiring
        drm/i915/gem: Hold obj->vma.lock over for_each_ggtt_vma()
        ...
      477bfeb9
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · cebcff3a
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Four minor fixes: three in drivers and one in the core.
      
        The core one allows an additional state change that fixes a regression
        introduced by an update to the aacraid driver in the previous merge
        window"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: target/iblock: fix WRITE SAME zeroing
        scsi: qla2xxx: check UNLOADING before posting async work
        scsi: qla2xxx: set UNLOADING before waiting for session deletion
        scsi: core: Allow the state change from SDEV_QUIESCE to SDEV_BLOCK
      cebcff3a
  2. May 01, 2020
  3. Apr 30, 2020
  4. Apr 29, 2020
    • Vasily Averin's avatar
      drm/qxl: qxl_release use after free · 933db733
      Vasily Averin authored
      qxl_release should not be accesses after qxl_push_*_ring_release() calls:
      userspace driver can process submitted command quickly, move qxl_release
      into release_ring, generate interrupt and trigger garbage collector.
      
      It can lead to crashes in qxl driver or trigger memory corruption
      in some kmalloc-192 slab object
      
      Gerd Hoffmann proposes to swap the qxl_release_fence_buffer_objects() +
      qxl_push_{cursor,command}_ring_release() calls to close that race window.
      
      cc: stable@vger.kernel.org
      Fixes: f64122c1
      
       ("drm: add new QXL driver. (v1.4)")
      Signed-off-by: default avatarVasily Averin <vvs@virtuozzo.com>
      Link: http://patchwork.freedesktop.org/patch/msgid/fa17b338-66ae-f299-68fe-8d32419d9071@virtuozzo.com
      
      
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      933db733
    • Vasily Averin's avatar
    • Wu Bo's avatar
      ALSA: hda/hdmi: fix without unlocked before return · a2f64724
      Wu Bo authored
      Fix the following coccicheck warning:
      sound/pci/hda/patch_hdmi.c:1852:2-8: preceding lock on line 1846
      
      After add sanity check to pass klockwork check,
      The spdif_mutex should be unlock before return true
      in check_non_pcm_per_cvt().
      
      Fixes: 960a581e
      
       ("ALSA: hda: fix some klockwork scan warnings")
      Signed-off-by: default avatarWu Bo <wubo40@huawei.com>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/1587907042-694161-1-git-send-email-wubo40@huawei.com
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a2f64724
    • Gabriel Krisman Bertazi's avatar
      dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath · 5686dee3
      Gabriel Krisman Bertazi authored
      
      
      When adding devices that don't have a scsi_dh on a BIO based multipath,
      I was able to consistently hit the warning below and lock-up the system.
      
      The problem is that __map_bio reads the flag before it potentially being
      modified by choose_pgpath, and ends up using the older value.
      
      The WARN_ON below is not trivially linked to the issue. It goes like
      this: The activate_path delayed_work is not initialized for non-scsi_dh
      devices, but we always set MPATHF_QUEUE_IO, asking for initialization.
      That is fine, since MPATHF_QUEUE_IO would be cleared in choose_pgpath.
      Nevertheless, only for BIO-based mpath, we cache the flag before calling
      choose_pgpath, and use the older version when deciding if we should
      initialize the path.  Therefore, we end up trying to initialize the
      paths, and calling the non-initialized activate_path work.
      
      [   82.437100] ------------[ cut here ]------------
      [   82.437659] WARNING: CPU: 3 PID: 602 at kernel/workqueue.c:1624
        __queue_delayed_work+0x71/0x90
      [   82.438436] Modules linked in:
      [   82.438911] CPU: 3 PID: 602 Comm: systemd-udevd Not tainted 5.6.0-rc6+ #339
      [   82.439680] RIP: 0010:__queue_delayed_work+0x71/0x90
      [   82.440287] Code: c1 48 89 4a 50 81 ff 00 02 00 00 75 2a 4c 89 cf e9
      94 d6 07 00 e9 7f e9 ff ff 0f 0b eb c7 0f 0b 48 81 7a 58 40 74 a8 94 74
      a7 <0f> 0b 48 83 7a 48 00 74 a5 0f 0b eb a1 89 fe 4c 89 cf e9 c8 c4 07
      [   82.441719] RSP: 0018:ffffb738803977c0 EFLAGS: 00010007
      [   82.442121] RAX: ffffa086389f9740 RBX: 0000000000000002 RCX: 0000000000000000
      [   82.442718] RDX: ffffa086350dd930 RSI: ffffa0863d76f600 RDI: 0000000000000200
      [   82.443484] RBP: 0000000000000200 R08: 0000000000000000 R09: ffffa086350dd970
      [   82.444128] R10: 0000000000000000 R11: 0000000000000000 R12: ffffa086350dd930
      [   82.444773] R13: ffffa0863d76f600 R14: 0000000000000000 R15: ffffa08636738008
      [   82.445427] FS:  00007f6abfe9dd40(0000) GS:ffffa0863dd80000(0000) knlGS:00000
      [   82.446040] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   82.446478] CR2: 0000557d288db4e8 CR3: 0000000078b36000 CR4: 00000000000006e0
      [   82.447104] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [   82.447561] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [   82.448012] Call Trace:
      [   82.448164]  queue_delayed_work_on+0x6d/0x80
      [   82.448472]  __pg_init_all_paths+0x7b/0xf0
      [   82.448714]  pg_init_all_paths+0x26/0x40
      [   82.448980]  __multipath_map_bio.isra.0+0x84/0x210
      [   82.449267]  __map_bio+0x3c/0x1f0
      [   82.449468]  __split_and_process_non_flush+0x14a/0x1b0
      [   82.449775]  __split_and_process_bio+0xde/0x340
      [   82.450045]  ? dm_get_live_table+0x5/0xb0
      [   82.450278]  dm_process_bio+0x98/0x290
      [   82.450518]  dm_make_request+0x54/0x120
      [   82.450778]  generic_make_request+0xd2/0x3e0
      [   82.451038]  ? submit_bio+0x3c/0x150
      [   82.451278]  submit_bio+0x3c/0x150
      [   82.451492]  mpage_readpages+0x129/0x160
      [   82.451756]  ? bdev_evict_inode+0x1d0/0x1d0
      [   82.452033]  read_pages+0x72/0x170
      [   82.452260]  __do_page_cache_readahead+0x1ba/0x1d0
      [   82.452624]  force_page_cache_readahead+0x96/0x110
      [   82.452903]  generic_file_read_iter+0x84f/0xae0
      [   82.453192]  ? __seccomp_filter+0x7c/0x670
      [   82.453547]  new_sync_read+0x10e/0x190
      [   82.453883]  vfs_read+0x9d/0x150
      [   82.454172]  ksys_read+0x65/0xe0
      [   82.454466]  do_syscall_64+0x4e/0x210
      [   82.454828]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [...]
      [   82.462501] ---[ end trace bb39975e9cf45daa ]---
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarGabriel Krisman Bertazi <krisman@collabora.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      5686dee3
    • Matt Roper's avatar
      drm/i915: Use proper fault mask in interrupt postinstall too · 8598eb78
      Matt Roper authored
      The IRQ postinstall handling had open-coded pipe fault mask selection
      that never got updated for gen11.  Switch it to use
      gen8_de_pipe_fault_mask() to ensure we don't miss updates for new
      platforms.
      
      Cc: José Roberto de Souza <jose.souza@intel.com>
      Fixes: d506a65d
      
       ("drm/i915: Catch GTT fault errors for gen11+ planes")
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200424231423.4065231-1-matthew.d.roper@intel.com
      
      
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      (cherry picked from commit 869129ee
      
      )
      Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      8598eb78
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 96c9a780
      Linus Torvalds authored
      Pull vfs fixes from Al Viro:
       "Two old bugs..."
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        propagate_one(): mnt_set_mountpoint() needs mount_lock
        dlmfs_file_write(): fix the bogosity in handling non-zero *ppos
      96c9a780
    • David Howells's avatar
      Fix use after free in get_tree_bdev() · dd7bc815
      David Howells authored
      Commit 6fcf0c72, a fix to get_tree_bdev() put a missing blkdev_put() in
      the wrong place, before a warnf() that displays the bdev under
      consideration rather after it.
      
      This results in a silent lockup in printk("%pg") called via warnf() from
      get_tree_bdev() under some circumstances when there's a race with the
      blockdev being frozen.  This can be caused by xfstests/tests/generic/085 in
      combination with Lukas Czerner's ext4 mount API conversion patchset.  It
      looks like it ought to occur with other users of get_tree_bdev() such as
      XFS, but apparently doesn't.
      
      Fix this by switching the order of the lines.
      
      Fixes: 6fcf0c72
      
       ("vfs: add missing blkdev_put() in get_tree_bdev()")
      Reported-by: default avatarLukas Czerner <lczerner@redhat.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Ian Kent <raven@themaw.net>
      cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dd7bc815