1. 20 Nov, 2021 7 commits
  2. 19 Nov, 2021 21 commits
  3. 18 Nov, 2021 12 commits
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e26dd976
      Linus Torvalds authored
      Pull thermal control fixes from Rafael Wysocki:
       "These fix the handling of thermal zones during system resume and
        disable building of the int340x thermal driver on 32-bit.
      
        Specifics:
      
         - Prevent the previous high and low thermal zone trip values from
           being retained over a system suspend-resume cycle (Manaf
           Meethalavalappu Pallikunhi)
      
         - Prevent the int340x thermal driver from being built in 32-bit
           kernel configurations, because running it on 32-bit is questionable
           (Arnd Bergmann)"
      
      * tag 'thermal-5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: core: Reset previous low and high trip during thermal zone init
        thermal: int340x: Limit Kconfig to 64-bit
      e26dd976
    • Linus Torvalds's avatar
      Merge tag 'pm-5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 18e2befa
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix a system-wide suspend issue in the DTPM framework and
        improve the Energy Model documentation.
      
        Specifics:
      
         - Fix system suspend handling in DTPM when it is enabled, but not
           actually used (Daniel Lezcano)
      
         - Describe the new cpufreq callback for Energy Model registration and
           explain the "advanced" and "simple" EM variants in the EM
           documentation (Lukasz Luba)"
      
      * tag 'pm-5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Documentation: power: Describe 'advanced' and 'simple' EM models
        Documentation: power: Add description about new callback for EM registration
        powercap: DTPM: Fix suspend failure and kernel warning
      18e2befa
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 17e10707
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Revert the change attempting to release PM resources blocked by unused
        ACPI objects after device enumeration, because it caused boot issues
        to appear on multiple systems"
      
      * tag 'acpi-5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "ACPI: scan: Release PM resources blocked by unused objects"
      17e10707
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.16-2' of... · d1c2b55d
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
       "Various build- and bug-fixes as well as one hardware-id addition"
      
      * tag 'platform-drivers-x86-v5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86: thinkpad_acpi: fix documentation for adaptive keyboard
        platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep
        platform/x86: thinkpad_acpi: Add support for dual fan control
        platform/x86: think-lmi: Abort probe on analyze failure
        platform/x86: dell-wmi-descriptor: disable by default
        platform/x86: samsung-laptop: Fix typo in a comment
        platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()'
        platform/x86: amd-pmc: Make CONFIG_AMD_PMC depend on RTC_CLASS
        platform/mellanox: mlxreg-lc: fix error code in mlxreg_lc_create_static_devices()
      d1c2b55d
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · ea229296
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A few small fixes for v5.16, one in the core for an issue with
        handling of controller unregistration that was introduced with the
        fixes for registering nested SPI controllers and a few more minor
        device specific ones"
      
      * tag 'spi-fix-v5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: fix use-after-free of the add_lock mutex
        spi: spi-geni-qcom: fix error handling in spi_geni_grab_gpi_chan()
        spi: lpspi: Silence error message upon deferred probe
        spi: cadence-quadspi: fix write completion support
      ea229296
    • Nick Terrell's avatar
      lib: zstd: Don't add -O3 to cflags · 7416cdc9
      Nick Terrell authored
      After the update to zstd-1.4.10 passing -O3 is no longer necessary to
      get good performance from zstd. Using the default optimization level -O2
      is sufficient to get good performance.
      
      I've measured no significant change to compression speed, and a ~1%
      decompression speed loss, which is acceptable.
      
      This fixes the reported parisc -Wframe-larger-than=1536 errors [0]. The
      gcc-8-hppa-linux-gnu compiler performed very poorly with -O3, generating
      stacks that are ~3KB. With -O2 these same functions generate stacks in
      the < 100B, completely fixing the problem. Function size deltas are
      listed below:
      
      ZSTD_compressBlock_fast_extDict_generic: 3800 -> 68
      ZSTD_compressBlock_fast: 2216 -> 40
      ZSTD_compressBlock_fast_dictMatchState: 1848 ->  64
      ZSTD_compressBlock_doubleFast_extDict_generic: 3744 -> 76
      ZSTD_fillDoubleHashTable: 3252 -> 0
      ZSTD_compressBlock_doubleFast: 5856 -> 36
      ZSTD_compressBlock_doubleFast_dictMatchState: 5380 -> 84
      ZSTD_copmressBlock_lazy2: 2420 -> 72
      
      Additionally, this improves the reported code bloat [1]. With gcc-11
      bloat-o-meter shows an 80KB code size improvement:
      
      ```
      > ../scripts/bloat-o-meter vmlinux.old vmlinux
      add/remove: 31/8 grow/shrink: 24/155 up/down: 25734/-107924 (-82190)
      Total: Before=6418562, After=6336372, chg -1.28%
      ```
      
      Compared to before the zstd-1.4.10 update we see a total code size
      regression of 105KB, down from 374KB at v5.16-rc1:
      
      ```
      > ../scripts/bloat-o-meter vmlinux.old vmlinux
      add/remove: 292/62 grow/shrink: 56/88 up/down: 235009/-127487 (107522)
      Total: Before=6228850, After=6336372, chg +1.73%
      ```
      
      [0] https://lkml.org/lkml/2021/11/15/710
      [1] https://lkml.org/lkml/2021/11/14/189
      
      Link: https://lore.kernel.org/r/20211117014949.1169186-4-nickrterrell@gmail.com/
      Link: https://lore.kernel.org/r/20211117201459.1194876-4-nickrterrell@gmail.com/Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarNick Terrell <terrelln@fb.com>
      7416cdc9
    • Nick Terrell's avatar
      lib: zstd: Don't inline functions in zstd_opt.c · 1974990c
      Nick Terrell authored
      `zstd_opt.c` contains the match finder for the highest compression
      levels. These levels are already very slow, and are unlikely to be used
      in the kernel. If they are used, they shouldn't be used in latency
      sensitive workloads, so slowing them down shouldn't be a big deal.
      
      This saves 188 KB of the 288 KB regression reported by Geert Uytterhoeven [0].
      I've also opened an issue upstream [1] so that we can properly tackle
      the code size issue in `zstd_opt.c` for all users, and can hopefully
      remove this hack in the next zstd version we import.
      
      Bloat-o-meter output on x86-64:
      
      ```
      > ../scripts/bloat-o-meter vmlinux.old vmlinux
      add/remove: 6/5 grow/shrink: 1/9 up/down: 16673/-209939 (-193266)
      Function                                     old     new   delta
      ZSTD_compressBlock_opt_generic.constprop       -    7559   +7559
      ZSTD_insertBtAndGetAllMatches                  -    6304   +6304
      ZSTD_insertBt1                                 -    1731   +1731
      ZSTD_storeSeq                                  -     693    +693
      ZSTD_BtGetAllMatches                           -     255    +255
      ZSTD_updateRep                                 -     128    +128
      ZSTD_updateTree                               96      99      +3
      ZSTD_insertAndFindFirstIndexHash3             81       -     -81
      ZSTD_setBasePrices.constprop                  98       -     -98
      ZSTD_litLengthPrice.constprop                138       -    -138
      ZSTD_count                                   362     181    -181
      ZSTD_count_2segments                        1407     938    -469
      ZSTD_insertBt1.constprop                    2689       -   -2689
      ZSTD_compressBlock_btultra2                19990     423  -19567
      ZSTD_compressBlock_btultra                 19633      15  -19618
      ZSTD_initStats_ultra                       19825       -  -19825
      ZSTD_compressBlock_btopt                   20374      12  -20362
      ZSTD_compressBlock_btopt_extDict           29984      12  -29972
      ZSTD_compressBlock_btultra_extDict         30718      15  -30703
      ZSTD_compressBlock_btopt_dictMatchState    32689      12  -32677
      ZSTD_compressBlock_btultra_dictMatchState   33574      15  -33559
      Total: Before=6611828, After=6418562, chg -2.92%
      ```
      
      [0] https://lkml.org/lkml/2021/11/14/189
      [1] https://github.com/facebook/zstd/issues/2862
      
      Link: https://lore.kernel.org/r/20211117014949.1169186-3-nickrterrell@gmail.com/
      Link: https://lore.kernel.org/r/20211117201459.1194876-3-nickrterrell@gmail.com/Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarNick Terrell <terrelln@fb.com>
      1974990c
    • Nick Terrell's avatar
      lib: zstd: Fix unused variable warning · ae8d67b2
      Nick Terrell authored
      The variable `litLengthSum` is only used by an `assert()`, so when
      asserts are disabled the compiler doesn't see any usage and warns.
      
      This issue is already fixed upstream by PR #2838 [0]. It was reported
      by the Kernel test robot in [1].
      
      Another approach would be to change zstd's disabled `assert()`
      definition to use the argument in a disabled branch, instead of
      ignoring the argument. I've avoided this approach because there are
      some small changes necessary to get zstd to build, and I would
      want to thoroughly re-test for performance, since that is slightly
      changing the code in every function in zstd. It seems like a
      trivial change, but some functions are pretty sensitive to small
      changes. However, I think it is a valid approach that I would
      like to see upstream take, so I've opened Issue #2868 to attempt
      this upstream.
      
      Lastly, I've chosen not to use __maybe_unused because all code
      in lib/zstd/ must eventually be upstreamed. Upstream zstd can't
      use __maybe_unused because it isn't portable across all compilers.
      
      [0] https://github.com/facebook/zstd/pull/2838
      [1] https://lore.kernel.org/linux-mm/202111120312.833wII4i-lkp@intel.com/T/
      [2] https://github.com/facebook/zstd/issues/2868
      
      Link: https://lore.kernel.org/r/20211117014949.1169186-2-nickrterrell@gmail.com/
      Link: https://lore.kernel.org/r/20211117201459.1194876-2-nickrterrell@gmail.com/Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarNick Terrell <terrelln@fb.com>
      ae8d67b2
    • Linus Torvalds's avatar
      Merge tag 'net-5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 8d0112ac
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bpf, mac80211.
      
        Current release - regressions:
      
         - devlink: don't throw an error if flash notification sent before
           devlink visible
      
         - page_pool: Revert "page_pool: disable dma mapping support...",
           turns out there are active arches who need it
      
        Current release - new code bugs:
      
         - amt: cancel delayed_work synchronously in amt_fini()
      
        Previous releases - regressions:
      
         - xsk: fix crash on double free in buffer pool
      
         - bpf: fix inner map state pruning regression causing program
           rejections
      
         - mac80211: drop check for DONT_REORDER in __ieee80211_select_queue,
           preventing mis-selecting the best effort queue
      
         - mac80211: do not access the IV when it was stripped
      
         - mac80211: fix radiotap header generation, off-by-one
      
         - nl80211: fix getting radio statistics in survey dump
      
         - e100: fix device suspend/resume
      
        Previous releases - always broken:
      
         - tcp: fix uninitialized access in skb frags array for Rx 0cp
      
         - bpf: fix toctou on read-only map's constant scalar tracking
      
         - bpf: forbid bpf_ktime_get_coarse_ns and bpf_timer_* in tracing
           progs
      
         - tipc: only accept encrypted MSG_CRYPTO msgs
      
         - smc: transfer remaining wait queue entries during fallback, fix
           missing wake ups
      
         - udp: validate checksum in udp_read_sock() (when sockmap is used)
      
         - sched: act_mirred: drop dst for the direction from egress to
           ingress
      
         - virtio_net_hdr_to_skb: count transport header in UFO, prevent
           allowing bad skbs into the stack
      
         - nfc: reorder the logic in nfc_{un,}register_device, fix unregister
      
         - ipsec: check return value of ipv6_skip_exthdr
      
         - usb: r8152: add MAC passthrough support for more Lenovo Docks"
      
      * tag 'net-5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (96 commits)
        ptp: ocp: Fix a couple NULL vs IS_ERR() checks
        net: ethernet: dec: tulip: de4x5: fix possible array overflows in type3_infoblock()
        net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of bound
        ipv6: check return value of ipv6_skip_exthdr
        e100: fix device suspend/resume
        devlink: Don't throw an error if flash notification sent before devlink visible
        page_pool: Revert "page_pool: disable dma mapping support..."
        ethernet: hisilicon: hns: hns_dsaf_misc: fix a possible array overflow in hns_dsaf_ge_srst_by_port()
        octeontx2-af: debugfs: don't corrupt user memory
        NFC: add NCI_UNREG flag to eliminate the race
        NFC: reorder the logic in nfc_{un,}register_device
        NFC: reorganize the functions in nci_request
        tipc: check for null after calling kmemdup
        i40e: Fix display error code in dmesg
        i40e: Fix creation of first queue by omitting it if is not power of two
        i40e: Fix warning message and call stack during rmmod i40e driver
        i40e: Fix ping is lost after configuring ADq on VF
        i40e: Fix changing previously set num_queue_pairs for PFs
        i40e: Fix NULL ptr dereference on VSI filter sync
        i40e: Fix correct max_pkt_size on VF RX queue
        ...
      8d0112ac
    • Linus Torvalds's avatar
      Merge tag 'for-5.16-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 6fdf8864
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "Several xes and one old ioctl deprecation. Namely there's fix for
        crashes/warnings with lzo compression that was suspected to be caused
        by first pull merge resolution, but it was a different bug.
      
        Summary:
      
         - regression fix for a crash in lzo due to missing boundary checks of
           the page array
      
         - fix crashes on ARM64 due to missing barriers when synchronizing
           status bits between work queues
      
         - silence lockdep when reading chunk tree during mount
      
         - fix false positive warning in integrity checker on devices with
           disabled write caching
      
         - fix signedness of bitfields in scrub
      
         - start deprecation of balance v1 ioctl"
      
      * tag 'for-5.16-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: deprecate BTRFS_IOC_BALANCE ioctl
        btrfs: make 1-bit bit-fields of scrub_page unsigned int
        btrfs: check-integrity: fix a warning on write caching disabled disk
        btrfs: silence lockdep when reading chunk tree during mount
        btrfs: fix memory ordering between normal and ordered work functions
        btrfs: fix a out-of-bound access in copy_compressed_data_to_page()
      6fdf8864
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · db850a9b
      Linus Torvalds authored
      Pull UDF fix from Jan Kara:
       "A fix for a long-standing UDF bug where we were not properly
        validating directory position inside readdir"
      
      * tag 'fs_for_v5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Fix crash after seekdir
      db850a9b
    • Linus Torvalds's avatar
      Merge tag 'fs.idmapped.v5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · 7cf7eed1
      Linus Torvalds authored
      Pull setattr idmapping fix from Christian Brauner:
       "This contains a simple fix for setattr. When determining the validity
        of the attributes the ia_{g,u}id fields contain the value that will be
        written to inode->i_{g,u}id. When the {g,u}id attribute of the file
        isn't altered and the caller's fs{g,u}id matches the current {g,u}id
        attribute the attribute change is allowed.
      
        The value in ia_{g,u}id does already account for idmapped mounts and
        will have taken the relevant idmapping into account. So in order to
        verify that the {g,u}id attribute isn't changed we simple need to
        compare the ia_{g,u}id value against the inode's i_{g,u}id value.
      
        This only has any meaning for idmapped mounts as idmapping helpers are
        idempotent without them. And for idmapped mounts this really only has
        a meaning when circular idmappings are used, i.e. mappings where e.g.
        id 1000 is mapped to id 1001 and id 1001 is mapped to id 1000. Such
        ciruclar mappings can e.g. be useful when sharing the same home
        directory between multiple users at the same time.
      
        Before this patch we could end up denying legitimate attribute changes
        and allowing invalid attribute changes when circular mappings are
        used. To even get into this situation the caller must've been
        privileged both to create that mapping and to create that idmapped
        mount.
      
        This hasn't been seen in the wild anywhere but came up when expanding
        the fstest suite during work on a series of hardening patches. All
        idmapped fstests pass without any regressions and we're adding new
        tests to verify the behavior of circular mappings.
      
        The new tests can be found at [1]"
      
      Link: https://lore.kernel.org/linux-fsdevel/20211109145713.1868404-2-brauner@kernel.org [1]
      
      * tag 'fs.idmapped.v5.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        fs: handle circular mappings correctly
      7cf7eed1