Skip to content
  1. Nov 02, 2018
    • 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
  2. Oct 31, 2018
  3. Oct 29, 2018
  4. Oct 26, 2018
    • Diego Viola's avatar
      libata: Apply NOLPM quirk for SAMSUNG MZ7TD256HAFV-000L9 · a435ab4f
      Diego Viola authored
      
      
      med_power_with_dipm causes my T450 to freeze with a SAMSUNG
      MZ7TD256HAFV-000L9 SSD (firmware DXT02L5Q).
      
      Switching the LPM to max_performance fixes this issue.
      
      Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarDiego Viola <diego.viola@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      a435ab4f
    • Federico Motta's avatar
      block, bfq: fix asymmetric scenarios detection · 98fa7a3e
      Federico Motta authored
      Since commit 2d29c9f8 ("block, bfq: improve asymmetric scenarios
      detection"), a scenario is defined asymmetric when one of the
      following conditions holds:
      - active bfq_queues have different weights
      - one or more group of entities (bfq_queue or other groups of entities)
        are active
      bfq grants fairness and low latency also in such asymmetric scenarios,
      by plugging the dispatching of I/O if the bfq_queue in service happens
      to be temporarily idle. This plugging may lower throughput, so it is
      important to do it only when strictly needed.
      
      By mistake, in commit '2d29c9f8' ("block, bfq: improve asymmetric
      scenarios detection") the num_active_groups counter was firstly
      incremented and subsequently decremented at any entity (group or
      bfq_queue) weight change.
      
      This is useless, because only transitions from active to inactive and
      vice versa matter for that counter. Unfortunately this is also
      incorrect in the following case: the entity at issue is a bfq_queue
      and it is under weight raising. In fact in this case there is a
      spurious increment of the num_active_groups counter.
      
      This spurious increment may cause scenarios to be wrongly detected as
      asymmetric, thus causing useless plugging and loss of throughput.
      
      This commit fixes this issue by simply removing the above useless and
      wrong increments and decrements.
      
      Fixes: 2d29c9f8
      
       ("block, bfq: improve asymmetric scenarios detection")
      Tested-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Signed-off-by: default avatarFederico Motta <federico@willer.it>
      Signed-off-by: default avatarPaolo Valente <paolo.valente@linaro.org>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      98fa7a3e
    • Jens Axboe's avatar
      gdrom: fix mistake in assignment of error · 0a40a935
      Jens Axboe authored
      Apparently the kbuild bots missed this one originally, but at least
      it caught it now. Fix compilation error:
      
      All errors (new ones prefixed by >>):
      
         drivers/cdrom/gdrom.c: In function 'probe_gdrom':
      >> drivers/cdrom/gdrom.c:797:3: error: 'rc' undeclared (first use in this function)
            rc = PTR_ERR(gd.gdrom_rq);
            ^~
         drivers/cdrom/gdrom.c:797:3: note: each undeclared identifier is reported only once for each function it appears in
      
      Fixes: ad5fc6bb
      
       ("gdrom: convert to blk-mq")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      0a40a935
    • Xiaoguang Wang's avatar
      blk-mq: place trace_block_getrq() in correct place · d6f1dda2
      Xiaoguang Wang authored
      
      
      trace_block_getrq() is to indicate a request struct has been allocated
      for queue, so put it in right place.
      
      Reviewed-by: default avatarJianchao Wang <jianchao.w.wang@oracle.com>
      Signed-off-by: default avatarXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d6f1dda2
    • Damien Le Moal's avatar
      block: Introduce blk_revalidate_disk_zones() · bf505456
      Damien Le Moal authored
      
      
      Drivers exposing zoned block devices have to initialize and maintain
      correctness (i.e. revalidate) of the device zone bitmaps attached to
      the device request queue (seq_zones_bitmap and seq_zones_wlock).
      
      To simplify coding this, introduce a generic helper function
      blk_revalidate_disk_zones() suitable for most (and likely all) cases.
      This new function always update the seq_zones_bitmap and seq_zones_wlock
      bitmaps as well as the queue nr_zones field when called for a disk
      using a request based queue. For a disk using a BIO based queue, only
      the number of zones is updated since these queues do not have
      schedulers and so do not need the zone bitmaps.
      
      With this change, the zone bitmap initialization code in sd_zbc.c can be
      replaced with a call to this function in sd_zbc_read_zones(), which is
      called from the disk revalidate block operation method.
      
      A call to blk_revalidate_disk_zones() is also added to the null_blk
      driver for devices created with the zoned mode enabled.
      
      Finally, to ensure that zoned devices created with dm-linear or
      dm-flakey expose the correct number of zones through sysfs, a call to
      blk_revalidate_disk_zones() is added to dm_table_set_restrictions().
      
      The zone bitmaps allocated and initialized with
      blk_revalidate_disk_zones() are freed automatically from
      __blk_release_queue() using the block internal function
      blk_queue_free_zone_bitmaps().
      
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Reviewed-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      bf505456
    • Christoph Hellwig's avatar
      block: add a report_zones method · e76239a3
      Christoph Hellwig authored
      
      
      Dispatching a report zones command through the request queue is a major
      pain due to the command reply payload rewriting necessary. Given that
      blkdev_report_zones() is executing everything synchronously, implement
      report zones as a block device file operation instead, allowing major
      simplification of the code in many places.
      
      sd, null-blk, dm-linear and dm-flakey being the only block device
      drivers supporting exposing zoned block devices, these drivers are
      modified to provide the device side implementation of the
      report_zones() block device file operation.
      
      For device mappers, a new report_zones() target type operation is
      defined so that the upper block layer calls blkdev_report_zones() can
      be propagated down to the underlying devices of the dm targets.
      Implementation for this new operation is added to the dm-linear and
      dm-flakey targets.
      
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      [Damien]
      * Changed method block_device argument to gendisk
      * Various bug fixes and improvements
      * Added support for null_blk, dm-linear and dm-flakey.
      Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Reviewed-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      e76239a3
    • Damien Le Moal's avatar
      block: Expose queue nr_zones in sysfs · 965b652e
      Damien Le Moal authored
      
      
      Expose through sysfs the nr_zones field of struct request_queue.
      Exposing this value helps in debugging disk issues as well as
      facilitating scripts based use of the disk (e.g. blktests).
      
      For zoned block devices, the nr_zones field indicates the total number
      of zones of the device calculated using the known disk capacity and
      zone size. This number of zones is always 0 for regular block devices.
      
      Since nr_zones is defined conditionally with CONFIG_BLK_DEV_ZONED,
      introduce the blk_queue_nr_zones() function to return the correct value
      for any device, regardless if CONFIG_BLK_DEV_ZONED is set.
      
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      965b652e
    • Damien Le Moal's avatar
      block: Improve zone reset execution · a2d6b3a2
      Damien Le Moal authored
      
      
      There is no need to synchronously execute all REQ_OP_ZONE_RESET BIOs
      necessary to reset a range of zones. Similarly to what is done for
      discard BIOs in blk-lib.c, all zone reset BIOs can be chained and
      executed asynchronously and a synchronous call done only for the last
      BIO of the chain.
      
      Modify blkdev_reset_zones() to operate similarly to
      blkdev_issue_discard() using the next_bio() helper for chaining BIOs. To
      avoid code duplication of that function in blk_zoned.c, rename
      next_bio() into blk_next_bio() and declare it as a block internal
      function in blk.h.
      
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      a2d6b3a2
    • Damien Le Moal's avatar
      block: Introduce BLKGETNRZONES ioctl · 65e4e3ee
      Damien Le Moal authored
      
      
      Get a zoned block device total number of zones. The device can be a
      partition of the whole device. The number of zones is always 0 for
      regular block devices.
      
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      65e4e3ee
    • Damien Le Moal's avatar
      block: Introduce BLKGETZONESZ ioctl · 72cd8757
      Damien Le Moal authored
      
      
      Get a zoned block device zone size in number of 512 B sectors.
      The zone size is always 0 for regular block devices.
      
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      72cd8757
    • Damien Le Moal's avatar
      block: Limit allocation of zone descriptors for report zones · 2e85fbaf
      Damien Le Moal authored
      
      
      There is no point in allocating more zone descriptors than the number of
      zones a block device has for doing a zone report. Avoid doing that in
      blkdev_report_zones_ioctl() by limiting the number of zone decriptors
      allocated internally to process the user request.
      
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      2e85fbaf
    • Damien Le Moal's avatar
      block: Introduce blkdev_nr_zones() helper · a91e1380
      Damien Le Moal authored
      
      
      Introduce the blkdev_nr_zones() helper function to get the total
      number of zones of a zoned block device. This number is always 0 for a
      regular block device (q->limits.zoned == BLK_ZONED_NONE case).
      
      Replace hard-coded number of zones calculation in dmz_get_zoned_device()
      with a call to this helper.
      
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      a91e1380
    • Damien Le Moal's avatar
      scsi: sd_zbc: Fix sd_zbc_check_zones() error checks · 5f832a39
      Damien Le Moal authored
      
      
      The unsigned 32 bits overflow check for the zone size value is already
      done within sd_zbc_check_zones() with the test:
      
      } else if (logical_to_sectors(sdkp->device, zone_blocks) > UINT_MAX) {
      
      so there is no need to check again for an out of range value in
      sd_zbc_read_zones(). Simplify the code and fix sd_zbc_check_zones()
      error return to -EFBIG instead of -ENODEV if the zone size is too large.
      Change the return type of sd_zbc_check_zones() to an int for the error
      code and return the zone size (zone_blocks) through a u32 pointer to
      avoid overflowing the signed 32 return value.
      
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Acked-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      5f832a39
    • Damien Le Moal's avatar
      scsi: sd_zbc: Reduce boot device scan and revalidate time · d2e428e4
      Damien Le Moal authored
      
      
      Handling checks of ZBC device capacity using the max_lba field of the
      REPORT ZONES command reply for disks with rc_basis == 0 can be done
      using the same report zones command reply used to check the "same"
      field.
      
      Avoid executing a report zones command solely to check the disk capacity
      by merging sd_zbc_check_capacity() into sd_zbc_check_zone_size() and
      renaming that function to sd_zbc_check_zones(). This removes a costly
      execution of a full report zones command and so reduces device scan
      duration at boot time as well as the duration of disk revalidate calls.
      
      Furthermore, setting the partial report bit in the REPORT ZONES command
      cdb can significantly reduce this command execution time as the device
      does not have to count and report the total number of zones that could
      be reported assuming a large enough reply buffer. A non-partial zone
      report is necessary only for the first execution of report zones used to
      check the same field value (to ensure that this value applies to all
      zones of the disk). All other calls to sd_zbc_report_zones() can use a
      partial report to reduce execution time.
      
      Using a 14 TB ZBC disk, these simple changes reduce device scan time at
      boot from about 3.5s down to about 900ms. Disk revalidate times are also
      reduced from about 450ms down to 230ms.
      
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Acked-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d2e428e4
    • Damien Le Moal's avatar
      scsi: sd_zbc: Rearrange code · 7f9d35d2
      Damien Le Moal authored
      
      
      Move the urswrz check out of sd_zbc_read_zones() and into
      sd_zbc_read_zoned_characteristics() where that value is obtained (read
      from the disk zoned characteristics VPD page). Since this function now
      does more than simply reading the VPD page, rename it to
      sd_zbc_check_zoned_characteristics().
      Also fix the error message displayed when reading that VPD page fails.
      
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Acked-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      7f9d35d2
    • zhong jiang's avatar
      cdrom: remove set but not used variable 'tocuse' · cdffab7a
      zhong jiang authored
      
      
      tocuse is not used after setting its value. It is safe to remove
      the unused variable.
      
      Signed-off-by: default avatarzhong jiang <zhongjiang@huawei.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      cdffab7a
    • Gustavo A. R. Silva's avatar
      skd: fix unchecked return values · d91dc172
      Gustavo A. R. Silva authored
      Check return values of dma_set_mask_and_coherent().
      
      Otherwise, if dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
      fails, the following piece of code will be executed even when the call
      to dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); returns 0:
      
      dev_err(&pdev->dev, "DMA mask error %d\n", rc);
      goto err_out_regions;
      
      Addresses-Coverity-ID: 1474553 ("Unchecked return value")
      Fixes: 13812621
      
       ("skd: switch to the generic DMA API")
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarGustavo A. R. Silva <gustavo@embeddedor.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d91dc172
    • Vasilis Liaskovitis's avatar
      xen/blkfront: avoid NULL blkfront_info dereference on device removal · f92898e7
      Vasilis Liaskovitis authored
      
      
      If a block device is hot-added when we are out of grants,
      gnttab_grant_foreign_access fails with -ENOSPC (log message "28
      granting access to ring page") in this code path:
      
        talk_to_blkback ->
      	setup_blkring ->
      		xenbus_grant_ring ->
      			gnttab_grant_foreign_access
      
      and the failing path in talk_to_blkback sets the driver_data to NULL:
      
       destroy_blkring:
              blkif_free(info, 0);
      
              mutex_lock(&blkfront_mutex);
              free_info(info);
              mutex_unlock(&blkfront_mutex);
      
              dev_set_drvdata(&dev->dev, NULL);
      
      This results in a NULL pointer BUG when blkfront_remove and blkif_free
      try to access the failing device's NULL struct blkfront_info.
      
      Cc: stable@vger.kernel.org # 4.5 and later
      Signed-off-by: default avatarVasilis Liaskovitis <vliaskovitis@suse.com>
      Reviewed-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      f92898e7
    • Linus Torvalds's avatar
      Merge tag 'sound-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 3acbd2de
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "There have been little changes in ALSA core stuff, but ASoC core still
        kept rolling for the continued restructuring. The rest are lots of
        small driver-specific changes and some minor API updates. Here are
        highlights:
      
        General:
        - Appropriate fall-through annotations everywhere
        - Some code cleanup in memalloc code, handling non-cacahed pages more
          commonly in the helper
        - Deployment of SNDRV_PCM_INFO_SYNC_APPLPTR flag consistently
      
        Drivers:
        - More HD-audio CA0132 codec improvement for supporting other Creative
          boards
        - Plumbing legacy HD-audio codecs as ASoC BE on Intel SST; this will
          give move support of existing HD-audio devices with DSP
        - A few device-specific HD-audio quirks as usual
        - New quirk for RME CC devices and correction for B&W PX for USB-audio
        - FireWire: code refactoring including devres usages
      
        ASoC Core:
        - Continued componentization works; it's almost done!
        - A bunch of new for_each_foo macros
        - Cleanups and fixes in DAPM code
      
        ASoC Drivers:
        - MCLK support for several different devices, including CS42L51, STM32
          SAI, and MAX98373
        - Support for Allwinner A64 CODEC analog, Intel boards with DA7219 and
          MAX98927, Meson AXG PDM inputs, Nuvoton NAU8822, Renesas R8A7744 and
          TI PCM3060"
      
      * tag 'sound-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (299 commits)
        ASoC: stm32: sai: fix master clock naming
        ASoC: stm32: add clock dependency for sai
        ALSA: hda/ca0132 - Actually fix microphone issue
        ASoC: sun4i-i2s: move code from startup/shutdown hooks into pm_runtime hooks
        ASoC: wm2000: Remove wm2000_read helper function
        ASoC: cs42l51: fix mclk support
        ASoC: wm_adsp: Log addresses as 8 digits in wm_adsp_buffer_populate
        ASoC: wm_adsp: Rename memory fields in wm_adsp_buffer
        ASoC: cs42l51: add mclk support
        ASoC: stm32: sai: set sai as mclk clock provider
        ASoC: dt-bindings: add mclk support to cs42l51
        ASoC: dt-bindings: add mclk provider support to stm32 sai
        ASoC: soc-core: fix trivial checkpatch issues
        ASoC: dapm: Add support for hw_free on CODEC to CODEC links
        ASoC: Intel: kbl_da7219_max98927: minor white space clean up
        ALSA: i2c/cs8427: Fix int to char conversion
        ALSA: doc: Brush up the old writing-an-alsa-driver
        ASoC: rsnd: tidyup SSICR::SWSP for TDM
        ASoC: rsnd: enable TDM settings for SSI parent
        ASoC: pcm3168a: add hw constraint for capture channel
        ...
      3acbd2de
  5. 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 (Lukas Wunner)
      
       - Drop hotplug_slot_info (Lukas Wunner)
      
       - Embed hotplug_slot struct into users instead of allocating it
         separately (Lukas Wunner)
      
       - Initialize PCIe port service drivers directly instead of relying on
         initcall ordering (Keith Busch)
      
       - Restore PCI config state after a slot reset (Keith Busch)
      
       - Save/restore DPC config state along with other PCI config state
         (Keith Busch)
      
       - Reference count devices during AER handling to avoid race issue with
         concurrent hot removal (Keith Busch)
      
       - If an Upstream Port reports ERR_FATAL, don't try to read the Port's
         config space because it is probably unreachable (Keith Busch)
      
       - During error handling, use slot-specific reset instead of secondary
         bus reset to avoid link up/down issues on hotplug ports (Keith Busch)
      
       - Restore previous AER/DPC handling that does not remove and
         re-enumerate devices on ERR_FATAL (Keith Busch)
      
       - Notify all drivers that may be affected by error recovery resets
         (Keith Busch)
      
       - Always generate error recovery uevents, even if a driver doesn't have
         error callbacks (Keith Busch)
      
       - Make PCIe link active reporting detection generic (Keith Busch)
      
       - Support D3cold in PCIe hierarchies during system sleep and runtime,
         including hotplug and Thunderbolt ports (Mika Westerberg)
      
       - Handle hpmemsize/hpiosize kernel parameters uniformly, whether slots
         are empty or occupied (Jon Derrick)
      
       - Remove duplicated include from pci/pcie/err.c and unused variable
         from cpqphp (YueHaibing)
      
       - Remove driver pci_cleanup_aer_uncorrect_error_status() calls (Oza
         Pawandeep)
      
       - Uninline PCI bus accessors for better ftracing (Keith Busch)
      
       - Remove unused AER Root Port .error_resume method (Keith Busch)
      
       - Use kfifo in AER instead of a local version (Keith Busch)
      
       - Use threaded IRQ in AER bottom half (Keith Busch)
      
       - Use managed resources in AER core (Keith Busch)
      
       - Reuse pcie_port_find_device() for AER injection (Keith Busch)
      
       - Abstract AER interrupt handling to disconnect error injection (Keith
         Busch)
      
       - Refactor AER injection callbacks to simplify future improvments
         (Keith Busch)
      
       - Remove unused Netronome NFP32xx Device IDs (Jakub Kicinski)
      
       - Use bitmap_zalloc() for dma_alias_mask (Andy Shevchenko)
      
       - Add switch fall-through annotations (Gustavo A. R. Silva)
      
       - Remove unused Switchtec quirk variable (Joshua Abraham)
      
       - Fix pci.c kernel-doc warning (Randy Dunlap)
      
       - Remove trivial PCI wrappers for DMA APIs (Christoph Hellwig)
      
       - Add Intel GPU device IDs to spurious interrupt quirk (Bin Meng)
      
       - Run Switchtec DMA aliasing quirk only on NTB endpoints to avoid
         useless dmesg errors (Logan Gunthorpe)
      
       - Update Switchtec NTB documentation (Wesley Yung)
      
       - Remove redundant "default n" from Kconfig (Bartlomiej Zolnierkiewicz)
      
       - Avoid panic when drivers enable MSI/MSI-X twice (Tonghao Zhang)
      
       - Add PCI support for peer-to-peer DMA (Logan Gunthorpe)
      
       - Add sysfs group for PCI peer-to-peer memory statistics (Logan
         Gunthorpe)
      
       - Add PCI peer-to-peer DMA scatterlist mapping interface (Logan
         Gunthorpe)
      
       - Add PCI configfs/sysfs helpers for use by peer-to-peer users (Logan
         Gunthorpe)
      
       - Add PCI peer-to-peer DMA driver writer's documentation (Logan
         Gunthorpe)
      
       - Add block layer flag to indicate driver support for PCI peer-to-peer
         DMA (Logan Gunthorpe)
      
       - Map Infiniband scatterlists for peer-to-peer DMA if they contain P2P
         memory (Logan Gunthorpe)
      
       - Register nvme-pci CMB buffer as PCI peer-to-peer memory (Logan
         Gunthorpe)
      
       - Add nvme-pci support for PCI peer-to-peer memory in requests (Logan
         Gunthorpe)
      
       - Use PCI peer-to-peer memory in nvme (Stephen Bates, Steve Wise,
         Christoph Hellwig, Logan Gunthorpe)
      
       - Cache VF config space size to optimize enumeration of many VFs
         (KarimAllah Ahmed)
      
       - Remove unnecessary <linux/pci-ats.h> include (Bjorn Helgaas)
      
       - Fix VMD AERSID quirk Device ID matching (Jon Derrick)
      
       - Fix Cadence PHY handling during probe (Alan Douglas)
      
       - Signal Cadence Endpoint interrupts via AXI region 0 instead of last
         region (Alan Douglas)
      
       - Write Cadence Endpoint MSI interrupts with 32 bits of data (Alan
         Douglas)
      
       - Remove redundant controller tests for "device_type == pci" (Rob
         Herring)
      
       - Document R-Car E3 (R8A77990) bindings (Tho Vu)
      
       - Add device tree support for R-Car r8a7744 (Biju Das)
      
       - Drop unused mvebu PCIe capability code (Thomas Petazzoni)
      
       - Add shared PCI bridge emulation code (Thomas Petazzoni)
      
       - Convert mvebu to use shared PCI bridge emulation (Thomas Petazzoni)
      
       - Add aardvark Root Port emulation (Thomas Petazzoni)
      
       - Support 100MHz/200MHz refclocks for i.MX6 (Lucas Stach)
      
       - Add initial power management for i.MX7 (Leonard Crestez)
      
       - Add PME_Turn_Off support for i.MX7 (Leonard Crestez)
      
       - Fix qcom runtime power management error handling (Bjorn Andersson)
      
       - Update TI dra7xx unaligned access errata workaround for host mode as
         well as endpoint mode (Vignesh R)
      
       - Fix kirin section mismatch warning (Nathan Chancellor)
      
       - Remove iproc PAXC slot check to allow VF support (Jitendra Bhivare)
      
       - Quirk Keystone K2G to limit MRRS to 256 (Kishon Vijay Abraham I)
      
       - Update Keystone to use MRRS quirk for host bridge instead of open
         coding (Kishon Vijay Abraham I)
      
       - Refactor Keystone link establishment (Kishon Vijay Abraham I)
      
       - Simplify and speed up Keystone link training (Kishon Vijay Abraham I)
      
       - Remove unused Keystone host_init argument (Kishon Vijay Abraham I)
      
       - Merge Keystone driver files into one (Kishon Vijay Abraham I)
      
       - Remove redundant Keystone platform_set_drvdata() (Kishon Vijay
         Abraham I)
      
       - Rename Keystone functions for uniformity (Kishon Vijay Abraham I)
      
       - Add Keystone device control module DT binding (Kishon Vijay Abraham
         I)
      
       - Use SYSCON API to get Keystone control module device IDs (Kishon
         Vijay Abraham I)
      
       - Clean up Keystone PHY handling (Kishon Vijay Abraham I)
      
       - Use runtime PM APIs to enable Keystone clock (Kishon Vijay Abraham I)
      
       - Clean up Keystone config space access checks (Kishon Vijay Abraham I)
      
       - Get Keystone outbound window count from DT (Kishon Vijay Abraham I)
      
       - Clean up Keystone outbound window configuration (Kishon Vijay Abraham
         I)
      
       - Clean up Keystone DBI setup (Kishon Vijay Abraham I)
      
       - Clean up Keystone ks_pcie_link_up() (Kishon Vijay Abraham I)
      
       - Fix Keystone IRQ status checking (Kishon Vijay Abraham I)
      
       - Add debug messages for all Keystone errors (Kishon Vijay Abraham I)
      
       - Clean up Keystone includes and macros (Kishon Vijay Abraham I)
      
       - Fix Mediatek unchecked return value from devm_pci_remap_iospace()
         (Gustavo A. R. Silva)
      
       - Fix Mediatek endpoint/port matching logic (Honghui Zhang)
      
       - Change Mediatek Root Port Class Code to PCI_CLASS_BRIDGE_PCI (Honghui
         Zhang)
      
       - Remove redundant Mediatek PM domain check (Honghui Zhang)
      
       - Convert Mediatek to pci_host_probe() (Honghui Zhang)
      
       - Fix Mediatek MSI enablement (Honghui Zhang)
      
       - Add Mediatek system PM support for MT2712 and MT7622 (Honghui Zhang)
      
       - Add Mediatek loadable module support (Honghui Zhang)
      
       - Detach VMD resources after stopping root bus to prevent orphan
         resources (Jon Derrick)
      
       - Convert pcitest build process to that used by other tools (iio, perf,
         etc) (Gustavo Pimentel)
      
      * tag 'pci-v4.20-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (140 commits)
        PCI/AER: Refactor error injection fallbacks
        PCI/AER: Abstract AER interrupt handling
        PCI/AER: Reuse existing pcie_port_find_device() interface
        PCI/AER: Use managed resource allocations
        PCI: pcie: Remove redundant 'default n' from Kconfig
        PCI: aardvark: Implement emulated root PCI bridge config space
        PCI: mvebu: Convert to PCI emulated bridge config space
        PCI: mvebu: Drop unused PCI express capability code
        PCI: Introduce PCI bridge emulated config space common logic
        PCI: vmd: Detach resources after stopping root bus
        nvmet: Optionally use PCI P2P memory
        nvmet: Introduce helper functions to allocate and free request SGLs
        nvme-pci: Add support for P2P memory in requests
        nvme-pci: Use PCI p2pmem subsystem to manage the CMB
        IB/core: Ensure we map P2P memory correctly in rdma_rw_ctx_[init|destroy]()
        block: Add PCI P2P flag for request queue
        PCI/P2PDMA: Add P2P DMA driver writer's documentation
        docs-rst: Add a new directory for PCI documentation
        PCI/P2PDMA: Introduce configfs/sysfs enable attribute helpers
        PCI/P2PDMA: Add PCI p2pmem DMA mappings to adjust the bus offset
        ...
      bd6bf7c1
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.20-rc1' of git://git.infradead.org/users/vkoul/slave-dma · a41efc2a
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
      
       - Support for ColdFire mcf5441x edma controller
      
       - Support for link list mode in sprd dma
      
       - More users of managed dmaenginem_async_device_register API
      
       - Cyclic mode support in owl dma driver
      
       - DT updates for renesas drivers, dma-jz4780 updates and support for
         JZ4770, JZ4740 and JZ4725B controllers
      
       - Removal of deprecated dma_slave_config direction in dmaengine
         drivers, few more users will be removed in next cycle and eventually
         removed.
      
       - Minor updates to idma64, ioat, pxa, ppc drivers
      
      * tag 'dmaengine-4.20-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (66 commits)
        dmaengine: ppc4xx: fix off-by-one build failure
        dmaengine: owl: Fix warnings generated during build
        dmaengine: fsl-edma: remove dma_slave_config direction usage
        dmaengine: rcar-dmac: set scatter/gather max segment size
        dmaengine: mmp_tdma: remove dma_slave_config direction usage
        dmaengine: ep93xx_dma: remove dma_slave_config direction usage
        dmaengine: k3dma: remove dma_slave_config direction usage
        dmaengine: k3dma: dont use direction for memcpy
        dmaengine: imx-dma: remove dma_slave_config direction usage
        dmaengine: idma: remove dma_slave_config direction usage
        dmaengine: hsu: remove dma_slave_config direction usage
        dmaengine: dw: remove dma_slave_config direction usage
        dmaengine: jz4740: remove dma_slave_config direction usage
        dmaengine: coh901318: remove dma_slave_config direction usage
        dmaengine: bcm2835: remove dma_slave_config direction usage
        dmaengine: at_hdmac: remove dma_slave_config direction usage
        dmaengine: owl: Add Slave and Cyclic mode support for Actions Semi Owl S900 SoC
        dmaengine: ioat: fix prototype of ioat_enumerate_channels
        dmaengine: stm32-dma: check whether length is aligned on FIFO threshold
        dt-bindings: dmaengine: usb-dmac: Add binding for r8a7744
        ...
      a41efc2a
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 36168d71
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
       "The EDAC tree was busier than usual this cycle as the shortlog below
        shows.
      
        Also, this pull request is carrying an ACPI DSM driver which is used
        to ask the platform to supply the DIMM location of a reported hardware
        error and thus simplify all the EDAC logic when trying to map the
        error address to the respective DIMM.
      
        Core EDAC updates:
      
         - amd64_edac: AMD family 0x17, models 0x10-0x2f support (Michael Jin)
           Hygon Dhyana support (Pu Wen)
      
         - sb_edac: New maintainer + fixes (Tony Luck) Error reporting
           improvements and fixes (Qiuxu Zhuo)
      
         - ghes_edac: SMBIOS handle type 17 for DIMM locating and per-DIMM
           error accounting (Fan Wu)
      
         - altera_edac: Stratix10 support and refactoring (Thor Thayer)
      
        Out of tree addition:
      
         - acpi_adxl: Address Translation interface using an ACPI DSM (Tony
           Luck)
      
         - the usual amount of other misc fixes and cleanups all over"
      
      * tag 'edac_for_4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (22 commits)
        ACPI/ADXL: Add address translation interface using an ACPI DSM
        EDAC, thunderx: Fix memory leak in thunderx_l2c_threaded_isr()
        EDAC, skx_edac: Fix logical channel intermediate decoding
        EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting
        EDAC, altera: Work around int-to-pointer-cast warnings
        EDAC, amd64: Add Hygon Dhyana support
        EDAC: Raise the maximum number of memory controllers
        arm64: dts: stratix10: Add peripheral EDAC nodes
        EDAC, altera: Add Stratix10 peripheral support
        EDAC, altera: Merge Stratix10 into the Arria10 SDRAM probe routine
        arm64: dts: stratix10: Add SDRAM node
        EDAC, altera: Combine Stratix10 and Arria10 probe functions
        arm64: dts: stratix10: Additions to EDAC System Manager
        EDAC, i7core: Remove set but not used variable pvt
        EDAC, ghes: Use CPER module handles to locate DIMMs
        EDAC: Correct DIMM capacity unit symbol
        EDAC, sb_edac: Fix signedness bugs in *_get_ha() functions
        EDAC, sb_edac: Fix reporting for patrol scrubber errors
        EDAC, sb_edac: Return early on ADDRV bit and address type test
        MAINTAINERS: Update maintainer for drivers/edac/sb_edac.c
        ...
      36168d71
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 6078e07d
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
      
       - Improve the efficiency and performance of reading nvdimm-namespace
         labels. Reduce the amount of label data read at driver load time by a
         few orders of magnitude. Reduce heavyweight call-outs to
         platform-firmware routines.
      
       - Handle media errors located in the 'struct page' array stored on a
         persistent memory namespace. Let the kernel clear these errors rather
         than an awkward userspace workaround.
      
       - Fix Address Range Scrub (ARS) completion tracking. Correct occasions
         where the kernel indicates completion of ARS before submission.
      
       - Fix asynchronous device registration reference counting.
      
       - Add support for reporting an nvdimm dirty-shutdown-count via sysfs.
      
       - Fix various small libnvdimm core and uapi issues.
      
      * tag 'libnvdimm-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (21 commits)
        acpi, nfit: Further restrict userspace ARS start requests
        acpi, nfit: Fix Address Range Scrub completion tracking
        UAPI: ndctl: Remove use of PAGE_SIZE
        UAPI: ndctl: Fix g++-unsupported initialisation in headers
        tools/testing/nvdimm: Populate dirty shutdown data
        acpi, nfit: Collect shutdown status
        acpi, nfit: Introduce nfit_mem flags
        libnvdimm, label: Fix sparse warning
        nvdimm: Use namespace index data to reduce number of label reads needed
        nvdimm: Split label init out from the logic for getting config data
        nvdimm: Remove empty if statement
        nvdimm: Clarify comment in sizeof_namespace_index
        nvdimm: Sanity check labeloff
        libnvdimm, dimm: Maximize label transfer size
        libnvdimm, pmem: Fix badblocks population for 'raw' namespaces
        libnvdimm, namespace: Drop the repeat assignment for variable dev->parent
        libnvdimm, region: Fail badblocks listing for inactive regions
        libnvdimm, pfn: during init, clear errors in the metadata area
        libnvdimm: Set device node in nd_device_register
        libnvdimm: Hold reference on parent while scheduling async init
        ...
      6078e07d
    • Linus Torvalds's avatar
      Merge tag 'for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · df132e40
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
      
       - Add Spreadtrum SC2731 charger driver
      
       - bq25890-charger: Add BQ25896 support
      
       - bq27xxx-battery: Add support for BQ27411
      
       - qcom-pon: Add pms405 pon support
      
       - cros-charger: add support for dedicated port
      
       - misc fixes
      
      * tag 'for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (28 commits)
        power: max8925: mark expected switch fall-through
        power: supply: fix spelling mistake "Gauage" -> "Gauge"
        power: reset: qcom-pon: Add pms405 pon support
        power: supply: bq27xxx: Add support for BQ27411
        power: supply: Add Spreadtrum SC2731 charger support
        dt-bindings: power: Add Spreadtrum SC2731 charger documentation
        power: supply: twl4030_charger: disable eoc interrupt on linear charge
        power: supply: twl4030_charger: fix charging current out-of-bounds
        power: supply: bq25890_charger: fix semicolon.cocci warnings
        power: supply: max8998-charger: Fix platform data retrieval
        power: supply: cros: add support for dedicated port
        mfd: cros: add charger port count command definition
        power: reset: at91-poweroff: do not procede if at91_shdwc is allocated
        power: reset: at91-poweroff: rename at91_shdwc_base member of struct shdwc
        power: reset: at91-poweroff: make sclk part of struct shdwc
        power: reset: at91-poweroff: make mpddrc_base part of struct shdwc
        power: reset: at91-poweroff: use only one poweroff function
        power: reset: at91-poweroff: switch to slow clock before shutdown
        power: reset: convert to SPDX identifiers
        power: supply: ab8500_fg: silence uninitialized variable warnings
        ...
      df132e40
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 96f2f66a
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - rumble support for Xbox One S, from Andrey Smirnov
      
       - high-resolution support for Logitech mice, from Harry Cutts
      
       - support for recent devices requiring the HID parse to be able to cope
         with tag report sizes > 256
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (35 commits)
        HID: usbhid: Add quirk for Redragon/Dragonrise Seymur 2
        HID: wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452
        HID: google: add dependency on Cros EC for Hammer
        HID: elan: fix spelling mistake "registred" -> "registered"
        HID: google: drop superfluous const before SIMPLE_DEV_PM_OPS()
        HID: google: add support tablet mode switch for Whiskers
        mfd: cros: add "base attached" MKBP switch definition
        Input: reserve 2 events code because of HID
        HID: magicmouse: add support for Apple Magic Trackpad 2
        HID: i2c-hid: override HID descriptors for certain devices
        HID: hid-bigbenff: driver for BigBen Interactive PS3OFMINIPAD gamepad
        HID: logitech: fix a used uninitialized GCC warning
        HID: intel-ish-hid: using list_head for ipc write queue
        HID: intel-ish-hid: use resource-managed api
        HID: intel_ish-hid: Enhance API to get ring buffer sizes
        HID: intel-ish-hid: use helper function to search client id
        HID: intel-ish-hid: ishtp: add helper function for client search
        HID: intel-ish-hid: use helper function to access client buffer
        HID: intel-ish-hid: ishtp: add helper functions for client buffer operation
        HID: intel-ish-hid: use helper function for private driver data set/get
        ...
      96f2f66a
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · 3f2dcb64
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "Old Drivers
         - Remove driver for S6E63M0
         - Remove driver for LD9040
      
        Fix-ups
         - Trivial (email address update); adp*_bl
         - Use 'atomic' PWM API; pwm_bl
      
        Bug Fixes
         - Remove pointless boolen '&ptr' check; lm3639_bl"
      
      * tag 'backlight-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
        backlight: Remove ld9040 driver
        backlight: Remove s6e63m0 driver
        backlight: lm3639: Unconditionally call led_classdev_unregister
        backlight: pwm_bl: Switch to using "atomic" PWM API
        backlight: Update MODULE AUTHOR email address
      3f2dcb64
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 3ea172c8
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Drivers
         - Add support for USART SPI to AT91*
      
        New Functionality
         - Add support for Audio CODECs to motorola-cpcap
      
        Fix-ups
         - DT documentation fix-ups; atmel-usart
         - Staticise functions/structs; spi-at91-usart, arizona-core
         - Constify; ti-lmu
         - Fix memory leaks; menelaus
         - Change device 'wake-up' status; ti_am335x_tscadc, max8997
         - Power Management (suspend/resume) semantic changes; ti_am335x_adc, cros_ec, max8997
         - SPDX churn; sec-core (+ headers), max* (+ headers), intel* (+ headers),
         - Trivial (whitespace, email addresses, alphabetisise); Kconfig, adp5520, intel_soc_pmic_*
         - Build as module; sec-irq
         - Use new %pOFn printk format for device_node.name; max77620
         - Remove unused code; madera
         - Use generic MACROs; intel_msic, intel_soc_pmic_crc
         - Move to GPIOD; ti-lmu
         - Use managed resources; ti-lmu
      
        Bug Fixes
         - Add missing headers; at91-usart
         - Prevent device from entering low-power mode; arizona-core
         - Poll for BOOT_DONE to avoid still-booting NACK; madera-core
         - Prevent ADC read from shutting down device; mc13xxx-core"
      
      * tag 'mfd-next-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (45 commits)
        mfd: cros_ec: Avoid unneeded internal declaration warning
        mfd: ti-lmu: Use of_device_get_match_data() helper
        mfd: ti-lmu: Use managed resource for everything
        mfd: ti-lmu: Switch to GPIOD
        mfd: ti-lmu: constify mfd_cell tables
        mfd: max8997: Disable interrupt handling for suspend/resume cycle
        mfd: max8997: Enale irq-wakeup unconditionally
        mfd: arizona: Make array mclk_name static, shrinks object size
        MAINTAINERS: Add myself as designated reviewer of Intel MFD PMIC
        mfd: Convert Intel PMIC drivers to use SPDX identifier 1;5201;0c Reduce size of duplicated comments by switching to use SPDX identifier.
        mfd: Sort headers alphabetically for Intel PMIC drivers
        mfd: intel_soc_pmic_bxtwc: Chain power button IRQs as well
        mfd: intel_soc_pmic_crc: Use REGMAP_IRQ_REG() macro
        mfd: intel_soc_pmic_crc: Use DEFINE_RES_IRQ_NAMED() macro
        mfd: intel_msic: Use DEFINE_RES_IRQ() macro
        mfd: motorola-cpcap: Add audio-codec support
        mfd: mc13xxx-core: Fix PMIC shutdown when reading ADC values
        mfd: madera: Remove unused forward reference
        mfd: max77620: Convert to using %pOFn instead of device_node.name
        mfd: madera: Don't use regmap_read_poll_timeout to poll for BOOT_DONE
        ...
      3ea172c8
    • Linus Torvalds's avatar
      Merge tag 'docs-4.20' of git://git.lwn.net/linux · 01aa9d51
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "This is a fairly typical cycle for documentation. There's some welcome
        readability improvements for the formatted output, some LICENSES
        updates including the addition of the ISC license, the removal of the
        unloved and unmaintained 00-INDEX files, the deprecated APIs document
        from Kees, more MM docs from Mike Rapoport, and the usual pile of typo
        fixes and corrections"
      
      * tag 'docs-4.20' of git://git.lwn.net/linux: (41 commits)
        docs: Fix typos in histogram.rst
        docs: Introduce deprecated APIs list
        kernel-doc: fix declaration type determination
        doc: fix a typo in adding-syscalls.rst
        docs/admin-guide: memory-hotplug: remove table of contents
        doc: printk-formats: Remove bogus kobject references for device nodes
        Documentation: preempt-locking: Use better example
        dm flakey: Document "error_writes" feature
        docs/completion.txt: Fix a couple of punctuation nits
        LICENSES: Add ISC license text
        LICENSES: Add note to CDDL-1.0 license that it should not be used
        docs/core-api: memory-hotplug: add some details about locking internals
        docs/core-api: rename memory-hotplug-notifier to memory-hotplug
        docs: improve readability for people with poorer eyesight
        yama: clarify ptrace_scope=2 in Yama documentation
        docs/vm: split memory hotplug notifier description to Documentation/core-api
        docs: move memory hotplug description into admin-guide/mm
        doc: Fix acronym "FEKEK" in ecryptfs
        docs: fix some broken documentation references
        iommu: Fix passthrough option documentation
        ...
      01aa9d51
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 5993692f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - further restructure ext4 documentation
      
       - fix up ext4's delayed allocation for bigalloc file systems
      
       - fix up some syzbot-detected races in EXT4_IOC_MOVE_EXT,
         EXT4_IOC_SWAP_BOOT, and ext4_remount
      
       - ... and a few other miscellaneous bugs and optimizations.
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (21 commits)
        ext4: fix use-after-free race in ext4_remount()'s error path
        ext4: cache NULL when both default_acl and acl are NULL
        docs: promote the ext4 data structures book to top level
        docs: move ext4 administrative docs to admin-guide/
        jbd2: fix use after free in jbd2_log_do_checkpoint()
        ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR
        ext4: fix setattr project check in fssetxattr ioctl
        docs: make ext4 readme tables readable
        docs: fix ext4 documentation table formatting problems
        docs: generate a separate ext4 pdf file from the documentation
        ext4: convert fault handler to use vm_fault_t type
        ext4: initialize retries variable in ext4_da_write_inline_data_begin()
        ext4: fix EXT4_IOC_SWAP_BOOT
        ext4: fix build error when DX_DEBUG is defined
        ext4: fix argument checking in EXT4_IOC_MOVE_EXT
        ext4: fix reserved cluster accounting at page invalidation time
        ext4: adjust reserved cluster count when removing extents
        ext4: reduce reserved cluster count by number of allocated clusters
        ext4: fix reserved cluster accounting at delayed write time
        ext4: add new pending reservation mechanism
        ...
      5993692f
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · d6edff78
      Linus Torvalds authored
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've added 1) superblock checksum feature, 2)
        implemented new mount option which we can disable/enable checkpoint to
        provide atomic updates of entire filesystem, 3) refactored quota
        operations to enhance its consistency along with checkpoint, 4) fixed
        subtle IO hang conditions and roll-forward recovery flow to resurrect
        any fsync'ed inode metadata.
      
        Enhancements:
         - add checksum to keep superblock contents more safe
         - add checkpoint=disable/enable to support A/B update of entire filesystem
         - use plug for readahead IO in readdir
         - add more IO counts to avoid block layer hacks
      
        Bug fixes:
         - prevent data corruption issue for hardware encryption
         - fix IO hang issues when GC is heavily triggered
         - add missing up_read in __write_node_page
         - recover inode metadata during roll-forward recovery flow
         - fix null pointer dereference issue in wrongly configured discard map
      
        There are some more sanity checks and minor bug fixes as well"
      
      * tag 'f2fs-for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (62 commits)
        f2fs: fix to keep project quota consistent
        f2fs: guarantee journalled quota data by checkpoint
        f2fs: cleanup dirty pages if recover failed
        f2fs: fix data corruption issue with hardware encryption
        f2fs: fix to recover inode->i_flags of inode block during POR
        f2fs: spread f2fs_set_inode_flags()
        f2fs: fix to spread clear_cold_data()
        Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()"
        f2fs: account read IOs and use IO counts for is_idle
        f2fs: fix to account IO correctly for cgroup writeback
        f2fs: fix to account IO correctly
        f2fs: remove request_list check in is_idle()
        f2fs: allow to mount, if quota is failed
        f2fs: update REQ_TIME in f2fs_cross_rename()
        f2fs: do not update REQ_TIME in case of error conditions
        f2fs: remove unneeded disable_nat_bits()
        f2fs: remove unused sbi->trigger_ssr_threshold
        f2fs: shrink sbi->sb_lock coverage in set_file_temperature()
        f2fs: use rb_*_cached friends
        f2fs: fix to recover cold bit of inode block during POR
        ...
      d6edff78
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.20-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · fe0142df
      Linus Torvalds authored
      Pul xfs updates from Dave Chinner:
       "There's not a huge amount of change in this cycle - Darrick has been
        out of action for a couple of months (hence me sending the last few
        pull requests), so we decided a quiet cycle mainly focussed on bug
        fixes was a good idea. Darrick will take the helm again at the end of
        this merge window.
      
        FYI, I may be sending another update later in the cycle - there's a
        pending rework of the clone/dedupe_file_range code that fixes numerous
        bugs that is spread amongst the VFS, XFS and ocfs2 code. It has been
        reviewed and tested, Al and I just need to work out the details of the
        merge, so it may come from him rather than me.
      
        Summary:
      
         - only support filesystems with unwritten extents
      
         - add definition for statfs XFS magic number
      
         - remove unused parameters around reflink code
      
         - more debug for dangling delalloc extents
      
         - cancel COW extents on extent swap targets
      
         - fix quota stats output and clean up the code
      
         - refactor some of the attribute code in preparation for parent
           pointers
      
         - fix several buffer handling bugs"
      
      * tag 'xfs-4.20-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (21 commits)
        xfs: cancel COW blocks before swapext
        xfs: clear ail delwri queued bufs on unmount of shutdown fs
        xfs: use offsetof() in place of offset macros for __xfsstats
        xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat
        xfs: fix use-after-free race in xfs_buf_rele
        xfs: Add attibute remove and helper functions
        xfs: Add attibute set and helper functions
        xfs: Add helper function xfs_attr_try_sf_addname
        xfs: Move fs/xfs/xfs_attr.h to fs/xfs/libxfs/xfs_attr.h
        xfs: issue log message on user force shutdown
        xfs: fix buffer state management in xrep_findroot_block
        xfs: always assign buffer verifiers when one is provided
        xfs: xrep_findroot_block should reject root blocks with siblings
        xfs: add a define for statfs magic to uapi
        xfs: print dangling delalloc extents
        xfs: fix fork selection in xfs_find_trim_cow_extent
        xfs: remove the unused trimmed argument from xfs_reflink_trim_around_shared
        xfs: remove the unused shared argument to xfs_reflink_reserve_cow
        xfs: handle zeroing in xfs_file_iomap_begin_delay
        xfs: remove suport for filesystems without unwritten extent flag
        ...
      fe0142df
    • Linus Torvalds's avatar
      Merge tag 'gfs2-4.20.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · bfd93a87
      Linus Torvalds authored
      Pull gfs2 updates from Bob Peterson:
       "We've got 18 patches for this merge window, none of which are very
        major:
      
         - clean up the gfs2 block allocator to prepare for future performance
           enhancements (Andreas Gruenbacher)
      
         - fix a use-after-free problem (Andy Price)
      
         - patches that fix gfs2's broken rgrplvb mount option (me)
      
         - cleanup patches and error message improvements (me)
      
         - enable getlabel support (Steve Whitehouse and Abhi Das)
      
         - flush the glock delete workqueue at exit (Tim Smith)"
      
      * tag 'gfs2-4.20.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: Fix minor typo: couln't versus couldn't.
        gfs2: write revokes should traverse sd_ail1_list in reverse
        gfs2: Pass resource group to rgblk_free
        gfs2: Remove unnecessary gfs2_rlist_alloc parameter
        gfs2: Fix marking bitmaps non-full
        gfs2: Fix some minor typos
        gfs2: Rename bitmap.bi_{len => bytes}
        gfs2: Remove unused RGRP_RSRV_MINBYTES definition
        gfs2: Move rs_{sizehint, rgd_gh} fields into the inode
        gfs2: Clean up out-of-bounds check in gfs2_rbm_from_block
        gfs2: Always check the result of gfs2_rbm_from_block
        gfs2: getlabel support
        GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads
        gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd
        gfs2: Use fs_* functions instead of pr_* function where we can
        gfs2: slow the deluge of io error messages
        gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated
        gfs2: improve debug information when lvb mismatches are found
      bfd93a87
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.20-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · e1cbbf40
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
       "Fixes and a cleanup.
      
        Fixes:
         - fix superfluous service_operation return code check in
           orangefs_lookup
         - fix some error code paths that missed kmem_cache_free
         - don't let orangefs_iget return NULL
         - don't let orangefs_new_inode return NULL
         - cache NULL when both default_acl and acl are NULL
      
       Cleanup:
         - rate limit the client not running info message"
      
      * tag 'for-linus-4.20-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: no need to check for service_operation returns > 0
        orangefs: some error code paths missed kmem_cache_free
        orangefs: don't let orangefs_iget return NULL.
        orangefs: don't let orangefs_new_inode return NULL
        orangefs: rate limit the client not running info message
        orangefs: cache NULL when both default_acl and acl are NULL
      e1cbbf40
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 6b609e3b
      Linus Torvalds authored
      Pull vfs fixes from Al Viro.
      
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        gfs2_meta: ->mount() can get NULL dev_name
        ecryptfs_rename(): verify that lower dentries are still OK after lock_rename()
        cachefiles: fix the race between cachefiles_bury_object() and rmdir(2)
      6b609e3b
    • Linus Torvalds's avatar
      Merge tag 'jfs-for-4.20' of git://github.com/kleikamp/linux-shaggy · deba28b1
      Linus Torvalds authored
      Pull jfs updates from David Kleikamp:
       "Just a few small fixes"
      
      * tag 'jfs-for-4.20' of git://github.com/kleikamp/linux-shaggy:
        jfs: remove redundant dquot_initialize() in jfs_evict_inode()
        jfs: remove quota option from ignore list
        jfs: cache NULL when both default_acl and acl are NULL
      deba28b1