1. 29 Jun, 2018 4 commits
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2018-06-29' of git://anongit.freedesktop.org/drm/drm · 48a3c64b
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing too major this round:
      
         - small set of mali-dp fixes
      
         - single meson fix
      
         - a bunch of amdgpu fixes (one makes non-4k page sizes not be a bad
           experience)"
      
      * tag 'drm-fixes-2018-06-29' of git://anongit.freedesktop.org/drm/drm:
        drm/amd/display: release spinlock before committing updates to stream
        drm/amdgpu:Support new VCN FW version naming convention
        drm/amdgpu: fix UBSAN: Undefined behaviour for amdgpu_fence.c
        drm/meson: Fix an un-handled error path in 'meson_drv_bind_master()'
        drm/amdgpu: GPU vs CPU page size fixes in amdgpu_vm_bo_split_mapping
        drm/amdgpu: Count disabled CRTCs in commit tail earlier
        drm/mali-dp: Rectify the width and height passed to rotmem_required()
        drm/arm/malidp: Preserve LAYER_FORMAT contents when setting format
        drm: mali-dp: Enable Global SE interrupts mask for DP500
        drm/arm/malidp: Ensure that the crtcs are shutdown before removing any encoder/connector
      48a3c64b
    • Linus Torvalds's avatar
      Merge tag 'for-4.18/dm-fixes' of... · ff23908b
      Linus Torvalds authored
      Merge tag 'for-4.18/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix dm core to use more efficient bio_split() instead of
         bio_clone_bioset(). Also fixes splitting bio that has integrity
         payload.
      
       - Three fixes related to properly validating DAX capabilities of a
         stacked DM device that will advertise DAX support.
      
       - Update DM writecache target to use 2-factor allocator arguments. Kees
         says this is the last related change for 4.18.
      
       - Fix DM zoned target to use GFP_NOIO to avoid triggering reclaim
         during IO submission (caught by lockdep).
      
       - Fix DM thinp to gracefully recover from running out of data space
         while a previous async discard completes (whereby freeing space).
      
       - Fix DM thinp's metadata transaction commit to avoid needless work.
      
      * tag 'for-4.18/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm: prevent DAX mounts if not supported
        dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()
        pmem: only set QUEUE_FLAG_DAX for fsdax mode
        dm thin: handle running out of data space vs concurrent discard
        dm raid: don't use 'const' in function return
        dm zoned: avoid triggering reclaim from inside dmz_map()
        dm writecache: use 2-factor allocator arguments
        dm thin metadata: remove needless work from __commit_transaction
        dm: use bio_split() when splitting out the already processed bio
      ff23908b
    • Avi Kivity's avatar
      aio: mark __aio_sigset::sigmask const · 2cd3ae21
      Avi Kivity authored
      io_pgetevents() will not change the signal mask.  Mark it const to make
      it clear and to reduce the need for casts in user code.
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAvi Kivity <avi@scylladb.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      [hch: reapply the patch that got incorrectly reverted]
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2cd3ae21
    • Christoph Hellwig's avatar
      net: handle NULL ->poll gracefully · e88958e6
      Christoph Hellwig authored
      The big aio poll revert broke various network protocols that don't
      implement ->poll as a patch in the aio poll serie removed sock_no_poll
      and made the common code handle this case.
      
      Reported-by: syzbot+57727883dbad76db2ef0@syzkaller.appspotmail.com
      Reported-by: syzbot+cdb0d3176b53d35ad454@syzkaller.appspotmail.com
      Reported-by: syzbot+2c7e8f74f8b2571c87e8@syzkaller.appspotmail.com
      Reported-by: default avatarTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
      Fixes: a11e1d43 ("Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL")
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e88958e6
  2. 28 Jun, 2018 19 commits
  3. 27 Jun, 2018 14 commits
    • Shirish S's avatar
      drm/amd/display: release spinlock before committing updates to stream · 4de9f38b
      Shirish S authored
      Currently, amdgpu_do_flip() spinlocks crtc->dev->event_lock and
      releases it only after committing updates to the stream.
      
      dc_commit_updates_for_stream() should be moved out of
      spinlock for the below reasons:
      
      1. event_lock is supposed to protect access to acrct->pflip_status _only_
      2. dc_commit_updates_for_stream() has potential sleep's
         and also its not appropriate to be  in an atomic state
         for such long sequences of code.
      Signed-off-by: default avatarShirish S <shirish.s@amd.com>
      Suggested-by: default avatarAndrey Grodzovsky <andrey.grodzovsky@amd.com>
      Reviewed-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
      Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      4de9f38b
    • James Zhu's avatar
      drm/amdgpu:Support new VCN FW version naming convention · 62d5b8e3
      James Zhu authored
      Support new VCN FW version naming convention:
        [31, 28] for VEP interface major version if applicable
        [27, 24] for decode interface major version
        [23, 20] for encode interface major version
        [19, 12] for encode interface minor version
        [11, 0]  for firmware revision
      Bit 20-23, it is encode major and non-zero for new naming convention.
      This field is part of version minor and DRM_DISABLED_FLAG in old naming
      convention. Since the latest version minor is 0x5B and DRM_DISABLED_FLAG
      is zero in old naming convention, this field is always zero so far.
      These four bits are used to tell which naming convention is present.
      Signed-off-by: default avatarJames Zhu <James.Zhu@amd.com>
      Reviewed-by: default avatarFang, Peter <Peter.Fang@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      62d5b8e3
    • Leo Liu's avatar
      drm/amdgpu: fix UBSAN: Undefined behaviour for amdgpu_fence.c · d9e98ee2
      Leo Liu authored
      Here is the UBSAN dump:
      
      [    3.866656] index 2 is out of range for type 'amdgpu_uvd_inst [2]'
      [    3.866693] Workqueue: events work_for_cpu_fn
      [    3.866702] Call Trace:
      [    3.866710]  dump_stack+0x85/0xc5
      [    3.866719]  ubsan_epilogue+0x9/0x40
      [    3.866727]  __ubsan_handle_out_of_bounds+0x89/0x90
      [    3.866737]  ? rcu_read_lock_sched_held+0x58/0x60
      [    3.866746]  ? __kmalloc+0x26c/0x2d0
      [    3.866846]  amdgpu_fence_driver_start_ring+0x259/0x280 [amdgpu]
      [    3.866896]  amdgpu_ring_init+0x12c/0x710 [amdgpu]
      [    3.866906]  ? sprintf+0x42/0x50
      [    3.866956]  amdgpu_gfx_kiq_init_ring+0x1bc/0x3a0 [amdgpu]
      [    3.867009]  gfx_v8_0_sw_init+0x1ad3/0x2360 [amdgpu]
      [    3.867062]  ? smu7_init+0xec/0x160 [amdgpu]
      [    3.867109]  amdgpu_device_init+0x112c/0x1dc0 [amdgpu]
      
      'ring->me' might be set as 2 with 'amdgpu_gfx_kiq_init_ring', that would
      cause out of range for 'amdgpu_uvd_inst[2]'.
      
      v2: simplified with ring type
      Signed-off-by: default avatarLeo Liu <leo.liu@amd.com>
      Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      d9e98ee2
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.18-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · f5749432
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
       "Here are some patches for 4.18 to fix regressions, accounting
        problems, overflow problems, and to strengthen metadata validation to
        prevent corruption.
      
        This series has been run through a full xfstests run over the weekend
        and through a quick xfstests run against this morning's master, with
        no major failures reported.
      
        Changes since last update:
      
         - more metadata validation strengthening to prevent crashes.
      
         - fix extent offset overflow problem when insert_range on a 512b
           block fs
      
         - fix some off-by-one errors in the realtime fsmap code
      
         - fix some math errors in the default resblks calculation when free
           space is low
      
         - fix a problem where stale page contents are exposed via mmap read
           after a zero_range at eof
      
         - fix accounting problems with per-ag reservations causing statfs
           reports to vary incorrectly"
      
      * tag 'xfs-4.18-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: fix fdblocks accounting w/ RMAPBT per-AG reservation
        xfs: ensure post-EOF zeroing happens after zeroing part of a file
        xfs: fix off-by-one error in xfs_rtalloc_query_range
        xfs: fix uninitialized field in rtbitmap fsmap backend
        xfs: recheck reflink state after grabbing ILOCK_SHARED for a write
        xfs: don't allow insert-range to shift extents past the maximum offset
        xfs: don't trip over negative free space in xfs_reserve_blocks
        xfs: allow empty transactions while frozen
        xfs: xfs_iflush_abort() can be called twice on cluster writeback failure
        xfs: More robust inode extent count validation
        xfs: simplify xfs_bmap_punch_delalloc_range
      f5749432
    • Timur Tabi's avatar
      MAINTAINERS: Timur has a kernel.org address · 0e49740c
      Timur Tabi authored
      Timur Tabi no longer works for Qualcomm, and he now has a kernel.org
      email address, so update MAINTAINERS accordingly.
      Signed-off-by: default avatarTimur Tabi <timur@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0e49740c
    • Linus Torvalds's avatar
      Merge tag 'mips_fixes_4.18_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 59ec39fe
      Linus Torvalds authored
      Pull MIPS build fix from Paul Burton:
       "A single build fix for 4.18:
      
        Adjust rseq_signal_deliver() & rseq_handle_notify_resume() calls to
        add the ksig argument introduced in v4.18-rc2, around the same time as
        the unadjusted MIPS rseq support"
      
      * tag 'mips_fixes_4.18_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: Add ksig argument to rseq_{signal_deliver,handle_notify_resume}
      59ec39fe
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f8a78bdb
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "A handful of fixes, nothing really concerning and most touching
        devicetree files for various platforms.
      
        I also regenerated the shared multiplatform defconfigs; they have
        drifted quite a bit due to Kconfig changes and reordering, and several
        platform maintainers tried doing the same which resulted in a lot of
        conflict pain -- this way we get everybody onto the same base for next
        merge window"
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (31 commits)
        arm64: dts: uniphier: fix widget name of headphone for LD11/LD20 boards
        ARM: dts: Fix SPI node for Arria10
        arm64: dts: stratix10: Fix SPI nodes for Stratix10
        qcom: cmd-db: enforce CONFIG_OF_RESERVED_MEM dependency
        ARM: Always build secure_cntvoff.S on ARM V7 to fix shmobile !SMP build
        ARM: multi_v7_defconfig: renormalize based on recent additions
        arm64: defconfig: renormalize based on recent additions
        arm64: dts: msm8916: fix Coresight ETF graph connections
        arm64: dts: apq8096-db820c: disable uart0 by default
        ARM: dts: imx6sx: fix irq for pcie bridge
        arm64: dts: Stingray: Fix I2C controller interrupt type
        arm64: dts: ns2: Fix PCIe controller interrupt type
        arm64: dts: ns2: Fix I2C controller interrupt type
        arm64: dts: specify 1.8V EMMC capabilities for bcm958742t
        arm64: dts: specify 1.8V EMMC capabilities for bcm958742k
        ARM: dts: Cygnus: Fix PCIe controller interrupt type
        ARM: dts: Cygnus: Fix I2C controller interrupt type
        ARM: dts: BCM5301x: Fix i2c controller interrupt type
        ARM: dts: HR2: Fix interrupt types for i2c and PCIe
        ARM: dts: NSP: Fix PCIe controllers interrupt types
        ...
      f8a78bdb
    • Linus Torvalds's avatar
      Merge tag 'microblaze-v4.18-rc3' of git://git.monstr.eu/linux-2.6-microblaze · 22c3b152
      Linus Torvalds authored
      Pull microblaze fixes from Michal Simek:
      
       - fix architecture gpio heart beat code
      
       - add new syscalls
      
       - remove unused xlnx,compound handling
      
       - remove platform.c
      
      * tag 'microblaze-v4.18-rc3' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: consolidate GPIO reset handling
        microblaze: remove unecessary of_platform_bus_probe call
        microblaze: Add new syscalls io_pgetevents and rseq
        microblaze: Remove architecture heart beat code
        microblaze: heartbeat: fix missing prom.h include
      22c3b152
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · debd52a0
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Three small bug fixes (barrier elimination, memory leak on unload,
        spinlock recursion) and a technical enhancement left over from the
        merge window: the TCMU read length support is required for tape
        devices read when the length of the read is greater than the tape
        block size"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: scsi_debug: Fix memory leak on module unload
        scsi: qla2xxx: Spinlock recursion in qla_target
        scsi: ipr: Eliminate duplicate barriers
        scsi: target: tcmu: add read length support
      debd52a0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · c92067ae
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - the main change is a fix for my brain-dead patch to PS/2 button
         reporting for some protocols that made it in 4.17
      
       - there is a new driver for Spreadtum vibrator that I intended to send
         during merge window but ended up not sending the 2nd pull request.
         Given that this is a brand new driver we should not see regressions
         here
      
       - a fixup to Elantech PS/2 driver to avoid decoding errors on Thinkpad
         P52
      
       - addition of few more ACPI IDs for Silead and Elan drivers
      
       - RMI4 is switched to using IRQ domain code instead of rolling its own
         implementation
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: psmouse - fix button reporting for basic protocols
        Input: xpad - fix GPD Win 2 controller name
        Input: elan_i2c_smbus - fix more potential stack buffer overflows
        Input: elan_i2c - add ELAN0618 (Lenovo v330 15IKB) ACPI ID
        Input: elantech - fix V4 report decoding for module with middle key
        Input: elantech - enable middle button of touchpads on ThinkPad P52
        Input: do not assign new tracking ID when changing tool type
        Input: make input_report_slot_state() return boolean
        Input: synaptics-rmi4 - fix axis-swap behavior
        Input: synaptics-rmi4 - fix the error return code in rmi_probe_interrupts()
        Input: synaptics-rmi4 - convert irq distribution to irq_domain
        Input: silead - add MSSL0002 ACPI HID
        Input: goldfish_events - fix checkpatch warnings
        Input: add Spreadtrum vibrator driver
      c92067ae
    • Linus Torvalds's avatar
      Merge branch 'fixes-v4.18-rc3' of... · 896a3492
      Linus Torvalds authored
      Merge branch 'fixes-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
      
      Pull more security subsystem fixes from James Morris:
       "Two further fixes for the keys subsystem"
      
      * 'fixes-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        dh key: fix rounding up KDF output length
        certs/blacklist: fix const confusion
      896a3492
    • Linus Torvalds's avatar
      checkpatch: remove warning for 'old' stable@kernel.org address · 3b41c3e2
      Linus Torvalds authored
      It may not be the actual real stable mailing list address, but the
      stable scripts to actually pick up on the traditional way to mark stable
      patches.
      
      There are also reasons to explicitly avoid using the actual mailing list
      address, since security patches with embargo dates generally do want the
      stable marking, but don't want tools etc to mistakenly send the patch
      out to the mailing list early.
      
      So don't warn for things that are still actively used and explicitly
      supported.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3b41c3e2
    • Katsuhiro Suzuki's avatar
      arm64: dts: uniphier: fix widget name of headphone for LD11/LD20 boards · 86676c46
      Katsuhiro Suzuki authored
      This patch fixes wrong name of headphone widget for receiving events
      of insert/remove headphone plug from simple-card or audio-graph-card.
      
      If we use wrong widget name then we get warning messages such as
      "asoc-audio-graph-card sound: ASoC: DAPM unknown pin Headphones"
      when the plug is inserted or removed from headphone jack.
      
      Fixes: fb21a0ac ("arm64: dts: uniphier: add sound node")
      Signed-off-by: default avatarKatsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      86676c46
    • Mike Snitzer's avatar
      dm thin: handle running out of data space vs concurrent discard · a685557f
      Mike Snitzer authored
      Discards issued to a DM thin device can complete to userspace (via
      fstrim) _before_ the metadata changes associated with the discards is
      reflected in the thinp superblock (e.g. free blocks).  As such, if a
      user constructs a test that loops repeatedly over these steps, block
      allocation can fail due to discards not having completed yet:
      1) fill thin device via filesystem file
      2) remove file
      3) fstrim
      
      From initial report, here:
      https://www.redhat.com/archives/dm-devel/2018-April/msg00022.html
      
      "The root cause of this issue is that dm-thin will first remove
      mapping and increase corresponding blocks' reference count to prevent
      them from being reused before DISCARD bios get processed by the
      underlying layers. However. increasing blocks' reference count could
      also increase the nr_allocated_this_transaction in struct sm_disk
      which makes smd->old_ll.nr_allocated +
      smd->nr_allocated_this_transaction bigger than smd->old_ll.nr_blocks.
      In this case, alloc_data_block() will never commit metadata to reset
      the begin pointer of struct sm_disk, because sm_disk_get_nr_free()
      always return an underflow value."
      
      While there is room for improvement to the space-map accounting that
      thinp is making use of: the reality is this test is inherently racey and
      will result in the previous iteration's fstrim's discard(s) completing
      vs concurrent block allocation, via dd, in the next iteration of the
      loop.
      
      No amount of space map accounting improvements will be able to allow
      user's to use a block before a discard of that block has completed.
      
      So the best we can really do is allow DM thinp to gracefully handle such
      aggressive use of all the pool's data by degrading the pool into
      out-of-data-space (OODS) mode.  We _should_ get that behaviour already
      (if space map accounting didn't falsely cause alloc_data_block() to
      believe free space was available).. but short of that we handle the
      current reality that dm_pool_alloc_data_block() can return -ENOSPC.
      Reported-by: default avatarDennis Yang <dennisyang@qnap.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      a685557f
  4. 26 Jun, 2018 3 commits