1. 19 Aug, 2022 1 commit
  2. 28 Jul, 2022 2 commits
    • Juri Lelli's avatar
      wait: Fix __wait_event_hrtimeout for RT/DL tasks · cceeeb6a
      Juri Lelli authored
      Changes to hrtimer mode (potentially made by __hrtimer_init_sleeper on
      PREEMPT_RT) are not visible to hrtimer_start_range_ns, thus not
      accounted for by hrtimer_start_expires call paths. In particular,
      __wait_event_hrtimeout suffers from this problem as we have, for
      example:
      
      fs/aio.c::read_events
        wait_event_interruptible_hrtimeout
          __wait_event_hrtimeout
            hrtimer_init_sleeper_on_stack <- this might "mode |= HRTIMER_MODE_HARD"
                                             on RT if task runs at RT/DL priority
              hrtimer_start_range_ns
                WARN_ON_ONCE(!(mode & HRTIMER_MODE_HARD) ^ !timer->is_hard)
                fires since the latter doesn't see the change of mode done by
                init_sleeper
      
      Fix it by making __wait_event_hrtimeout call hrtimer_sleeper_start_expires,
      which is aware of the special RT/DL case, instead of hrtimer_start_range_ns.
      Reported-by: default avatarBruno Goncalves <bgoncalv@redhat.com>
      Signed-off-by: default avatarJuri Lelli <juri.lelli@redhat.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Reviewed-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
      Reviewed-by: default avatarValentin Schneider <vschneid@redhat.com>
      Link: https://lore.kernel.org/r/20220627095051.42470-1-juri.lelli@redhat.com
      cceeeb6a
    • Thomas Gleixner's avatar
      Merge tag 'timers-v5.20-rc1' of https://git.linaro.org/people/daniel.lezcano/linux into timers/core · 75fed76e
      Thomas Gleixner authored
      Pull clockevent/source updates from Daniel Lezcano:
      
        - Add the missing DT bindings for the MTU nomadik timer (Linus
          Walleij)
      
        - Fix grammar typo in the ARM global timer Kconfig option (Randy
          Dunlap)
      
        - Add the tegra186 timer and use it on the tegra234 board (Thierry
          Reding)
      
        - Add the 'CPUXGPT' CPU timer for Mediatek MT6795 and implement a
          workaround to overcome an ATF bug where the timer is not correctly
          initialized (AngeloGioacchino Del Regno)
      
        - Rework the suspend/resume approach to enable the feature on the
          timer even it is not an active clock and fix a compilation warning
          (Claudiu Beznea)
      
        - Add the Add R-Car Gen4 timer support along with the DT bindings
          (Wolfram Sang)
      
        - Add compatible for ti,am654-timer to support AM6 SoC (Tony Lindgren)
      
        - Fix Kconfig option to put it back to 'bool' instead of 'tristate'
          for the tegra186 (Daniel Lezcano)
      
        - Sort 'family,type' DT bindings for the Renesas timers (Geert
          Uytterhoeven)
      
        - Add compatible 'allwinner,sun20i-d1-timer' for Allwinner D1 (Samuel
          Holland)
      
        - Remove unnecessary (void*) conversions for sun4i (XU pengfei)
      
        - Remove unnecessary (void*) conversions for sun5i (Li zeming)
      
      Link: https://lore.kernel.org/all/7472984e-f502-5f27-82bf-070127dd85a5@linaro.org
      75fed76e
  3. 27 Jul, 2022 10 commits
  4. 24 Jul, 2022 6 commits
  5. 23 Jul, 2022 2 commits
  6. 22 Jul, 2022 15 commits
  7. 21 Jul, 2022 4 commits
    • Ben Dooks's avatar
      riscv: add as-options for modules with assembly compontents · c1f6eff3
      Ben Dooks authored
      When trying to load modules built for RISC-V which include assembly files
      the kernel loader errors with "unexpected relocation type 'R_RISCV_ALIGN'"
      due to R_RISCV_ALIGN relocations being generated by the assembler.
      
      The R_RISCV_ALIGN relocations can be removed at the expense of code space
      by adding -mno-relax to gcc and as.  In commit 7a8e7da4
      ("RISC-V: Fixes to module loading") -mno-relax is added to the build
      variable KBUILD_CFLAGS_MODULE. See [1] for more info.
      
      The issue is that when kbuild builds a .S file, it invokes gcc with
      the -mno-relax flag, but this is not being passed through to the
      assembler. Adding -Wa,-mno-relax to KBUILD_AFLAGS_MODULE ensures that
      the assembler is invoked correctly. This may have now been fixed in
      gcc[2] and this addition should not stop newer gcc and as from working.
      
      [1] https://github.com/riscv/riscv-elf-psabi-doc/issues/183
      [2] https://github.com/gcc-mirror/gcc/commit/3b0a7d624e64eeb81e4d5e8c62c46d86ef521857Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
      Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
      Link: https://lore.kernel.org/r/20220529152200.609809-1-ben.dooks@codethink.co.uk
      Fixes: ab1ef68e ("RISC-V: Add sections of PLT and GOT for kernel module")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
      c1f6eff3
    • Linus Torvalds's avatar
      Merge tag 'mtd/fixes-for-5.19-final' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 68e77ffb
      Linus Torvalds authored
      Pull MTD fix from Richard Weinberger:
       "A aingle NAND controller fix:
      
         - gpmi: Fix busy timeout setting (wrong calculation, yes again)"
      
      * tag 'mtd/fixes-for-5.19-final' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
        mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times
      68e77ffb
    • Linus Torvalds's avatar
      Merge tag 'net-5.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 7ca433dc
      Linus Torvalds authored
      Pull networking fixes from Paolo Abeni:
       "Including fixes from can.
      
        Still no major regressions, most of the changes are still due to data
        races fixes, plus the usual bunch of drivers fixes.
      
        Previous releases - regressions:
      
         - tcp/udp: make early_demux back namespacified.
      
         - dsa: fix issues with vlan_filtering_is_global
      
        Previous releases - always broken:
      
         - ip: fix data-races around ipv4_net_table (round 2, 3 & 4)
      
         - amt: fix validation and synchronization bugs
      
         - can: fix detection of mcp251863
      
         - eth: iavf: fix handling of dummy receive descriptors
      
         - eth: lan966x: fix issues with MAC table
      
         - eth: stmmac: dwmac-mediatek: fix clock issue
      
        Misc:
      
         - dsa: update documentation"
      
      * tag 'net-5.19-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (107 commits)
        mlxsw: spectrum_router: Fix IPv4 nexthop gateway indication
        net/sched: cls_api: Fix flow action initialization
        tcp: Fix data-races around sysctl_tcp_max_reordering.
        tcp: Fix a data-race around sysctl_tcp_abort_on_overflow.
        tcp: Fix a data-race around sysctl_tcp_rfc1337.
        tcp: Fix a data-race around sysctl_tcp_stdurg.
        tcp: Fix a data-race around sysctl_tcp_retrans_collapse.
        tcp: Fix data-races around sysctl_tcp_slow_start_after_idle.
        tcp: Fix a data-race around sysctl_tcp_thin_linear_timeouts.
        tcp: Fix data-races around sysctl_tcp_recovery.
        tcp: Fix a data-race around sysctl_tcp_early_retrans.
        tcp: Fix data-races around sysctl knobs related to SYN option.
        udp: Fix a data-race around sysctl_udp_l3mdev_accept.
        ip: Fix data-races around sysctl_ip_prot_sock.
        ipv4: Fix data-races around sysctl_fib_multipath_hash_fields.
        ipv4: Fix data-races around sysctl_fib_multipath_hash_policy.
        ipv4: Fix a data-race around sysctl_fib_multipath_use_neigh.
        can: rcar_canfd: Add missing of_node_put() in rcar_canfd_probe()
        can: mcp251xfd: fix detection of mcp251863
        Documentation: fix udp_wmem_min in ip-sysctl.rst
        ...
      7ca433dc
    • Peter Zijlstra's avatar
      mmu_gather: Force tlb-flush VM_PFNMAP vmas · b67fbebd
      Peter Zijlstra authored
      Jann reported a race between munmap() and unmap_mapping_range(), where
      unmap_mapping_range() will no-op once unmap_vmas() has unlinked the
      VMA; however munmap() will not yet have invalidated the TLBs.
      
      Therefore unmap_mapping_range() will complete while there are still
      (stale) TLB entries for the specified range.
      
      Mitigate this by force flushing TLBs for VM_PFNMAP ranges.
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b67fbebd