1. 02 Apr, 2021 6 commits
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 0a84c2e4
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These fix an ACPI tables management issue, an issue related to the
        ACPI enumeration of devices and CPU wakeup in the ACPI processor
        driver.
      
        Specifics:
      
         - Ensure that the memory occupied by ACPI tables on x86 will always
           be reserved to prevent it from being allocated for other purposes
           which was possible in some cases (Rafael Wysocki).
      
         - Fix the ACPI device enumeration code to prevent it from attempting
           to evaluate the _STA control method for devices with unmet
           dependencies which is likely to fail (Hans de Goede).
      
         - Fix the handling of CPU0 wakeup in the ACPI processor driver to
           prevent CPU0 online failures from occurring (Vitaly Kuznetsov)"
      
      * tag 'acpi-5.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead()
        ACPI: scan: Fix _STA getting called on devices with unmet dependencies
        ACPI: tables: x86: Reserve memory occupied by ACPI tables
      0a84c2e4
    • Linus Torvalds's avatar
      Merge tag 'pm-5.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9314a0e9
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix a race condition and an ordering issue related to using
        device links in the runtime PM framework and two kerneldoc comments in
        cpufreq.
      
        Specifics:
      
         - Fix race condition related to the handling of supplier devices
           during consumer device probe and fix the order of decrementation of
           two related reference counters in the runtime PM core code handling
           supplier devices (Adrian Hunter).
      
         - Fix kerneldoc comments in cpufreq that have not been updated along
           with the functions documented by them (Geert Uytterhoeven)"
      
      * tag 'pm-5.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM: runtime: Fix race getting/putting suppliers at probe
        PM: runtime: Fix ordering in pm_runtime_get_suppliers()
        cpufreq: Fix scaling_{available,boost}_frequencies_show() comments
      9314a0e9
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.12-rc5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 05de4538
      Linus Torvalds authored
      Pull tracing fix from Steven Rostedt:
       "Fix stack trace entry size to stop showing garbage
      
        The macro that creates both the structure and the format displayed to
        user space for the stack trace event was changed a while ago to fix
        the parsing by user space tooling. But this change also modified the
        structure used to store the stack trace event. It changed the caller
        array field from [0] to [8].
      
        Even though the size in the ring buffer is dynamic and can be
        something other than 8 (user space knows how to handle this), the 8
        extra words was not accounted for when reserving the event on the ring
        buffer, and added 8 more entries, due to the calculation of
        "sizeof(*entry) + nr_entries * sizeof(long)", as the sizeof(*entry)
        now contains 8 entries.
      
        The size of the caller field needs to be subtracted from the size of
        the entry to create the correct allocation size"
      
      * tag 'trace-v5.12-rc5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix stack trace event size
      05de4538
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-tables' and 'acpi-scan' · 91463ebf
      Rafael J. Wysocki authored
      * acpi-tables:
        ACPI: tables: x86: Reserve memory occupied by ACPI tables
      
      * acpi-scan:
        ACPI: scan: Fix _STA getting called on devices with unmet dependencies
      91463ebf
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · ac1790ad
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: Fix scaling_{available,boost}_frequencies_show() comments
      ac1790ad
    • Linus Torvalds's avatar
      Merge tag 'lto-v5.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 1678e493
      Linus Torvalds authored
      Pull LTO fix from Kees Cook:
       "It seems that there is a bug in ld.bfd when doing module section
        merging.
      
        As explicit merging is only needed for LTO, the work-around is to only
        do it under LTO, leaving the original section layout choices alone
        under normal builds:
      
         - Only perform explicit module section merges under LTO (Sean
           Christopherson)"
      
      * tag 'lto-v5.12-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        kbuild: lto: Merge module sections if and only if CONFIG_LTO_CLANG is enabled
      1678e493
  2. 01 Apr, 2021 27 commits
  3. 31 Mar, 2021 3 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.12-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · d19cc4bf
      Linus Torvalds authored
      Pull ftrace fix from Steven Rostedt:
       "Add check of order < 0 before calling free_pages()
      
        The function addresses that are traced by ftrace are stored in pages,
        and the size is held in a variable. If there's some error in creating
        them, the allocate ones will be freed. In this case, it is possible
        that the order of pages to be freed may end up being negative due to a
        size of zero passed to get_count_order(), and then that negative
        number will cause free_pages() to free a very large section.
      
        Make sure that does not happen"
      
      * tag 'trace-v5.12-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Check if pages were allocated before calling free_pages()
      d19cc4bf
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 39192106
      Linus Torvalds authored
      Pull pin control fixes from Linus Walleij:
       "Some overly ripe fixes for the v5.12 kernel. I should have sent
        earlier but had my head stuck in GDB.
      
        All are driver fixes:
      
         - Fix up some Intel GPIO base calculations.
      
         - Fix a register offset in the Microchip driver.
      
         - Fix suspend/resume bug in the Rockchip driver.
      
         - Default pull up strength in the Qualcomm LPASS driver.
      
         - Fix two pingroup offsets in the Qualcomm SC7280 driver.
      
         - Fix SDC1 register offset in the Qualcomm SC7280 driver.
      
         - Fix a nasty string concatenation in the Qualcomm SDX55 driver.
      
         - Check the REVID register to see if the device is real or
           virtualized during virtualization in the Intel driver"
      
      * tag 'pinctrl-v5.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: intel: check REVID register value for device presence
        pinctrl: qcom: fix unintentional string concatenation
        pinctrl: qcom: sc7280: Fix SDC1_RCLK configurations
        pinctrl: qcom: sc7280: Fix SDC_QDSD_PINGROUP and UFS_RESET offsets
        pinctrl: qcom: lpass lpi: use default pullup/strength values
        pinctrl: rockchip: fix restore error in resume
        pinctrl: microchip-sgpio: Fix wrong register offset for IRQ trigger
        pinctrl: intel: Show the GPIO base calculation explicitly
      39192106
    • Paolo Bonzini's avatar
      825e34d3
  4. 30 Mar, 2021 4 commits
    • Tetsuo Handa's avatar
      reiserfs: update reiserfs_xattrs_initialized() condition · 5e46d1b7
      Tetsuo Handa authored
      syzbot is reporting NULL pointer dereference at reiserfs_security_init()
      [1], for commit ab17c4f0 ("reiserfs: fixup xattr_root caching")
      is assuming that REISERFS_SB(s)->xattr_root != NULL in
      reiserfs_xattr_jcreate_nblocks() despite that commit made
      REISERFS_SB(sb)->priv_root != NULL && REISERFS_SB(s)->xattr_root == NULL
      case possible.
      
      I guess that commit 6cb4aff0 ("reiserfs: fix oops while creating
      privroot with selinux enabled") wanted to check xattr_root != NULL
      before reiserfs_xattr_jcreate_nblocks(), for the changelog is talking
      about the xattr root.
      
        The issue is that while creating the privroot during mount
        reiserfs_security_init calls reiserfs_xattr_jcreate_nblocks which
        dereferences the xattr root. The xattr root doesn't exist, so we get
        an oops.
      
      Therefore, update reiserfs_xattrs_initialized() to check both the
      privroot and the xattr root.
      
      Link: https://syzkaller.appspot.com/bug?id=8abaedbdeb32c861dc5340544284167dd0e46cde # [1]
      Reported-and-tested-by: default avatarsyzbot <syzbot+690cb1e51970435f9775@syzkaller.appspotmail.com>
      Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Fixes: 6cb4aff0 ("reiserfs: fix oops while creating privroot with selinux enabled")
      Acked-by: default avatarJeff Mahoney <jeffm@suse.com>
      Acked-by: default avatarJan Kara <jack@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5e46d1b7
    • Hans de Goede's avatar
      ACPI: scan: Fix _STA getting called on devices with unmet dependencies · 3e759425
      Hans de Goede authored
      Commit 71da201f ("ACPI: scan: Defer enumeration of devices with
      _DEP lists") dropped the following 2 lines from acpi_init_device_object():
      
      	/* Assume there are unmet deps until acpi_device_dep_initialize() runs */
      	device->dep_unmet = 1;
      
      Leaving the initial value of dep_unmet at the 0 from the kzalloc(). This
      causes the acpi_bus_get_status() call in acpi_add_single_object() to
      actually call _STA, even though there maybe unmet deps, leading to errors
      like these:
      
      [    0.123579] ACPI Error: No handler for Region [ECRM] (00000000ba9edc4c)
                     [GenericSerialBus] (20170831/evregion-166)
      [    0.123601] ACPI Error: Region GenericSerialBus (ID=9) has no handler
                     (20170831/exfldio-299)
      [    0.123618] ACPI Error: Method parse/execution failed
                     \_SB.I2C1.BAT1._STA, AE_NOT_EXIST (20170831/psparse-550)
      
      Fix this by re-adding the dep_unmet = 1 initialization to
      acpi_init_device_object() and modifying acpi_bus_check_add() to make sure
      that dep_unmet always gets setup there, overriding the initial 1 value.
      
      This re-fixes the issue initially fixed by
      commit 63347db0 ("ACPI / scan: Use acpi_bus_get_status() to initialize
      ACPI_TYPE_DEVICE devs"), which introduced the removed
      "device->dep_unmet = 1;" statement.
      
      This issue was noticed; and the fix tested on a Dell Venue 10 Pro 5055.
      
      Fixes: 71da201f ("ACPI: scan: Defer enumeration of devices with _DEP lists")
      Suggested-by: default avatarRafael J. Wysocki <rafael@kernel.org>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Cc: 5.11+ <stable@vger.kernel.org> # 5.11+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      3e759425
    • Linus Torvalds's avatar
      Merge tag 's390-5.12-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 6ac86aae
      Linus Torvalds authored
      Pull s390 updates from Heiko Carstens:
      
       - fix incorrect initialization and update of vdso data pages, which
         results in incorrect tod clock steering, and that
         clock_gettime(CLOCK_MONOTONIC_RAW, ...) returns incorrect values.
      
       - update MAINTAINERS for s390 vfio drivers
      
      * tag 's390-5.12-5' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        MAINTAINERS: add backups for s390 vfio drivers
        s390/vdso: fix initializing and updating of vdso_data
        s390/vdso: fix tod_steering_delta type
        s390/vdso: copy tod_steering_delta value to vdso_data page
      6ac86aae
    • Thierry Reding's avatar
      drm/tegra: sor: Grab runtime PM reference across reset · ac097aec
      Thierry Reding authored
      The SOR resets are exclusively shared with the SOR power domain. This
      means that exclusive access can only be granted temporarily and in order
      for that to work, a rigorous sequence must be observed. To ensure that a
      single consumer gets exclusive access to a reset, each consumer must
      implement a rigorous protocol using the reset_control_acquire() and
      reset_control_release() functions.
      
      However, these functions alone don't provide any guarantees at the
      system level. Drivers need to ensure that the only a single consumer has
      access to the reset at the same time. In order for the SOR to be able to
      exclusively access its reset, it must therefore ensure that the SOR
      power domain is not powered off by holding on to a runtime PM reference
      to that power domain across the reset assert/deassert operation.
      
      This used to work fine by accident, but was revealed when recently more
      devices started to rely on the SOR power domain.
      
      Fixes: 11c632e1 ("drm/tegra: sor: Implement acquire/release for reset")
      Reported-by: default avatarJonathan Hunter <jonathanh@nvidia.com>
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      ac097aec