1. 05 Feb, 2021 1 commit
    • Thomas Gleixner's avatar
      Revert "lib: Restrict cpumask_local_spread to houskeeping CPUs" · 2452483d
      Thomas Gleixner authored
      This reverts commit 1abdfe70.
      
      This change is broken and not solving any problem it claims to solve.
      
      Robin reported that cpumask_local_spread() now returns any cpu out of
      cpu_possible_mask in case that NOHZ_FULL is disabled (runtime or compile
      time). It can also return any offline or not-present CPU in the
      housekeeping mask. Before that it was returning a CPU out of
      online_cpu_mask.
      
      While the function is racy against CPU hotplug if the caller does not
      protect against it, the actual use cases are not caring much about it as
      they use it mostly as hint for:
      
       - the user space affinity hint which is unused by the kernel
       - memory node selection which is just suboptimal
       - network queue affinity which might fail but is handled gracefully
      
      But the occasional fail vs. hotplug is very different from returning
      anything from possible_cpu_mask which can have a large amount of offline
      CPUs obviously.
      
      The changelog of the commit claims:
      
       "The current implementation of cpumask_local_spread() does not respect
        the isolated CPUs, i.e., even if a CPU has been isolated for Real-Time
        task, it will return it to the caller for pinning of its IRQ
        threads. Having these unwanted IRQ threads on an isolated CPU adds up
        to a latency overhead."
      
      The only correct part of this changelog is:
      
       "The current implementation of cpumask_local_spread() does not respect
        the isolated CPUs."
      
      Everything else is just disjunct from reality.
      Reported-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Nitesh Narayan Lal <nitesh@redhat.com>
      Cc: Marcelo Tosatti <mtosatti@redhat.com>
      Cc: abelits@marvell.com
      Cc: davem@davemloft.net
      Link: https://lore.kernel.org/r/87y2g26tnt.fsf@nanos.tec.linutronix.de
      2452483d
  2. 31 Jan, 2021 17 commits
    • Linus Torvalds's avatar
      Linux 5.11-rc6 · 1048ba83
      Linus Torvalds authored
      1048ba83
    • Linus Torvalds's avatar
      Merge tag 'efi-urgent-for-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac8c6edd
      Linus Torvalds authored
      Pull EFI fix from Borislav Petkov:
       "A single fix from Lukas: handle boolean device properties imported
        from Apple firmware correctly"
      
      * tag 'efi-urgent-for-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi/apple-properties: Reinstate support for boolean properties
      ac8c6edd
    • Linus Torvalds's avatar
      Merge tag 'x86_entry_for_v5.11_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f5a376ed
      Linus Torvalds authored
      Pull x86 fix from Borislav Petkov:
       "A single fix for objtool to generate proper unwind info for newer
        toolchains which do not generate section symbols anymore. And a
        cleanup ontop.
      
        This was originally going to go during the next merge window but
        people can already trigger a build error with binutils-2.36 which
        doesn't emit section symbols - something which objtool relies on - so
        let's expedite it"
      
      * tag 'x86_entry_for_v5.11_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/entry: Remove put_ret_addr_in_rdi THUNK macro argument
        x86/entry: Emit a symbol for register restoring thunk
      f5a376ed
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2021-01-31' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 17b756d0
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "A fix for handling advertised, but non-existent 146818 RTCs correctly.
      
        With the recent UIP handling changes the time readout of non-existent
        RTCs hangs forever as the read returns always 0xFF which means the UIP
        bit is set.
      
        Sanity check the RTC before registering by checking the RTC_VALID
        register for correctness"
      
      * tag 'timers-urgent-2021-01-31' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rtc: mc146818: Detect and handle broken RTCs
      17b756d0
    • Linus Torvalds's avatar
      Merge tag 'core-urgent-2021-01-31' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f7ea44c7
      Linus Torvalds authored
      Pull single stepping fix from Thomas Gleixner:
       "A single fix for the single step reporting regression caused by
        getting the condition wrong when moving SYSCALL_EMU away from TIF
        flags"
      
      [ There's apparently another problem too, fix pending ]
      
      * tag 'core-urgent-2021-01-31' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        entry: Unbreak single step reporting behaviour
      f7ea44c7
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.11-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · b333a99e
      Linus Torvalds authored
      Pull powerpc fix from Michael Ellerman:
       "One fix for a bug in our soft interrupt masking, which could lead to
        interrupt replaying recursing, causing spurious interrupts.
      
        Thanks to Nicholas Piggin"
      
      * tag 'powerpc-5.11-6' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/64s: prevent recursive replay_soft_interrupts causing superfluous interrupt
      b333a99e
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 1188866d
      Linus Torvalds authored
      Pull i2c fix from Wolfram Sang:
       "Just one I2C driver update this time"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mediatek: Move suspend and resume handling to NOIRQ phase
      1188866d
    • Linus Torvalds's avatar
      Merge branch 'for-rc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · 29bd2d21
      Linus Torvalds authored
      Pull LED fixes from Pavel Machek:
       "This pull is due to 'leds: trigger: fix potential deadlock with
        libata' -- people find the warn annoying.
      
        It also contains new driver and two trivial fixes"
      
      * 'for-rc-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: rt8515: Add Richtek RT8515 LED driver
        dt-bindings: leds: Add DT binding for Richtek RT8515
        leds: trigger: fix potential deadlock with libata
        leds: leds-ariel: convert comma to semicolon
        leds: leds-lm3533: convert comma to semicolon
      29bd2d21
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-5.11-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · c178fae3
      Linus Torvalds authored
      Pull NFS client fixes from Trond Myklebust:
      
       - SUNRPC: Handle 0 length opaque XDR object data properly
      
       - Fix a layout segment leak in pnfs_layout_process()
      
       - pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn
      
       - pNFS/NFSv4: Improve rejection of out-of-order layouts
      
       - pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process()
      
      * tag 'nfs-for-5.11-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        SUNRPC: Handle 0 length opaque XDR object data properly
        SUNRPC: Move simple_get_bytes and simple_get_netobj into private header
        pNFS/NFSv4: Improve rejection of out-of-order layouts
        pNFS/NFSv4: Update the layout barrier when we schedule a layoutreturn
        pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process()
        pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process()
      c178fae3
    • Linus Walleij's avatar
      leds: rt8515: Add Richtek RT8515 LED driver · e1c6edcb
      Linus Walleij authored
      This adds a driver for the Richtek RT8515 dual channel
      torch/flash white LED driver.
      
      This LED driver is found in some mobile phones from
      Samsung such as the GT-S7710 and GT-I8190.
      
      A V4L interface is added.
      
      We do not have a proper datasheet for the RT8515 but
      it turns out that RT9387A has a public datasheet and
      is essentially the same chip. We designed the driver
      in accordance with this datasheet. The day someone
      needs to drive a RT9387A this driver can probably
      easily be augmented to handle that chip too.
      
      Sakari Ailus, Pavel Machek and Andy Shevchenko helped
      significantly in getting this driver right.
      
      Cc: Sakari Ailus <sakari.ailus@iki.fi>
      Cc: newbytee@protonmail.com
      Cc: Stephan Gerhold <stephan@gerhold.net>
      Cc: linux-media@vger.kernel.org
      Cc: phone-devel@vger.kernel.org
      Reviewed-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      e1c6edcb
    • Linus Walleij's avatar
      dt-bindings: leds: Add DT binding for Richtek RT8515 · c8283eb7
      Linus Walleij authored
      Add a YAML devicetree binding for the Richtek RT8515
      dual channel flash/torch LED driver.
      
      Cc: Sakari Ailus <sakari.ailus@iki.fi>
      Cc: newbytee@protonmail.com
      Cc: Stephan Gerhold <stephan@gerhold.net>
      Cc: phone-devel@vger.kernel.org
      Cc: linux-media@vger.kernel.org
      Cc: devicetree@vger.kernel.org
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Reviewed-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      c8283eb7
    • Andrea Righi's avatar
      leds: trigger: fix potential deadlock with libata · 27af8e2c
      Andrea Righi authored
      We have the following potential deadlock condition:
      
       ========================================================
       WARNING: possible irq lock inversion dependency detected
       5.10.0-rc2+ #25 Not tainted
       --------------------------------------------------------
       swapper/3/0 just changed the state of lock:
       ffff8880063bd618 (&host->lock){-...}-{2:2}, at: ata_bmdma_interrupt+0x27/0x200
       but this lock took another, HARDIRQ-READ-unsafe lock in the past:
        (&trig->leddev_list_lock){.+.?}-{2:2}
      
       and interrupts could create inverse lock ordering between them.
      
       other info that might help us debug this:
        Possible interrupt unsafe locking scenario:
      
              CPU0                    CPU1
              ----                    ----
         lock(&trig->leddev_list_lock);
                                      local_irq_disable();
                                      lock(&host->lock);
                                      lock(&trig->leddev_list_lock);
         <Interrupt>
           lock(&host->lock);
      
        *** DEADLOCK ***
      
       no locks held by swapper/3/0.
      
       the shortest dependencies between 2nd lock and 1st lock:
        -> (&trig->leddev_list_lock){.+.?}-{2:2} ops: 46 {
           HARDIRQ-ON-R at:
                             lock_acquire+0x15f/0x420
                             _raw_read_lock+0x42/0x90
                             led_trigger_event+0x2b/0x70
                             rfkill_global_led_trigger_worker+0x94/0xb0
                             process_one_work+0x240/0x560
                             worker_thread+0x58/0x3d0
                             kthread+0x151/0x170
                             ret_from_fork+0x1f/0x30
           IN-SOFTIRQ-R at:
                             lock_acquire+0x15f/0x420
                             _raw_read_lock+0x42/0x90
                             led_trigger_event+0x2b/0x70
                             kbd_bh+0x9e/0xc0
                             tasklet_action_common.constprop.0+0xe9/0x100
                             tasklet_action+0x22/0x30
                             __do_softirq+0xcc/0x46d
                             run_ksoftirqd+0x3f/0x70
                             smpboot_thread_fn+0x116/0x1f0
                             kthread+0x151/0x170
                             ret_from_fork+0x1f/0x30
           SOFTIRQ-ON-R at:
                             lock_acquire+0x15f/0x420
                             _raw_read_lock+0x42/0x90
                             led_trigger_event+0x2b/0x70
                             rfkill_global_led_trigger_worker+0x94/0xb0
                             process_one_work+0x240/0x560
                             worker_thread+0x58/0x3d0
                             kthread+0x151/0x170
                             ret_from_fork+0x1f/0x30
           INITIAL READ USE at:
                                 lock_acquire+0x15f/0x420
                                 _raw_read_lock+0x42/0x90
                                 led_trigger_event+0x2b/0x70
                                 rfkill_global_led_trigger_worker+0x94/0xb0
                                 process_one_work+0x240/0x560
                                 worker_thread+0x58/0x3d0
                                 kthread+0x151/0x170
                                 ret_from_fork+0x1f/0x30
         }
         ... key      at: [<ffffffff83da4c00>] __key.0+0x0/0x10
         ... acquired at:
          _raw_read_lock+0x42/0x90
          led_trigger_blink_oneshot+0x3b/0x90
          ledtrig_disk_activity+0x3c/0xa0
          ata_qc_complete+0x26/0x450
          ata_do_link_abort+0xa3/0xe0
          ata_port_freeze+0x2e/0x40
          ata_hsm_qc_complete+0x94/0xa0
          ata_sff_hsm_move+0x177/0x7a0
          ata_sff_pio_task+0xc7/0x1b0
          process_one_work+0x240/0x560
          worker_thread+0x58/0x3d0
          kthread+0x151/0x170
          ret_from_fork+0x1f/0x30
      
       -> (&host->lock){-...}-{2:2} ops: 69 {
          IN-HARDIRQ-W at:
                           lock_acquire+0x15f/0x420
                           _raw_spin_lock_irqsave+0x52/0xa0
                           ata_bmdma_interrupt+0x27/0x200
                           __handle_irq_event_percpu+0xd5/0x2b0
                           handle_irq_event+0x57/0xb0
                           handle_edge_irq+0x8c/0x230
                           asm_call_irq_on_stack+0xf/0x20
                           common_interrupt+0x100/0x1c0
                           asm_common_interrupt+0x1e/0x40
                           native_safe_halt+0xe/0x10
                           arch_cpu_idle+0x15/0x20
                           default_idle_call+0x59/0x1c0
                           do_idle+0x22c/0x2c0
                           cpu_startup_entry+0x20/0x30
                           start_secondary+0x11d/0x150
                           secondary_startup_64_no_verify+0xa6/0xab
          INITIAL USE at:
                          lock_acquire+0x15f/0x420
                          _raw_spin_lock_irqsave+0x52/0xa0
                          ata_dev_init+0x54/0xe0
                          ata_link_init+0x8b/0xd0
                          ata_port_alloc+0x1f1/0x210
                          ata_host_alloc+0xf1/0x130
                          ata_host_alloc_pinfo+0x14/0xb0
                          ata_pci_sff_prepare_host+0x41/0xa0
                          ata_pci_bmdma_prepare_host+0x14/0x30
                          piix_init_one+0x21f/0x600
                          local_pci_probe+0x48/0x80
                          pci_device_probe+0x105/0x1c0
                          really_probe+0x221/0x490
                          driver_probe_device+0xe9/0x160
                          device_driver_attach+0xb2/0xc0
                          __driver_attach+0x91/0x150
                          bus_for_each_dev+0x81/0xc0
                          driver_attach+0x1e/0x20
                          bus_add_driver+0x138/0x1f0
                          driver_register+0x91/0xf0
                          __pci_register_driver+0x73/0x80
                          piix_init+0x1e/0x2e
                          do_one_initcall+0x5f/0x2d0
                          kernel_init_freeable+0x26f/0x2cf
                          kernel_init+0xe/0x113
                          ret_from_fork+0x1f/0x30
        }
        ... key      at: [<ffffffff83d9fdc0>] __key.6+0x0/0x10
        ... acquired at:
          __lock_acquire+0x9da/0x2370
          lock_acquire+0x15f/0x420
          _raw_spin_lock_irqsave+0x52/0xa0
          ata_bmdma_interrupt+0x27/0x200
          __handle_irq_event_percpu+0xd5/0x2b0
          handle_irq_event+0x57/0xb0
          handle_edge_irq+0x8c/0x230
          asm_call_irq_on_stack+0xf/0x20
          common_interrupt+0x100/0x1c0
          asm_common_interrupt+0x1e/0x40
          native_safe_halt+0xe/0x10
          arch_cpu_idle+0x15/0x20
          default_idle_call+0x59/0x1c0
          do_idle+0x22c/0x2c0
          cpu_startup_entry+0x20/0x30
          start_secondary+0x11d/0x150
          secondary_startup_64_no_verify+0xa6/0xab
      
      This lockdep splat is reported after:
      commit e9181886 ("locking: More accurate annotations for read_lock()")
      
      To clarify:
       - read-locks are recursive only in interrupt context (when
         in_interrupt() returns true)
       - after acquiring host->lock in CPU1, another cpu (i.e. CPU2) may call
         write_lock(&trig->leddev_list_lock) that would be blocked by CPU0
         that holds trig->leddev_list_lock in read-mode
       - when CPU1 (ata_ac_complete()) tries to read-lock
         trig->leddev_list_lock, it would be blocked by the write-lock waiter
         on CPU2 (because we are not in interrupt context, so the read-lock is
         not recursive)
       - at this point if an interrupt happens on CPU0 and
         ata_bmdma_interrupt() is executed it will try to acquire host->lock,
         that is held by CPU1, that is currently blocked by CPU2, so:
      
         * CPU0 blocked by CPU1
         * CPU1 blocked by CPU2
         * CPU2 blocked by CPU0
      
           *** DEADLOCK ***
      
      The deadlock scenario is better represented by the following schema
      (thanks to Boqun Feng <boqun.feng@gmail.com> for the schema and the
      detailed explanation of the deadlock condition):
      
       CPU 0:                          CPU 1:                        CPU 2:
       -----                           -----                         -----
       led_trigger_event():
         read_lock(&trig->leddev_list_lock);
       				<workqueue>
       				ata_hsm_qc_complete():
       				  spin_lock_irqsave(&host->lock);
       								write_lock(&trig->leddev_list_lock);
       				  ata_port_freeze():
       				    ata_do_link_abort():
       				      ata_qc_complete():
       					ledtrig_disk_activity():
       					  led_trigger_blink_oneshot():
       					    read_lock(&trig->leddev_list_lock);
       					    // ^ not in in_interrupt() context, so could get blocked by CPU 2
       <interrupt>
         ata_bmdma_interrupt():
           spin_lock_irqsave(&host->lock);
      
      Fix by using read_lock_irqsave/irqrestore() in led_trigger_event(), so
      that no interrupt can happen in between, preventing the deadlock
      condition.
      
      Apply the same change to led_trigger_blink_setup() as well, since the
      same deadlock scenario can also happen in power_supply_update_bat_leds()
      -> led_trigger_blink() -> led_trigger_blink_setup() (workqueue context),
      and potentially prevent other similar usages.
      
      Link: https://lore.kernel.org/lkml/20201101092614.GB3989@xps-13-7390/
      Fixes: eb25cb99 ("leds: convert IDE trigger to common disk trigger")
      Signed-off-by: default avatarAndrea Righi <andrea.righi@canonical.com>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      27af8e2c
    • Zheng Yongjun's avatar
      leds: leds-ariel: convert comma to semicolon · 47854d2d
      Zheng Yongjun authored
      Replace a comma between expression statements by a semicolon.
      Signed-off-by: default avatarZheng Yongjun <zhengyongjun3@huawei.com>
      Reviewed-by: default avatarAlexander Dahl <ada@thorsis.com>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      47854d2d
    • Zheng Yongjun's avatar
      leds: leds-lm3533: convert comma to semicolon · 4e04b118
      Zheng Yongjun authored
      Replace a comma between expression statements by a semicolon.
      Signed-off-by: default avatarZheng Yongjun <zhengyongjun3@huawei.com>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      4e04b118
    • Linus Torvalds's avatar
      Merge tag '5.11-rc5-smb3' of git://git.samba.org/sfrench/cifs-2.6 · 6642d600
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Four cifs patches found in additional testing of the conversion to the
        new mount API: three small option processing ones, and one fixing domain
        based DFS referrals"
      
      * tag '5.11-rc5-smb3' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix dfs domain referrals
        cifs: returning mount parm processing errors correctly
        cifs: fix mounts to subdirectories of target
        cifs: ignore auto and noauto options if given
      6642d600
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · ad8b3c1e
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two minor fixes in drivers. Both changing strings (one in a comment,
        one in a module help text) with no code impact"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: qla2xxx: Fix description for parameter ql2xenforce_iocb_limit
        scsi: target: iscsi: Fix typo in comment
      ad8b3c1e
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/openrisc/linux · 03e319e5
      Linus Torvalds authored
      Pull OpenRISC fix from Stafford Horne:
       "Fix config dependencies for Litex SOC driver causing issues on um"
      
      * tag 'for-linus' of git://github.com/openrisc/linux:
        soc: litex: Properly depend on HAS_IOMEM
      03e319e5
  3. 30 Jan, 2021 3 commits
  4. 29 Jan, 2021 19 commits
    • Rob Herring's avatar
      dt-bindings: Cleanup standard unit properties · 32ada6b0
      Rob Herring authored
      Properties with standard unit suffixes already have a type and don't need
      type definitions. They also default to a single entry, so 'maxItems: 1'
      can be dropped.
      
      adi,ad5758 is an oddball which defined an enum of arrays. While a valid
      schema, it is simpler as a whole to only define scalar constraints.
      
      Cc: Jean Delvare <jdelvare@suse.com>
      Cc: Lars-Peter Clausen <lars@metafoo.de>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Ulf Hansson <ulf.hansson@linaro.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Serge Semin <fancer.lancer@gmail.com>
      Cc: linux-hwmon@vger.kernel.org
      Cc: linux-i2c@vger.kernel.org
      Cc: linux-iio@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-input@vger.kernel.org
      Cc: linux-mmc@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Cc: linux-pm@vger.kernel.org
      Cc: linux-rtc@vger.kernel.org
      Cc: linux-serial@vger.kernel.org
      Cc: alsa-devel@alsa-project.org
      Cc: linux-watchdog@vger.kernel.org
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Acked-by: default avatarMark Brown <broonie@kernel.org>
      Acked-by: Wolfram Sang <wsa@kernel.org> # for I2C
      Acked-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: Sebastian Reichel <sre@kernel.org> # for power-supply
      Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for-iio
      Acked-by: default avatarAlexandre TORGUE <alexandre.torgue@foss.st.com>
      Link: https://lore.kernel.org/r/20210128194515.743252-1-robh@kernel.org
      32ada6b0
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 0e9bcda5
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
      
       - Fix the virt_addr_valid() returning true for < PAGE_OFFSET addresses.
      
       - Do not blindly trust the DMA masks from ACPI/IORT.
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        ACPI/IORT: Do not blindly trust DMA masks from firmware
        arm64: Fix kernel address detection of __is_lm_address()
      0e9bcda5
    • Linus Torvalds's avatar
      Merge tag 'for-5.11-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · c05d51c7
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few more fixes for a late rc:
      
         - fix lockdep complaint on 32bit arches and also remove an unsafe
           memory use due to device vs filesystem lifetime
      
         - two fixes for free space tree:
      
            * race during log replay and cache rebuild, now more likely to
              happen due to changes in this dev cycle
      
            * possible free space tree corruption with online conversion
              during initial tree population"
      
      * tag 'for-5.11-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: fix log replay failure due to race with space cache rebuild
        btrfs: fix lockdep warning due to seqcount_mutex on 32bit arch
        btrfs: fix possible free space tree corruption with online conversion
      c05d51c7
    • Linus Torvalds's avatar
      Merge tag 'block-5.11-2021-01-29' of git://git.kernel.dk/linux-block · 2ba1c4d1
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "All over the place fixes for this release:
      
         - blk-cgroup iteration teardown resched fix (Baolin)
      
         - NVMe pull request from Christoph:
              - add another Write Zeroes quirk (Chaitanya Kulkarni)
              - handle a no path available corner case (Daniel Wagner)
              - use the proper RCU aware list_add helper (Chao Leng)
      
         - bcache regression fix (Coly)
      
         - bdev->bd_size_lock IRQ fix. This will be fixed in drivers for 5.12,
           but for now, we'll make it IRQ safe (Damien)
      
         - null_blk zoned init fix (Damien)
      
         - add_partition() error handling fix (Dinghao)
      
         - s390 dasd kobject fix (Jan)
      
         - nbd fix for freezing queue while adding connections (Josef)
      
         - tag queueing regression fix (Ming)
      
         - revert of a patch that inadvertently meant that we regressed write
           performance on raid (Maxim)"
      
      * tag 'block-5.11-2021-01-29' of git://git.kernel.dk/linux-block:
        null_blk: cleanup zoned mode initialization
        nvme-core: use list_add_tail_rcu instead of list_add_tail for nvme_init_ns_head
        nvme-multipath: Early exit if no path is available
        nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a SPCC device
        bcache: only check feature sets when sb->version >= BCACHE_SB_VERSION_CDEV_WITH_FEATURES
        block: fix bd_size_lock use
        blk-cgroup: Use cond_resched() when destroy blkgs
        Revert "block: simplify set_init_blocksize" to regain lost performance
        nbd: freeze the queue while we're adding connections
        s390/dasd: Fix inconsistent kobject removal
        block: Fix an error handling in add_partition
        blk-mq: test QUEUE_FLAG_HCTX_ACTIVE for sbitmap_shared in hctx_may_queue
      2ba1c4d1
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.11-2021-01-29' of git://git.kernel.dk/linux-block · c0ec4ffc
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "We got the cancelation story sorted now, so for all intents and
        purposes, this should be it for 5.11 outside of any potential little
        fixes that may come in. This contains:
      
         - task_work task state fixes (Hao, Pavel)
      
         - Cancelation fixes (me, Pavel)
      
         - Fix for an inflight req patch in this release (Pavel)
      
         - Fix for a lock deadlock issue (Pavel)"
      
      * tag 'io_uring-5.11-2021-01-29' of git://git.kernel.dk/linux-block:
        io_uring: reinforce cancel on flush during exit
        io_uring: fix sqo ownership false positive warning
        io_uring: fix list corruption for splice file_get
        io_uring: fix flush cqring overflow list while TASK_INTERRUPTIBLE
        io_uring: fix wqe->lock/completion_lock deadlock
        io_uring: fix cancellation taking mutex while TASK_UNINTERRUPTIBLE
        io_uring: fix __io_uring_files_cancel() with TASK_UNINTERRUPTIBLE
        io_uring: only call io_cqring_ev_posted() if events were posted
        io_uring: if we see flush on exit, cancel related tasks
      c0ec4ffc
    • David Gow's avatar
      soc: litex: Properly depend on HAS_IOMEM · 1bea2a93
      David Gow authored
      The LiteX SOC controller driver makes use of IOMEM functions like
      devm_platform_ioremap_resource(), which are only available if
      CONFIG_HAS_IOMEM is defined.
      
      This causes the driver to be enable under make ARCH=um allyesconfig,
      even though it won't build.
      
      By adding a dependency on HAS_IOMEM, the driver will not be enabled on
      architectures which don't support it.
      
      Fixes: 22447a99 ("drivers/soc/litex: add LiteX SoC Controller driver")
      Signed-off-by: default avatarDavid Gow <davidgow@google.com>
      [shorne@gmail.com: Fix typo in commit message pointed out in review]
      Signed-off-by: default avatarStafford Horne <shorne@gmail.com>
      1bea2a93
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 8ef24c20
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
      
       - AMD IOMMU fix to make sure features are detected before they are
         queried.
      
       - Intel IOMMU address alignment check fix for an IOLTB flushing
         command.
      
       - Performance fix for Intel IOMMU to make sure the code does not do
         full IOTLB flushes all the time. Those flushes are very expensive
         on emulated IOMMUs.
      
      * tag 'iommu-fixes-v5.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/vt-d: Do not use flush-queue when caching-mode is on
        iommu/vt-d: Correctly check addr alignment in qi_flush_dev_iotlb_pasid()
        iommu/amd: Use IVHD EFR for early initialization of IOMMU features
      8ef24c20
    • Linus Torvalds's avatar
      Merge tag 'pm-5.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 32b0c410
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix a deadlock in the 'kexec jump' code and address a possible
        hibernation image creation issue.
      
        Specifics:
      
         - Fix a deadlock caused by attempting to acquire the same mutex twice
           in a row in the "kexec jump" code (Baoquan He)
      
         - Modify the hibernation image saving code to flush the unwritten
           data to the swap storage later so as to avoid failing to write the
           image signature which is possible in some cases (Laurent Badel)"
      
      * tag 'pm-5.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM: hibernate: flush swap writer after marking
        kernel: kexec: remove the lock operation of system_transition_mutex
      32b0c410
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 016decc0
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These fix the handling of notifications in the ACPI thermal driver and
        address a device enumeration issue leading to the presence of multiple
        'MODALIAS=' entries in one uevent file in sysfs in some cases.
      
        Specifics:
      
         - Modify the ACPI thermal driver to avoid evaluating _TMP directly in
           its Notify () handler callback and running too many thermal checks
           for one thermal zone at the same time so as to address a work item
           accumulation issue observed on some systems that fail to shut down
           as a result of it (Rafael Wysocki)
      
         - Modify the ACPI uevent file creation code to avoid putting multiple
           'MODALIAS=' entries in one uevent file in sysfs which breaks
           systemd-udevd (Kai-Heng Feng)"
      
      * tag 'acpi-5.11-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: thermal: Do not call acpi_thermal_check() directly
        ACPI: sysfs: Prefer "compatible" modalias
      016decc0
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2021-01-29' of git://anongit.freedesktop.org/drm/drm · 6305d15e
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Weekly fixes for graphics, nothing too major, nouveau has a few
        regression fixes for various fallout from header changes previously,
        vc4 has two fixes, two amdgpu, and a smattering of i915 fixes.
      
        All seems on course for a quieter rc7, fingers crossed.
      
        nouveau:
         - fix svm init conditions
         - fix nv50 modesetting regression
         - fix cursor plane modifiers
         - fix > 64x64 cursor regression
      
        vc4:
         - Fix LBM size calculation
         - Fix high resolutions for hvs5
      
        i915:
         - Fix ICL MG PHY vswing
         - Fix subplatform handling
         - Fix selftest memleak
         - Clear CACHE_MODE prior to clearing residuals
         - Always flush the active worker before returning from the wait
         - Always try to reserve GGTT address 0x0
      
        amdgpu:
         - Fix a fan control regression on some boards
         - Fix clang warning"
      
      * tag 'drm-fixes-2021-01-29' of git://anongit.freedesktop.org/drm/drm:
        drm/nouveau/kms/gk104-gp1xx: Fix > 64x64 cursors
        drm/nouveau/kms/nv50-: Report max cursor size to userspace
        drivers/nouveau/kms/nv50-: Reject format modifiers for cursor planes
        drm/nouveau/svm: fail NOUVEAU_SVM_INIT ioctl on unsupported devices
        drm/nouveau/dispnv50: Restore pushing of all data.
        amdgpu: fix clang build warning
        Revert "drm/amdgpu/swsmu: drop set_fan_speed_percent (v2)"
        drm/i915/gt: Always try to reserve GGTT address 0x0
        drm/i915: Always flush the active worker before returning from the wait
        drm/i915/selftest: Fix potential memory leak
        drm/i915: Check for all subplatform bits
        drm/i915: Fix ICL MG PHY vswing handling
        drm/i915/gt: Clear CACHE_MODE prior to clearing residuals
        drm/vc4: Correct POS1_SCL for hvs5
        drm/vc4: Correct lbm size and calculation
        drm/nouveau/nvif: fix method count when pushing an array
      6305d15e
    • Linus Torvalds's avatar
      tty: avoid using vfs_iocb_iter_write() for redirected console writes · a9cbbb80
      Linus Torvalds authored
      It turns out that the vfs_iocb_iter_{read,write}() functions are
      entirely broken, and don't actually use the passed-in file pointer for
      IO - only for the preparatory work (permission checking and for the
      write_iter function lookup).
      
      That worked fine for overlayfs, which always builds the new iocb with
      the same file pointer that it passes in, but in the general case it ends
      up doing nonsensical things (and could cause an iterator call that
      doesn't even match the passed-in file pointer).
      
      This subtly broke the tty conversion to write_iter in commit
      9bb48c82 ("tty: implement write_iter"), because the console
      redirection didn't actually end up redirecting anything, since the
      passed-in file pointer was basically ignored, and the actual write was
      done with the original non-redirected console tty after all.
      
      The main visible effect of this is that the console messages were no
      longer logged to /var/log/boot.log during graphical boot.
      
      Fix the issue by simply not using the vfs write "helper" function at
      all, and just redirecting the write entirely internally to the tty
      layer.  Do the target writability permission checks when actually
      registering the target tty with TIOCCONS instead of at write time.
      
      Fixes: 9bb48c82 ("tty: implement write_iter")
      Reported-and-tested-by: default avatarHans de Goede <hdegoede@redhat.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a9cbbb80
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-sysfs' · b584b7e9
      Rafael J. Wysocki authored
      * acpi-sysfs:
        ACPI: sysfs: Prefer "compatible" modalias
      b584b7e9
    • Damien Le Moal's avatar
      null_blk: cleanup zoned mode initialization · cd92cdb9
      Damien Le Moal authored
      To avoid potential compilation problems, replaced the badly written
      MB_TO_SECTS() macro (missing parenthesis around the argument use) with
      the inline function mb_to_sects(). And while at it, simplify the
      calculation of the total number of zones of the device using the
      round_up() macro.
      Signed-off-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      cd92cdb9
    • Ronnie Sahlberg's avatar
      cifs: fix dfs domain referrals · 0d4873f9
      Ronnie Sahlberg authored
      The new mount API requires additional changes to how DFS
      is handled. Additional testing of DFS uncovered problems
      with domain based DFS referrals (a follow on patch addresses
      DFS links) which this patch addresses.
      Signed-off-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
      Signed-off-by: default avatarPaulo Alcantara (SUSE) <pc@cjr.nz>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      0d4873f9
    • Linus Torvalds's avatar
      Merge tag 'ecryptfs-5.11-rc6-setxattr-fix' of... · bec4c296
      Linus Torvalds authored
      Merge tag 'ecryptfs-5.11-rc6-setxattr-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
      
      Pull ecryptfs fix from Tyler Hicks:
       "Fix a regression that resulted in two rounds of UID translations when
        setting v3 namespaced file capabilities in some configurations"
      
      * tag 'ecryptfs-5.11-rc6-setxattr-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        ecryptfs: fix uid translation for setxattr on security.capability
      bec4c296
    • Dave Airlie's avatar
      Merge tag 'amd-drm-fixes-5.11-2021-01-28' of... · e0ecafed
      Dave Airlie authored
      Merge tag 'amd-drm-fixes-5.11-2021-01-28' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
      
      amd-drm-fixes-5.11-2021-01-28:
      
      amdgpu:
      - Fix a fan control regression on some boards
      - Fix clang warning
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Alex Deucher <alexdeucher@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210128191558.3821-1-alexander.deucher@amd.com
      e0ecafed
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2021-01-28' of... · 9a1054c3
      Dave Airlie authored
      Merge tag 'drm-intel-fixes-2021-01-28' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
      
      drm/i915 fixes for v5.11-rc6:
      - Fix ICL MG PHY vswing
      - Fix subplatform handling
      - Fix selftest memleak
      - Clear CACHE_MODE prior to clearing residuals
      - Always flush the active worker before returning from the wait
      - Always try to reserve GGTT address 0x0
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Jani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/87y2gdi3mp.fsf@intel.com
      9a1054c3
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2021-01-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · fb62b7b9
      Dave Airlie authored
      Short summary of fixes pull (less than what git shortlog provides):
      
       * drm/vc4: Fix LBM size calculation; Fix high resolutions for hvs5
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thomas Zimmermann <tzimmermann@suse.de>
      Link: https://patchwork.freedesktop.org/patch/msgid/YBEco1Vxeny8U/ca@linux-uq9g
      fb62b7b9
    • Dave Airlie's avatar
      Merge branch '04.01-ampere-lite' of git://github.com/skeggsb/linux into drm-fixes · 87bff758
      Dave Airlie authored
      Mostly a regression fixes here, a couple of which could lead to
      display hanging, and have been affecting a number of users.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Ben Skeggs <skeggsb@gmail.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/CACAvsv4Y0ZiAevSvgphLAOaZjFi75ECXqUD9ShBvRxZ6S-pb9Q@mail.gmail.com
      87bff758