1. 31 May, 2021 3 commits
    • Rafael J. Wysocki's avatar
      ACPI: power: Rework turning off unused power resources · 6381195a
      Rafael J. Wysocki authored
      Make turning off unused power resources (after the enumeration of
      devices and during system-wide resume from S3) more straightforward
      by using the observation that the power resource state stored in
      struct acpi_power_resource can be used to determine whether or not
      the give power resource has any users.
      
      Namely, when the state of the power resource is unknown, its _STA
      method has never been evaluated (or the evaluation of it has failed)
      and its _ON and _OFF methods have never been executed (or they have
      failed to execute), so for all practical purposes it can be assumed
      to have no users (or to be unusable).  Therefore, instead of checking
      the number of power resource users, it is sufficient to check if its
      state is known.
      
      Moreover, if the last known state of a given power resource is "off",
      it is not necessary to turn it off, because it has been used to
      initialize the power state or the wakeup power resources list of at
      least one device and either its _STA method has returned 0 ("off"),
      or its _OFF method has been successfully executed already.
      
      Accordingly, modify acpi_turn_off_unused_power_resources() to do the
      above checks (which are suitable for both uses of it) instead of
      using the number of power resource users or evaluating its _STA
      method, drop its argument (which is not useful any more) and update
      its callers.
      
      Also drop the users field from struct acpi_power_resource as it is
      not useful any more.
      Tested-by: default avatarDave Olsthoorn <dave@bewaar.me>
      Tested-by: default avatarShujun Wang <wsj20369@163.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      6381195a
    • Rafael J. Wysocki's avatar
      ACPI: power: Save the last known state of each power resource · ca84f187
      Rafael J. Wysocki authored
      Currently, there are two ways to check the state of an ACPI power
      resource and they may not be consistent with each other.  The first
      one is to evaluate the power resource's _STA object and the other one
      is to check its reference counter value.  However, on some systems
      the value returned by _STA may not be consistent with the value of
      the power resource's reference counter (for example, on some systems
      it returns the same value every time for certain power resources).
      
      Moreover, evaluating _STA is unnecessary overhead for a power
      resource for which it has been evaluated already or whose state is
      otherwise known, because either the _ON or the _OFF method has been
      executed for it.
      
      For this reason, save the state of each power resource in its
      struct acpi_power_resource object and use the saved value whenever
      its state needs to be checked, except when its stats is unknown, in
      which case the _STA method is evaluated for it and the value
      returned by that method is saved as the last known state of
      the power resource.
      
      Moreover, drop the power resource _STA method evaluation from
      acpi_add_power_resource(), so as to avoid doing that unnecessarily
      for power resources that will never be used.
      Tested-by: default avatarDave Olsthoorn <dave@bewaar.me>
      Tested-by: default avatarShujun Wang <wsj20369@163.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      ca84f187
    • Rafael J. Wysocki's avatar
      ACPI: power: Use u8 as the power resource state data type · 587024b8
      Rafael J. Wysocki authored
      Use u8 as the data type for representing the state of an ACPI
      power resource.
      
      It is s not necessary to use int for that and because subsequent
      changes are going to use ACPI_POWER_RESOURCE_STATE_UNKNOWN, it is
      better to adjust the data type so that the "unknown" state is
      represented by the "all ones" value.
      
      While at it, clean up acpi_power_get_state() somewhat.
      
      No intentional functional impact.
      Tested-by: default avatarDave Olsthoorn <dave@bewaar.me>
      Tested-by: default avatarShujun Wang <wsj20369@163.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      587024b8
  2. 27 May, 2021 1 commit
  3. 24 May, 2021 1 commit
  4. 23 May, 2021 18 commits
  5. 22 May, 2021 4 commits
    • Linus Torvalds's avatar
      Merge tag 'block-5.13-2021-05-22' of git://git.kernel.dk/linux-block · 4ff2473b
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fix BLKRRPART and deletion race (Gulam, Christoph)
      
       - NVMe pull request (Christoph):
            - nvme-tcp corruption and timeout fixes (Sagi Grimberg, Keith
              Busch)
            - nvme-fc teardown fix (James Smart)
            - nvmet/nvme-loop memory leak fixes (Wu Bo)"
      
      * tag 'block-5.13-2021-05-22' of git://git.kernel.dk/linux-block:
        block: fix a race between del_gendisk and BLKRRPART
        block: prevent block device lookups at the beginning of del_gendisk
        nvme-fc: clear q_live at beginning of association teardown
        nvme-tcp: rerun io_work if req_list is not empty
        nvme-tcp: fix possible use-after-completion
        nvme-loop: fix memory leak in nvme_loop_create_ctrl()
        nvmet: fix memory leak in nvmet_alloc_ctrl()
      4ff2473b
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.13-2021-05-22' of git://git.kernel.dk/linux-block · b9231dfb
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "One fix for a regression with poll in this merge window, and another
        just hardens the io-wq exit path a bit"
      
      * tag 'io_uring-5.13-2021-05-22' of git://git.kernel.dk/linux-block:
        io_uring: fortify tctx/io_wq cleanup
        io_uring: don't modify req->poll for rw
      b9231dfb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.13b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 23d72926
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
      
       - a fix for a boot regression when running as PV guest on hardware
         without NX support
      
       - a small series fixing a bug in the Xen pciback driver when
         configuring a PCI card with multiple virtual functions
      
      * tag 'for-linus-5.13b-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen-pciback: reconfigure also from backend watch handler
        xen-pciback: redo VF placement in the virtual topology
        x86/Xen: swap NX determination and GDT setup on BSP
      23d72926
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.13-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · a3969ef4
      Linus Torvalds authored
      Pull xfs fixes from Darrick Wong:
      
       - Fix some math errors in the realtime allocator when extent size hints
         are applied.
      
       - Fix unnecessary short writes to realtime files when free space is
         fragmented.
      
       - Fix a crash when using scrub tracepoints.
      
       - Restore ioctl uapi definitions that were accidentally removed in
         5.13-rc1.
      
      * tag 'xfs-5.13-fixes-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: restore old ioctl definitions
        xfs: fix deadlock retry tracepoint arguments
        xfs: retry allocations when locality-based search fails
        xfs: adjust rt allocation minlen when extszhint > rtextsize
      a3969ef4
  6. 21 May, 2021 13 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.13-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 45af60e7
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few more fixes:
      
         - fix unaligned compressed writes in zoned mode
      
         - fix false positive lockdep warning when cloning inline extent
      
         - remove wrong BUG_ON in tree-log error handling"
      
      * tag 'for-5.13-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: zoned: fix parallel compressed writes
        btrfs: zoned: pass start block to btrfs_use_zone_append
        btrfs: do not BUG_ON in link_to_fixup_dir
        btrfs: release path before starting transaction when cloning inline extent
      45af60e7
    • Linus Torvalds's avatar
      Merge tag '5.13-rc3-smb3' of git://git.samba.org/sfrench/cifs-2.6 · 8bb14ca1
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Seven smb3 fixes: one for stable, three others fix problems found in
        testing handle leases, and a compounded request fix"
      
      * tag '5.13-rc3-smb3' of git://git.samba.org/sfrench/cifs-2.6:
        Fix KASAN identified use-after-free issue.
        Defer close only when lease is enabled.
        Fix kernel oops when CONFIG_DEBUG_ATOMIC_SLEEP is enabled.
        cifs: Fix inconsistent indenting
        cifs: fix memory leak in smb2_copychunk_range
        SMB3: incorrect file id in requests compounded with open
        cifs: remove deadstore in cifs_close_all_deferred_files()
      8bb14ca1
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · e8085a07
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - add missing MODULE_DEVICE_TABLE in gpio-cadence
      
       - fix a kernel doc validator error in gpio-xilinx
      
       - don't set parent IRQ affinity in gpio-tegra186
      
      * tag 'gpio-fixes-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: tegra186: Don't set parent IRQ affinity
        gpio: xilinx: Correct kernel doc for xgpio_probe()
        gpio: cadence: Add missing MODULE_DEVICE_TABLE
      e8085a07
    • Rafael J. Wysocki's avatar
      ACPI: PM / fan: Put fan device IDs into separate header file · b9370dce
      Rafael J. Wysocki authored
      The ACPI fan device IDs are shared between the fan driver and the
      device power management code.  The former is modular, so it needs
      to include the table of device IDs for module autoloading and the
      latter needs that list to avoid attaching the generic ACPI PM domain
      to fan devices (which doesn't make sense) possibly before the fan
      driver module is loaded.
      
      Unfortunately, that requires the list of fan device IDs to be
      updated in two places which is prone to mistakes, so put it into
      a symbol definition in a separate header file so there is only one
      copy of it in case it needs to be updated again in the future.
      
      Fixes: b9ea0bae ("ACPI: PM: Avoid attaching ACPI PM domain to certain devices")
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b9370dce
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 011ff616
      Linus Torvalds authored
      Pull MMC host fixes from Ulf Hansson:
      
       - Fix SD-card detection on Intel NUC10i3FNK4 (GL9755)
      
       - Replace WARN_ONCE with dev_warn_once for scatterlist offsets
      
       - Extend check of scatterlist size alignment with SD_IO_RW_EXTENDED
      
      * tag 'mmc-v5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-pci-gli: increase 1.8V regulator wait
        mmc: meson-gx: also check SD_IO_RW_EXTENDED for scatterlist size alignment
        mmc: meson-gx: make replace WARN_ONCE with dev_warn_once about scatterlist offset alignment
      011ff616
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 5328bf8b
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Another batch of removing unneeded type references in schemas
      
       - Fix some out of date filename references
      
       - Convert renesas,drif schema to use DT graph schema
      
      * tag 'devicetree-fixes-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: More removals of type references on common properties
        dt-bindings: media: renesas,drif: Use graph schema
        leds: Fix reference file name of documentation
        dt-bindings: phy: cadence-torrent: update reference file of docs
      5328bf8b
    • Linus Torvalds's avatar
      Merge branch 'for-v5.13-rc3' of... · a0e31f3a
      Linus Torvalds authored
      Merge branch 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
      
      Pull siginfo fix from Eric Biederman:
       "During the merge window an issue with si_perf and the siginfo ABI came
        up. The alpha and sparc siginfo structure layout had changed with the
        addition of SIGTRAP TRAP_PERF and the new field si_perf.
      
        The reason only alpha and sparc were affected is that they are the
        only architectures that use si_trapno.
      
        Looking deeper it was discovered that si_trapno is used for only a few
        select signals on alpha and sparc, and that none of the other
        _sigfault fields past si_addr are used at all. Which means technically
        no regression on alpha and sparc.
      
        While the alignment concerns might be dismissed the abuse of si_errno
        by SIGTRAP TRAP_PERF does have the potential to cause regressions in
        existing userspace.
      
        While we still have time before userspace starts using and depending
        on the new definition siginfo for SIGTRAP TRAP_PERF this set of
        changes cleans up siginfo_t.
      
         - The si_trapno field is demoted from magic alpha and sparc status
           and made an ordinary union member of the _sigfault member of
           siginfo_t. Without moving it of course.
      
         - si_perf is replaced with si_perf_data and si_perf_type ending the
           abuse of si_errno.
      
         - Unnecessary additions to signalfd_siginfo are removed"
      
      * 'for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
        signalfd: Remove SIL_PERF_EVENT fields from signalfd_siginfo
        signal: Deliver all of the siginfo perf data in _perf
        signal: Factor force_sig_perf out of perf_sigtrap
        signal: Implement SIL_FAULT_TRAPNO
        siginfo: Move si_trapno inside the union inside _si_fault
      a0e31f3a
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · c1f47ebc
      Linus Torvalds authored
      Pull module fix from Jessica Yu:
       "When CONFIG_MODULE_UNLOAD=n, module exit sections get sorted into the
        init region of the module in order to satisfy the requirements of
        jump_labels and static_calls.
      
        Previously, the exit section check was done in module_init_section(),
        but the solution there is not completely arch-indepedent as ARM is a
        special case and supplies its own module_init_section() function.
      
        Instead of pushing this logic further to the arch-specific code,
        switch to an arch-independent solution to check for module exit
        sections in the core module loader code in layout_sections() instead"
      
      * tag 'modules-for-v5.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: check for exit sections in layout_sections() instead of module_init_section()
      c1f47ebc
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/openrisc/linux · 93bb533a
      Linus Torvalds authored
      Pull OpenRISC fixes from Stafford Horne:
       "A few fixes that came in around the time of the merge window"
      
      * tag 'for-linus' of git://github.com/openrisc/linux:
        openrisc: Define memory barrier mb
        openrisc: mm/init.c: remove unused variable 'end' in paging_init()
        openrisc: mm/init.c: remove unused memblock_region variable in map_ram()
        openrisc: Fix a memory leak
      93bb533a
    • Jan Beulich's avatar
      xen-pciback: reconfigure also from backend watch handler · c81d3d24
      Jan Beulich authored
      When multiple PCI devices get assigned to a guest right at boot, libxl
      incrementally populates the backend tree. The writes for the first of
      the devices trigger the backend watch. In turn xen_pcibk_setup_backend()
      will set the XenBus state to Initialised, at which point no further
      reconfigures would happen unless a device got hotplugged. Arrange for
      reconfigure to also get triggered from the backend watch handler.
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Link: https://lore.kernel.org/r/2337cbd6-94b9-4187-9862-c03ea12e0c61@suse.comSigned-off-by: default avatarJuergen Gross <jgross@suse.com>
      c81d3d24
    • Jan Beulich's avatar
      xen-pciback: redo VF placement in the virtual topology · 4ba50e7c
      Jan Beulich authored
      The commit referenced below was incomplete: It merely affected what
      would get written to the vdev-<N> xenstore node. The guest would still
      find the function at the original function number as long as
      __xen_pcibk_get_pci_dev() wouldn't be in sync. The same goes for AER wrt
      __xen_pcibk_get_pcifront_dev().
      
      Undo overriding the function to zero and instead make sure that VFs at
      function zero remain alone in their slot. This has the added benefit of
      improving overall capacity, considering that there's only a total of 32
      slots available right now (PCI segment and bus can both only ever be
      zero at present).
      
      Fixes: 8a5248fe ("xen PV passthru: assign SR-IOV virtual functions to separate virtual slots")
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Link: https://lore.kernel.org/r/8def783b-404c-3452-196d-3f3fd4d72c9e@suse.comSigned-off-by: default avatarJuergen Gross <jgross@suse.com>
      4ba50e7c
    • Jan Beulich's avatar
      x86/Xen: swap NX determination and GDT setup on BSP · ae897fda
      Jan Beulich authored
      xen_setup_gdt(), via xen_load_gdt_boot(), wants to adjust page tables.
      For this to work when NX is not available, x86_configure_nx() needs to
      be called first.
      
      [jgross] Note that this is a revert of 36104cb9 ("x86/xen:
      Delay get_cpu_cap until stack canary is established"), which is possible
      now that we no longer support running as PV guest in 32-bit mode.
      
      Cc: <stable.vger.kernel.org> # 5.9
      Fixes: 36104cb9 ("x86/xen: Delay get_cpu_cap until stack canary is established")
      Reported-by: default avatarOlaf Hering <olaf@aepfle.de>
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      
      Link: https://lore.kernel.org/r/12a866b0-9e89-59f7-ebeb-a2a6cec0987a@suse.comSigned-off-by: default avatarJuergen Gross <jgross@suse.com>
      ae897fda
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2021-05-21-1' of git://anongit.freedesktop.org/drm/drm · 79a106fc
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Usual collection, mostly amdgpu and some i915 regression fixes. I
        nearly managed to hose my build/sign machine this week, but I
        recovered it just in time, and I even got clang12 built.
      
        dma-buf:
         - WARN fix
      
        amdgpu:
         - Fix downscaling ratio on DCN3.x
         - Fix for non-4K pages
         - PCO/RV compute hang fix
         - Dongle fix
         - Aldebaran codec query support
         - Refcount leak fix
         - Use after free fix
         - Navi12 golden settings updates
         - GPU reset fixes
      
        radeon:
         - Fix for imported BO handling
      
        i915:
         - Pin the L-shape quirked object as unshrinkable to fix crashes
         - Disable HiZ Raw Stall Optimization on broken gen7 to fix glitches,
           gfx corruption
         - GVT: Move mdev attribute groups into kvmgt module to fix kconfig
           deps issue
      
        exynos:
         - Correct kerneldoc of fimd_shadow_protect_win function
         - Drop redundant error messages"
      
      * tag 'drm-fixes-2021-05-21-1' of git://anongit.freedesktop.org/drm/drm:
        dma-buf: fix unintended pin/unpin warnings
        drm/amdgpu: stop touching sched.ready in the backend
        drm/amd/amdgpu: fix a potential deadlock in gpu reset
        drm/amdgpu: update sdma golden setting for Navi12
        drm/amdgpu: update gc golden setting for Navi12
        drm/amdgpu: Fix a use-after-free
        drm/amdgpu: add video_codecs query support for aldebaran
        drm/amd/amdgpu: fix refcount leak
        drm/amd/display: Disconnect non-DP with no EDID
        drm/amdgpu: disable 3DCGCG on picasso/raven1 to avoid compute hang
        drm/amdgpu: Fix GPU TLB update error when PAGE_SIZE > AMDGPU_PAGE_SIZE
        drm/radeon: use the dummy page for GART if needed
        drm/amd/display: Use the correct max downscaling value for DCN3.x family
        drm/i915/gt: Disable HiZ Raw Stall Optimization on broken gen7
        drm/i915/gem: Pin the L-shape quirked object as unshrinkable
        drm/exynos/decon5433: Remove redundant error printing in exynos5433_decon_probe()
        drm/exynos: Remove redundant error printing in exynos_dsi_probe()
        drm/exynos: correct exynos_drm_fimd kerneldoc
        drm/i915/gvt: Move mdev attribute groups into kvmgt module
      79a106fc