Commit Graph

2591 Commits

Author SHA1 Message Date
Augusto Caringi f5bba5d5f4 Merge: Enable shadow stack
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/5798

# Merge Request Required Information

## Summary of Changes

Backport a few missing shadow stack patches and enable shadow stack.

Checked using the kernel selftests:
```
[root@intel-alderlake-m-01 ~]# lscpu | grep shstk
[root@intel-alderlake-m-01 ~]# reboot now
...
[root@intel-alderlake-m-01 ~]# uname -a
Linux intel-alderlake-m-01.khw.eng.bos2.dc.redhat.com 5.14.0-527.SHSTK_UPDATE_WITH_GUARD_GAP.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Nov 24 14:21:55 EST 2024 x86_64 x86_64 x86_64 GNU/Linux
[root@intel-alderlake-m-01 ~]# lscpu | grep shstk
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq tme rdpid movdiri movdir64b fsrm md_clear serialize pconfig arch_lbr ibt flush_l1d arch_capabilities
[root@intel-alderlake-m-01 ~]# ./tools/testing/selftests/x86/test_shadow_stack
[INFO]  new_ssp = 7fec4a3ffff8, *new_ssp = 7fec4a400001
[INFO]  changing ssp from 7fec4adffff0 to 7fec4a3ffff8
[INFO]  ssp is now 7fec4a400000
[OK]    Shadow stack pivot
[OK]    Shadow stack faults
[INFO]  Corrupting shadow stack
[INFO]  Generated shadow stack violation successfully
[OK]    Shadow stack violation test
[INFO]  Gup read -> shstk access success
[INFO]  Gup write -> shstk access success
[INFO]  Violation from normal write
[INFO]  Gup read -> write access success
[INFO]  Violation from normal write
[INFO]  Gup write -> write access success
[INFO]  Cow gup write -> write access success
[OK]    Shadow gup test
[INFO]  Violation from shstk access
[OK]    mprotect() test
[OK]    Userfaultfd test
[OK]    Guard gap test, other mapping's gaps
[OK]    Guard gap test, placement mapping's gaps
[OK]    Ptrace test
[OK]    32 bit test
[OK]    Uretprobe test
```

Leaving out da42b5229b since the relevant part is a follow-up of f7875966dc, which is not included.

Omitted-fix: da42b5229b27bb5c0eff3408c92f025e6041dad3
Omitted-fix: 249608ee47132cab3b1adacd9e463548f57bd316

## Approved Development Ticket(s)

JIRA: https://issues.redhat.com/browse/RHEL-15599

Signed-off-by: Štěpán Horáček <shoracek@redhat.com>

Approved-by: David Arcari <darcari@redhat.com>
Approved-by: Rafael Aquini <raquini@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: Augusto Caringi <acaringi@redhat.com>
2025-04-29 18:49:26 -03:00
Štěpán Horáček cc947bb390 arch: Reserve map_shadow_stack() syscall number for all architectures
JIRA: https://issues.redhat.com/browse/RHEL-15599

Upstream Status: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

Conflicts: Context difference due to ec732a6c2d, 04a061fd44, 99861cf1f6

commit 2fd0ebad27bcd4c8fc61c61a98d4283c47054bcf
Author: Sohil Mehta <sohil.mehta@intel.com>
Date:   Thu Sep 14 18:58:03 2023 +0000

    arch: Reserve map_shadow_stack() syscall number for all architectures

    commit c35559f94ebc ("x86/shstk: Introduce map_shadow_stack syscall")
    recently added support for map_shadow_stack() but it is limited to x86
    only for now. There is a possibility that other architectures (namely,
    arm64 and RISC-V), that are implementing equivalent support for shadow
    stacks, might need to add support for it.

    Independent of that, reserving arch-specific syscall numbers in the
    syscall tables of all architectures is good practice and would help
    avoid future conflicts. map_shadow_stack() is marked as a conditional
    syscall in sys_ni.c. Adding it to the syscall tables of other
    architectures is harmless and would return ENOSYS when exercised.

    Note, map_shadow_stack() was assigned #453 during the merge process
    since #452 was taken by fchmodat2().

    For Powerpc, map it to sys_ni_syscall() as is the norm for Powerpc
    syscall tables.

    For Alpha, map_shadow_stack() takes up #563 as Alpha still diverges from
    the common syscall numbering system in the other architectures.

    Link: https://lore.kernel.org/lkml/20230515212255.GA562920@debug.ba.rivosinc.com/
    Link: https://lore.kernel.org/lkml/b402b80b-a7c6-4ef0-b977-c0f5f582b78a@sirena.org.uk/

    Signed-off-by: Sohil Mehta <sohil.mehta@intel.com>
    Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Signed-off-by: Štěpán Horáček <shoracek@redhat.com>
2025-03-18 17:09:46 +01:00
Ming Lei f61ca691c2 asm-generic: provide generic page_to_phys and phys_to_page implementations
JIRA: https://issues.redhat.com/browse/RHEL-79409
Conflicts: drop change on several un-supported arch code(hexagon,
longarch, openrisc)

commit c5c3238d9b8cee58cd4b08bbbe9347a94a566390
Author: Christoph Hellwig <hch@lst.de>
Date:   Wed Oct 23 07:36:36 2024 +0200

    asm-generic: provide generic page_to_phys and phys_to_page implementations

    page_to_phys is duplicated by all architectures, and from some strange
    reason placed in <asm/io.h> where it doesn't fit at all.

    phys_to_page is only provided by a few architectures despite having a lot
    of open coded users.

    Provide generic versions in <asm-generic/memory_model.h> to make these
    helpers more easily usable.

    Note with this patch powerpc loses the CONFIG_DEBUG_VIRTUAL pfn_valid
    check.  It will be added back in a generic version later.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Signed-off-by: Ming Lei <ming.lei@redhat.com>
2025-03-14 16:48:31 +08:00
Jocelyn Falempe c54d585663 vt: remove superfluous CONFIG_HW_CONSOLE
JIRA: https://issues.redhat.com/browse/RHEL-53899
Upstream Status: v6.9-rc1

commit 5c49b6a4a4bcf368f85cfe7a0e5ac3a7016f30fd
Author:     Lukas Bulwahn <lukas.bulwahn@gmail.com>
AuthorDate: Mon Jan  8 14:41:02 2024 +0100
Commit:     Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CommitDate: Sat Jan 27 19:03:51 2024 -0800

    The config HW_CONSOLE is always identical to the config VT and is not
    visible in the kernel's build menuconfig. So, CONFIG_HW_CONSOLE is
    redundant.

    Replace all references to CONFIG_HW_CONSOLE with CONFIG_VT and remove
    CONFIG_HW_CONSOLE.

    Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
    Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
    Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20240108134102.601-1-lukas.bulwahn@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
2024-11-20 11:19:51 +01:00
Ming Lei d1818511f4 block: add a bvec_phys helper
JIRA: https://issues.redhat.com/browse/RHEL-56837

commit 25f76c3db2f08428b5acd082a52787164001eb6e
Author: Christoph Hellwig <hch@lst.de>
Date:   Sat Jul 6 09:52:17 2024 +0200

    block: add a bvec_phys helper

    Get callers out of poking into bvec internals a bit more.  Not a huge win
    right now, but with the proposed new DMA mapping API we might end up with
    a lot more of this otherwise.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
    Link: https://lore.kernel.org/r/20240706075228.2350978-2-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Ming Lei <ming.lei@redhat.com>
2024-09-27 11:19:14 +08:00
Ming Lei 38f0dd51b5 block: move the nonrot flag to queue_limits
JIRA: https://issues.redhat.com/browse/RHEL-56837
Conflicts: drop change on ublk & bcache

commit bd4a633b6f7c3c6b6ebc1a07317643270e751a94
Author: Christoph Hellwig <hch@lst.de>
Date:   Mon Jun 17 08:04:41 2024 +0200

    block: move the nonrot flag to queue_limits

    Move the nonrot flag into the queue_limits feature field so that it can
    be set atomically with the queue frozen.

    Use the chance to switch to defaulting to non-rotational and require
    the driver to opt into rotational, which matches the polarity of the
    sysfs interface.

    For the z2ram, ps3vram, 2x memstick, ubiblock and dcssblk the new
    rotational flag is not set as they clearly are not rotational despite
    this being a behavior change.  There are some other drivers that
    unconditionally set the rotational flag to keep the existing behavior
    as they arguably can be used on rotational devices even if that is
    probably not their main use today (e.g. virtio_blk and drbd).

    The flag is automatically inherited in blk_stack_limits matching the
    existing behavior in dm and md.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
    Reviewed-by: Hannes Reinecke <hare@suse.de>
    Link: https://lore.kernel.org/r/20240617060532.127975-15-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Ming Lei <ming.lei@redhat.com>
2024-09-27 11:19:08 +08:00
Ming Lei 860b14db65 nfblock: pass queue_limits to blk_mq_alloc_disk
JIRA: https://issues.redhat.com/browse/RHEL-56837

commit 2cfe0104bc1b4a94f81e386f5ff11041f39c1882
Author: Christoph Hellwig <hch@lst.de>
Date:   Thu Feb 15 08:10:48 2024 +0100

    nfblock: pass queue_limits to blk_mq_alloc_disk

    Pass the queue limits directly to blk_alloc_disk instead of setting them
    one at a time.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
    Link: https://lore.kernel.org/r/20240215071055.2201424-3-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Ming Lei <ming.lei@redhat.com>
2024-09-27 11:18:35 +08:00
Ming Lei ba42c16212 block: pass a queue_limits argument to blk_alloc_disk
JIRA: https://issues.redhat.com/browse/RHEL-56837

commit 74fa8f9c553f7b5ccab7d103acae63cc2e080465
Author: Christoph Hellwig <hch@lst.de>
Date:   Thu Feb 15 08:10:47 2024 +0100

    block: pass a queue_limits argument to blk_alloc_disk

    Pass a queue_limits to blk_alloc_disk and apply it if non-NULL.  This
    will allow allocating queues with valid queue limits instead of setting
    the values one at a time later.

    Also change blk_alloc_disk to return an ERR_PTR instead of just NULL
    which can't distinguish errors.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Dan Williams <dan.j.williams@intel.com>
    Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
    Link: https://lore.kernel.org/r/20240215071055.2201424-2-hch@lst.de
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

Signed-off-by: Ming Lei <ming.lei@redhat.com>
2024-09-27 11:18:35 +08:00
Rafael Aquini 410830503d mm: always expand the stack with the mmap write lock held
JIRA: https://issues.redhat.com/browse/RHEL-27742
Conflicts:
  * arch/parisc/mm/fault.c: hunks dropped as there were merge conflicts not
       worth of fixing for this unsupported hardware arch;
  * drivers/iommu/amd/iommu_v2.c: hunk dropped given out-of-order backport
       of upstream commit 5a0b11a180a9 ("iommu/amd: Remove iommu_v2 module")
  * mm/memory.c: differences on the 2nd hunk due to upstream conflict with
       commit ca5e863233e8 ("mm/gup: remove vmas parameter from
       get_user_pages_remote()") that ended up solved by merge commit
       9471f1f2f502 ("Merge branch 'expand-stack'").

This patch is a backport of the following upstream commit:
commit 8d7071af890768438c14db6172cc8f9f4d04e184
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Jun 24 13:45:51 2023 -0700

    mm: always expand the stack with the mmap write lock held

    This finishes the job of always holding the mmap write lock when
    extending the user stack vma, and removes the 'write_locked' argument
    from the vm helper functions again.

    For some cases, we just avoid expanding the stack at all: drivers and
    page pinning really shouldn't be extending any stacks.  Let's see if any
    strange users really wanted that.

    It's worth noting that architectures that weren't converted to the new
    lock_mm_and_find_vma() helper function are left using the legacy
    "expand_stack()" function, but it has been changed to drop the mmap_lock
    and take it for writing while expanding the vma.  This makes it fairly
    straightforward to convert the remaining architectures.

    As a result of dropping and re-taking the lock, the calling conventions
    for this function have also changed, since the old vma may no longer be
    valid.  So it will now return the new vma if successful, and NULL - and
    the lock dropped - if the area could not be extended.

    Tested-by: Vegard Nossum <vegard.nossum@oracle.com>
    Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> # ia64
    Tested-by: Frank Scheiner <frank.scheiner@web.de> # ia64
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Signed-off-by: Rafael Aquini <raquini@redhat.com>
2024-09-05 20:37:19 -04:00
Rafael Aquini 43ee842ebd mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED
JIRA: https://issues.redhat.com/browse/RHEL-27742
Conflicts:
  * only minor contextual differences on several of the _defconfig templates;
  * dropped arch/arm/configs/ hunks for sama7_defconfig and sp7021_defconfig
    due to RHEL-9 missing upstream commits bfcd195b01c6 ("ARM: configs: at91:
    add defconfig for sama7 family of SoCs") and 027a68e35206 ("ARM:
    sp7021_defconfig: Add Sunplus SP7021 defconfig");
  * added CONFIG_SLAB_DEPRECATED=n to RHEL generic configs

This patch is a backport of the following upstream commit:
commit eb07c4f39c3e858a7d0cc4bb15b8a304f83f0497
Author: Vlastimil Babka <vbabka@suse.cz>
Date:   Tue May 23 09:06:34 2023 +0200

    mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED

    As discussed at LSF/MM [1] [2] and with no objections raised there,
    deprecate the SLAB allocator. Rename the user-visible option so that
    users with CONFIG_SLAB=y get a new prompt with explanation during make
    oldconfig, while make olddefconfig will just switch to SLUB.

    In all defconfigs with CONFIG_SLAB=y remove the line so those also
    switch to SLUB. Regressions due to the switch should be reported to
    linux-mm and slab maintainers.

    [1] https://lore.kernel.org/all/4b9fc9c6-b48c-198f-5f80-811a44737e5f@suse.cz/
    [2] https://lwn.net/Articles/932201/

    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    Acked-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
    Acked-by: David Rientjes <rientjes@google.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> # m68k
    Acked-by: Helge Deller <deller@gmx.de> # parisc

Signed-off-by: Rafael Aquini <raquini@redhat.com>
2024-09-05 20:35:59 -04:00
Donald Dutile ba0625ee4c kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS
JIRA: https://issues.redhat.com/browse/RHEL-28063

Conflicts:
	Minor ordering in patch-diff listing, but content the same.
	Well, after the objtool update, cs9 05c520e6c2 backport of upstream
	5d45950dffb and cs9 b206f546c7 backport of upstream b42d230650241 were
	applied out of order.  Maintain those changes by dropping 3
	shell functions.

commit 7b4537199a4a8480b8c3ba37a2d44765ce76cd9b
Author: Masahiro Yamada <masahiroy@kernel.org>
Date:   Fri May 13 20:39:22 2022 +0900

    kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS

    include/{linux,asm-generic}/export.h defines a weak symbol, __crc_*
    as a placeholder.

    Genksyms writes the version CRCs into the linker script, which will be
    used for filling the __crc_* symbols. The linker script format depends
    on CONFIG_MODULE_REL_CRCS. If it is enabled, __crc_* holds the offset
    to the reference of CRC.

    It is time to get rid of this complexity.

    Now that modpost parses text files (.*.cmd) to collect all the CRCs,
    it can generate C code that will be linked to the vmlinux or modules.

    Generate a new C file, .vmlinux.export.c, which contains the CRCs of
    symbols exported by vmlinux. It is compiled and linked to vmlinux in
    scripts/link-vmlinux.sh.

    Put the CRCs of symbols exported by modules into the existing *.mod.c
    files. No additional build step is needed for modules. As before,
    *.mod.c are compiled and linked to *.ko in scripts/Makefile.modfinal.

    No linker magic is used here. The new C implementation works in the
    same way, whether CONFIG_RELOCATABLE is enabled or not.
    CONFIG_MODULE_REL_CRCS is no longer needed.

    Previously, Kbuild invoked additional $(LD) to update the CRCs in
    objects, but this step is unneeded too.

    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Tested-by: Nathan Chancellor <nathan@kernel.org>
    Tested-by: Nicolas Schier <nicolas@fjasle.eu>
    Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com> # LLVM-14 (x86-64)

Signed-off-by: Donald Dutile <ddutile@redhat.com>
2024-06-17 14:17:17 -04:00
Lucas Zampieri b9f5553f44 Merge: printk: Update the printk series to 6.6-rt-stable
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/3895

Upstream Status: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git/

JIRA: https://issues.redhat.com/browse/RHEL-3987

JIRA: https://issues.redhat.com/browse/RHEL-24205

This series updates the CentOS Stream 9 Kernels TTY Layer to 6.7, and updates printk to 6.6-stable-rt.

After a series of introduced regressions with the _older_ printk NOBKL atomic console implementation (circa LPC-dublin) [0][1][2], the KRTS team has been targeting the the newer NBCON atomic console printk rewrite, which aims to resolve the problems introduced from other implementations. Mainly, NBCON addresses the issue of deadlocks introduced from unsafe contexts, panics, nested NMIs, and other oddities caused by console lock contention.

However, as the newer upstream nbcon implementation is dependent on newer additions to the TTY subsystem, such as updates to UART port lock wrappers, 8250 changes, and additions to serial_core, the printk update requires a substantial update to the TTY layer.

This MR will also facilitate TTY, nbcon and printk updates for the foreseeable future, as newer changes will be based on the current UART Port lock wrappers present in 6.6+ kernels.

This MR effectively undoes the TTY/printk PREEMPT_RT bits responsible for the older printk implementation, pulls up the TTY layer to 6.7, and applies the 6.6-stable-rt (as 6.7.y-rt is now considered 'stale') printk changes (with some minor hunks brought in for panic.c, RCU, and lockdep).



[0] https://issues.redhat.com/browse/RHEL-9380

[1] https://issues.redhat.com/browse/RHEL-15897

[2] https://issues.redhat.com/browse/RHEL-17709


Signed-off-by: Andrew Halaney <ahalaney@redhat.com>

Signed-off-by: Derek Barbosa <debarbos@redhat.com>

Approved-by: Marcelo Ricardo Leitner <mleitner@redhat.com>
Approved-by: Herton R. Krzesinski <herton@redhat.com>
Approved-by: Tony Camuso <tcamuso@redhat.com>
Approved-by: Jocelyn Falempe <jfalempe@redhat.com>
Approved-by: Eric Chanudet <echanude@redhat.com>
Approved-by: Juri Lelli <juri.lelli@redhat.com>

Merged-by: Lucas Zampieri <lzampier@redhat.com>
2024-05-14 14:09:16 +00:00
Andrew Halaney a56a61b376 tty: make tty_operations::write()'s count size_t
JIRA: https://issues.redhat.com/browse/RHEL-24205
Conflicts: tty3270 changes had to be applied by hand due
           to driver being out of date in cs9.

commit 95713967ba52389f7cea75704d0cf048080ec218
Author: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Date:   Thu Aug 10 11:15:03 2023 +0200

    tty: make tty_operations::write()'s count size_t

    Unify with the rest of the code. Use size_t for counts and ssize_t for
    retval.

    Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
    Link: https://lore.kernel.org/r/20230810091510.13006-30-jirislaby@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
2024-05-09 11:25:57 -04:00
Andrew Halaney 8816b6f12e tty: propagate u8 data to tty_operations::put_char()
JIRA: https://issues.redhat.com/browse/RHEL-24205
Conflicts: tty3270 changes had to be applied by hand due
           to driver being out of date in cs9.

commit dcaafbe6ee3b39f2df11a1352f85172f8ade17a5
Author: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Date:   Thu Aug 10 11:15:02 2023 +0200

    tty: propagate u8 data to tty_operations::put_char()

    Data are now typed as u8. Propagate this change to
    tty_operations::put_char().

    Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Alexander Gordeev <agordeev@linux.ibm.com>
    Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
    Cc: Sven Schnelle <svens@linux.ibm.com>
    Cc: Karsten Keil <isdn@linux-pingi.de>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Jiri Slaby <jirislaby@kernel.org>
    Cc: Shawn Guo <shawnguo@kernel.org>
    Cc: Sascha Hauer <s.hauer@pengutronix.de>
    Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
    Cc: Fabio Estevam <festevam@gmail.com>
    Cc: NXP Linux Team <linux-imx@nxp.com>
    Cc: Mathias Nyman <mathias.nyman@intel.com>
    Link: https://lore.kernel.org/r/20230810091510.13006-29-jirislaby@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
2024-05-09 11:25:57 -04:00
Andrew Halaney 269e4d489d tty: propagate u8 data to tty_operations::write()
JIRA: https://issues.redhat.com/browse/RHEL-24205
Conflicts: tty3270 changes had to be applied by hand due
           to driver being out of date in cs9.

commit 69851e4ab8feeb369119a44ddca430c0ee15f0d8
Author: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Date:   Thu Aug 10 11:15:01 2023 +0200

    tty: propagate u8 data to tty_operations::write()

    Data are now typed as u8. Propagate this change to
    tty_operations::write().

    Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
    Cc: Richard Henderson <richard.henderson@linaro.org>
    Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Cc: Johannes Berg <johannes@sipsolutions.net>
    Cc: Chris Zankel <chris@zankel.net>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Vaibhav Gupta <vaibhavgupta40@gmail.com>
    Cc: Jens Taprogge <jens.taprogge@taprogge.org>
    Cc: Karsten Keil <isdn@linux-pingi.de>
    Cc: Scott Branden <scott.branden@broadcom.com>
    Cc: Ulf Hansson <ulf.hansson@linaro.org>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Cc: Paolo Abeni <pabeni@redhat.com>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Alexander Gordeev <agordeev@linux.ibm.com>
    Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
    Cc: Sven Schnelle <svens@linux.ibm.com>
    Cc: David Lin <dtwlin@gmail.com>
    Cc: Johan Hovold <johan@kernel.org>
    Cc: Alex Elder <elder@kernel.org>
    Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com>
    Cc: Jiri Kosina <jikos@kernel.org>
    Cc: David Sterba <dsterba@suse.com>
    Cc: Shawn Guo <shawnguo@kernel.org>
    Cc: Sascha Hauer <s.hauer@pengutronix.de>
    Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
    Cc: Fabio Estevam <festevam@gmail.com>
    Cc: NXP Linux Team <linux-imx@nxp.com>
    Cc: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
    Cc: Oliver Neukum <oneukum@suse.com>
    Cc: Mathias Nyman <mathias.nyman@intel.com>
    Cc: Marcel Holtmann <marcel@holtmann.org>
    Cc: Johan Hedberg <johan.hedberg@gmail.com>
    Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
    Link: https://lore.kernel.org/r/20230810091510.13006-28-jirislaby@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
2024-05-09 11:25:57 -04:00
Andrew Halaney 1bf1029488 tty: nfcon: use console_is_registered()
JIRA: https://issues.redhat.com/browse/RHEL-24205

commit de61a1a3a08307103d4ccfe59724bc05570e5abd
Author: John Ogness <john.ogness@linutronix.de>
Date:   Wed Nov 16 17:27:35 2022 +0106

    tty: nfcon: use console_is_registered()

    Currently CON_ENABLED is being (mis)used to identify if the console
    has been registered. This is not reliable because it can be set even
    though registration failed or it can be unset, even though the console
    is registered. Use console_is_registered() instead.

    Signed-off-by: John Ogness <john.ogness@linutronix.de>
    Reviewed-by: Petr Mladek <pmladek@suse.com>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Petr Mladek <pmladek@suse.com>
    Link: https://lore.kernel.org/r/20221116162152.193147-24-john.ogness@linutronix.de

Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
2024-05-09 11:25:21 -04:00
Andrew Halaney 8811d387ee tty: drop put_tty_driver
JIRA: https://issues.redhat.com/browse/RHEL-24205
Conflicts: Minor context diffs, the replacement of put_tty_driver()
           with tty_driver_kref_put() doesn't depend on any of the
           context diffs to be correct.

commit 9f90a4ddef4e4d3aa4229f6b117d4e57231457b3
Author: Jiri Slaby <jirislaby@kernel.org>
Date:   Fri Jul 23 09:43:16 2021 +0200

    tty: drop put_tty_driver

    put_tty_driver() is an alias for tty_driver_kref_put(). There is no need
    for two exported identical functions, therefore switch all users of
    old put_tty_driver() to new tty_driver_kref_put() and remove the former
    for good.

    Cc: Richard Henderson <rth@twiddle.net>
    Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Jeff Dike <jdike@addtoit.com>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Cc: Chris Zankel <chris@zankel.net>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
    Cc: Jens Taprogge <jens.taprogge@taprogge.org>
    Cc: Karsten Keil <isdn@linux-pingi.de>
    Cc: Scott Branden <scott.branden@broadcom.com>
    Cc: Ulf Hansson <ulf.hansson@linaro.org>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: David Lin <dtwlin@gmail.com>
    Cc: Johan Hovold <johan@kernel.org>
    Cc: Alex Elder <elder@kernel.org>
    Cc: Jiri Slaby <jirislaby@kernel.org>
    Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com>
    Cc: Jiri Kosina <jikos@kernel.org>
    Cc: David Sterba <dsterba@suse.com>
    Cc: Shawn Guo <shawnguo@kernel.org>
    Cc: Sascha Hauer <s.hauer@pengutronix.de>
    Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
    Cc: Fabio Estevam <festevam@gmail.com>
    Cc: NXP Linux Team <linux-imx@nxp.com>
    Cc: Oliver Neukum <oneukum@suse.com>
    Cc: Felipe Balbi <balbi@kernel.org>
    Cc: Mathias Nyman <mathias.nyman@intel.com>
    Cc: Marcel Holtmann <marcel@holtmann.org>
    Cc: Johan Hedberg <johan.hedberg@gmail.com>
    Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
    Acked-by: Alex Elder <elder@linaro.org>
    Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Acked-by: Max Filippov <jcmvbkbc@gmail.com>
    Acked-by: David Sterba <dsterba@suse.com>
    Acked-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Link: https://lore.kernel.org/r/20210723074317.32690-8-jslaby@suse.cz
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
2024-05-09 11:24:13 -04:00
Aristeu Rozanski e48d634498 m68k/mm/motorola: specify pmd_page() type
JIRA: https://issues.redhat.com/browse/RHEL-27740
Tested: by me

commit b213ef6b72b5f1f9d333f8aca05440db4e302b46
Author: Lorenzo Stoakes <lstoakes@gmail.com>
Date:   Thu Jan 12 12:39:30 2023 +0000

    m68k/mm/motorola: specify pmd_page() type

    Failing to specify a specific type here breaks anything that relies on the
    type being explicitly known, such as page_folio().

    Make explicit the type of null pointer returned here.

    Link: https://lkml.kernel.org/r/ad6be2821bbd6af10966b3704568ff458b270d9c.1673526881.git.lstoakes@gmail.com
    Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Vlastimil Babka <vbabka@suse.cz>
    Cc: Christian Brauner <brauner@kernel.org>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Joel Fernandes (Google) <joel@joelfernandes.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Mike Rapoport (IBM) <rppt@kernel.org>
    Cc: William Kucharski <william.kucharski@oracle.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Aristeu Rozanski <arozansk@redhat.com>
2024-04-29 14:33:08 -04:00
Waiman Long 99861cf1f6 futex: Add sys_futex_requeue()
JIRA: https://issues.redhat.com/browse/RHEL-28616

commit 0f4b5f972216782a4acb1ae00dcb55173847c2ff
Author: peterz@infradead.org <peterz@infradead.org>
Date:   Thu, 21 Sep 2023 12:45:15 +0200

    futex: Add sys_futex_requeue()

    Finish off the 'simple' futex2 syscall group by adding
    sys_futex_requeue(). Unlike sys_futex_{wait,wake}() its arguments are
    too numerous to fit into a regular syscall. As such, use struct
    futex_waitv to pass the 'source' and 'destination' futexes to the
    syscall.

    This syscall implements what was previously known as FUTEX_CMP_REQUEUE
    and uses {val, uaddr, flags} for source and {uaddr, flags} for
    destination.

    This design explicitly allows requeueing between different types of
    futex by having a different flags word per uaddr.

    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20230921105248.511860556@noisy.programming.kicks-ass.net

Signed-off-by: Waiman Long <longman@redhat.com>
2024-03-27 10:06:08 -04:00
Waiman Long 04a061fd44 futex: Add sys_futex_wait()
JIRA: https://issues.redhat.com/browse/RHEL-28616

commit cb8c4312afca1b2dc64107e7e7cea81911055612
Author: peterz@infradead.org <peterz@infradead.org>
Date:   Thu, 21 Sep 2023 12:45:12 +0200

    futex: Add sys_futex_wait()

    To complement sys_futex_waitv()/wake(), add sys_futex_wait(). This
    syscall implements what was previously known as FUTEX_WAIT_BITSET
    except it uses 'unsigned long' for the value and bitmask arguments,
    takes timespec and clockid_t arguments for the absolute timeout and
    uses FUTEX2 flags.

    The 'unsigned long' allows FUTEX2_SIZE_U64 on 64bit platforms.

    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20230921105248.164324363@noisy.programming.kicks-ass.net

Signed-off-by: Waiman Long <longman@redhat.com>
2024-03-27 10:06:05 -04:00
Waiman Long ec732a6c2d futex: Add sys_futex_wake()
JIRA: https://issues.redhat.com/browse/RHEL-28616
Conflicts: A merge conflict in arch/x86/entry/syscalls/syscall_64.tbl
	   due to missing upstream x86 shadow stack
	   support merge conflict as listed in merge commit
	   df57721f9a63 ("Merge tag 'x86_shstk_for_6.6-rc1' of
	   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip").

commit 9f6c532f59b20580acf8ede9409c9b8dce6e74e1
Author: peterz@infradead.org <peterz@infradead.org>
Date:   Thu, 21 Sep 2023 12:45:10 +0200

    futex: Add sys_futex_wake()

    To complement sys_futex_waitv() add sys_futex_wake(). This syscall
    implements what was previously known as FUTEX_WAKE_BITSET except it
    uses 'unsigned long' for the bitmask and takes FUTEX2 flags.

    The 'unsigned long' allows FUTEX2_SIZE_U64 on 64bit platforms.

    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20230921105247.936205525@noisy.programming.kicks-ass.net

Signed-off-by: Waiman Long <longman@redhat.com>
2024-03-27 10:06:04 -04:00
Waiman Long 4505ca3385 arch: Register fchmodat2, usually as syscall 452
JIRA: https://issues.redhat.com/browse/RHEL-28616

commit 78252deb023cf0879256fcfbafe37022c390762b
Author: Palmer Dabbelt <palmer@sifive.com>
Date:   Tue, 11 Jul 2023 18:16:05 +0200

    arch: Register fchmodat2, usually as syscall 452

    This registers the new fchmodat2 syscall in most places as nuber 452,
    with alpha being the exception where it's 562.  I found all these sites
    by grepping for fspick, which I assume has found me everything.

    Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
    Signed-off-by: Alexey Gladkov <legion@kernel.org>
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Message-Id: <a677d521f048e4ca439e7080a5328f21eb8e960e.1689092120.git.legion@kernel.org>
    Signed-off-by: Christian Brauner <brauner@kernel.org>

Signed-off-by: Waiman Long <longman@redhat.com>
2024-03-27 10:05:55 -04:00
Prarit Bhargava 28316b66c9 syscalls: Cleanup references to sys_lookup_dcookie()
JIRA: https://issues.redhat.com/browse/RHEL-25415

Conflicts: Drift issues.  Code corresponds to upstream.

commit ccab211af3c2b90ed792eb5f33707d2f0d59fe50
Author: Sohil Mehta <sohil.mehta@intel.com>
Date:   Mon Jul 10 18:51:24 2023 +0000

    syscalls: Cleanup references to sys_lookup_dcookie()

    commit 'be65de6b03aa ("fs: Remove dcookies support")' removed the
    syscall definition for lookup_dcookie.  However, syscall tables still
    point to the old sys_lookup_dcookie() definition. Update syscall tables
    of all architectures to directly point to sys_ni_syscall() instead.

    Signed-off-by: Sohil Mehta <sohil.mehta@intel.com>
    Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
    Acked-by: Namhyung Kim <namhyung@kernel.org> # for perf
    Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:43:26 -04:00
Prarit Bhargava 93771c2f9e mm: Rename arch pte_mkwrite()'s to pte_mkwrite_novma()
JIRA: https://issues.redhat.com/browse/RHEL-25415

Conflicts: Not worried about unsupported arches.  Minor drift issues in
arch/s390/Kconfig.

commit 2f0584f3f4bd60bcc8735172981fb0bff86e74e0
Author: Rick Edgecombe <rick.p.edgecombe@intel.com>
Date:   Mon Jun 12 17:10:27 2023 -0700

    mm: Rename arch pte_mkwrite()'s to pte_mkwrite_novma()

    The x86 Shadow stack feature includes a new type of memory called shadow
    stack. This shadow stack memory has some unusual properties, which requires
    some core mm changes to function properly.

    One of these unusual properties is that shadow stack memory is writable,
    but only in limited ways. These limits are applied via a specific PTE
    bit combination. Nevertheless, the memory is writable, and core mm code
    will need to apply the writable permissions in the typical paths that
    call pte_mkwrite(). The goal is to make pte_mkwrite() take a VMA, so
    that the x86 implementation of it can know whether to create regular
    writable or shadow stack mappings.

    But there are a couple of challenges to this. Modifying the signatures of
    each arch pte_mkwrite() implementation would be error prone because some
    are generated with macros and would need to be re-implemented. Also, some
    pte_mkwrite() callers operate on kernel memory without a VMA.

    So this can be done in a three step process. First pte_mkwrite() can be
    renamed to pte_mkwrite_novma() in each arch, with a generic pte_mkwrite()
    added that just calls pte_mkwrite_novma(). Next callers without a VMA can
    be moved to pte_mkwrite_novma(). And lastly, pte_mkwrite() and all callers
    can be changed to take/pass a VMA.

    Start the process by renaming pte_mkwrite() to pte_mkwrite_novma() and
    adding the pte_mkwrite() wrapper in linux/pgtable.h. Apply the same
    pattern for pmd_mkwrite(). Since not all archs have a pmd_mkwrite_novma(),
    create a new arch config HAS_HUGE_PAGE that can be used to tell if
    pmd_mkwrite() should be defined. Otherwise in the !HAS_HUGE_PAGE cases the
    compiler would not be able to find pmd_mkwrite_novma().

    No functional change.

    Suggested-by: Linus Torvalds <torvalds@linuxfoundation.org>
    Signed-off-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
    Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
    Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: David Hildenbrand <david@redhat.com>
    Link: https://lore.kernel.org/lkml/CAHk-=wiZjSu7c9sFYZb3q04108stgHff2wfbokGCCgW7riz+8Q@mail.gmail.com/
    Link: https://lore.kernel.org/all/20230613001108.3040476-2-rick.p.edgecombe%40intel.com

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:43:12 -04:00
Prarit Bhargava 8f4ce17181 fork: Generalize PF_IO_WORKER handling
JIRA: https://issues.redhat.com/browse/RHEL-25415

Conflicts: Did not apply to some unsupported arches.  Those changes have
been dropped.  Add idle_dummy() function here instead of backporting
out-of-scope linux commit 36cb0e1cda64 ("fork: Explicity test for idle
tasks in copy_thread")

commit 5bd2e97c868a8a44470950ed01846cab6328e540
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Tue Apr 12 10:18:48 2022 -0500

    fork: Generalize PF_IO_WORKER handling

    Add fn and fn_arg members into struct kernel_clone_args and test for
    them in copy_thread (instead of testing for PF_KTHREAD | PF_IO_WORKER).
    This allows any task that wants to be a user space task that only runs
    in kernel mode to use this functionality.

    The code on x86 is an exception and still retains a PF_KTHREAD test
    because x86 unlikely everything else handles kthreads slightly
    differently than user space tasks that start with a function.

    The functions that created tasks that start with a function
    have been updated to set ".fn" and ".fn_arg" instead of
    ".stack" and ".stack_size".  These functions are fork_idle(),
    create_io_thread(), kernel_thread(), and user_mode_thread().

    Link: https://lkml.kernel.org/r/20220506141512.516114-4-ebiederm@xmission.com
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:43:04 -04:00
Prarit Bhargava 64c1109ba6 uninline elf_core_copy_task_fpregs() (and lose pt_regs argument)
JIRA: https://issues.redhat.com/browse/RHEL-25415

Conflicts: Minor drift issues.

commit bdbadfcc37c5c8f9f2a401a18eae71b0c28799ee
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Sat Sep 3 20:23:56 2022 -0400

    [elf][non-regset] uninline elf_core_copy_task_fpregs() (and lose pt_regs argument)

    Don't bother with pointless macros - we are not sharing it with aout coredumps
    anymore.  Just convert the underlying functions to the same arguments (nobody
    uses regs, actually) and call them elf_core_copy_task_fpregs().  And unexport
    the entire bunch, while we are at it.

    [added missing includes in arch/{csky,m68k,um}/kernel/process.c to avoid extra
    warnings about the lack of externs getting added to huge piles for those
    files.  Pointless, but...]

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:42:49 -04:00
Prarit Bhargava 0b59bcc2a7 mm: remove kern_addr_valid() completely
JIRA: https://issues.redhat.com/browse/RHEL-25415

Conflicts: Not worried about unsupported arches.

commit e025ab842ec35225b1a8e163d1f311beb9e38ce9
Author: Kefeng Wang <wangkefeng.wang@huawei.com>
Date:   Tue Oct 18 15:40:14 2022 +0800

    mm: remove kern_addr_valid() completely

    Most architectures (except arm64/x86/sparc) simply return 1 for
    kern_addr_valid(), which is only used in read_kcore(), and it calls
    copy_from_kernel_nofault() which could check whether the address is a
    valid kernel address.  So as there is no need for kern_addr_valid(), let's
    remove it.

    Link: https://lkml.kernel.org/r/20221018074014.185687-1-wangkefeng.wang@huawei.com
    Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>     [m68k]
    Acked-by: Heiko Carstens <hca@linux.ibm.com>            [s390]
    Acked-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Helge Deller <deller@gmx.de>                  [parisc]
    Acked-by: Michael Ellerman <mpe@ellerman.id.au>         [powerpc]
    Acked-by: Guo Ren <guoren@kernel.org>                   [csky]
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>     [arm64]
    Cc: Alexander Gordeev <agordeev@linux.ibm.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Cc: <aou@eecs.berkeley.edu>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Chris Zankel <chris@zankel.net>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Dinh Nguyen <dinguyen@kernel.org>
    Cc: Greg Ungerer <gerg@linux-m68k.org>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Huacai Chen <chenhuacai@kernel.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
    Cc: Johannes Berg <johannes@sipsolutions.net>
    Cc: Jonas Bonn <jonas@southpole.se>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Michal Simek <monstr@monstr.eu>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Palmer Dabbelt <palmer@rivosinc.com>
    Cc: Paul Walmsley <paul.walmsley@sifive.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Richard Henderson <richard.henderson@linaro.org>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Stafford Horne <shorne@gmail.com>
    Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
    Cc: Sven Schnelle <svens@linux.ibm.com>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Vineet Gupta <vgupta@kernel.org>
    Cc: Will Deacon <will@kernel.org>
    Cc: Xuerui Wang <kernel@xen0n.name>
    Cc: Yoshinori Sato <ysato@users.osdn.me>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:42:47 -04:00
Prarit Bhargava 47f9c3fa51 kernel: exit: cleanup release_thread()
JIRA: https://issues.redhat.com/browse/RHEL-25415

Conflicts: Not worried about unsupported arches, and there are some
minor drift issues.

commit 2be9880dc87342dc7ae459c9ea5c9ee2a45b33d8
Author: Kefeng Wang <wangkefeng.wang@huawei.com>
Date:   Fri Aug 19 09:44:06 2022 +0800

    kernel: exit: cleanup release_thread()

    Only x86 has own release_thread(), introduce a new weak release_thread()
    function to clean empty definitions in other ARCHs.

    Link: https://lkml.kernel.org/r/20220819014406.32266-1-wangkefeng.wang@huawei.com
    Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
    Acked-by: Guo Ren <guoren@kernel.org>                           [csky]
    Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Brian Cain <bcain@quicinc.com>
    Acked-by: Michael Ellerman <mpe@ellerman.id.au>                 [powerpc]
    Acked-by: Stafford Horne <shorne@gmail.com>                     [openrisc]
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>             [arm64]
    Acked-by: Huacai Chen <chenhuacai@kernel.org>                   [LoongArch]
    Cc: Alexander Gordeev <agordeev@linux.ibm.com>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Chris Zankel <chris@zankel.net>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Dinh Nguyen <dinguyen@kernel.org>
    Cc: Guo Ren <guoren@kernel.org> [csky]
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
    Cc: Johannes Berg <johannes@sipsolutions.net>
    Cc: Jonas Bonn <jonas@southpole.se>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Michal Simek <monstr@monstr.eu>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Paul Walmsley <paul.walmsley@sifive.com>
    Cc: Richard Henderson <richard.henderson@linaro.org>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
    Cc: Sven Schnelle <svens@linux.ibm.com>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Vineet Gupta <vgupta@kernel.org>
    Cc: Will Deacon <will@kernel.org>
    Cc: Xuerui Wang <kernel@xen0n.name>
    Cc: Yoshinori Sato <ysato@users.osdn.me>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:42:40 -04:00
Prarit Bhargava 5022b3efeb fork: Pass struct kernel_clone_args into copy_thread
JIRA: https://issues.redhat.com/browse/RHEL-25415

commit c5febea0956fd3874e8fb59c6f84d68f128d68f8
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Fri Apr 8 18:07:50 2022 -0500

    fork: Pass struct kernel_clone_args into copy_thread

    With io_uring we have started supporting tasks that are for most
    purposes user space tasks that exclusively run code in kernel mode.

    The kernel task that exec's init and tasks that exec user mode
    helpers are also user mode tasks that just run kernel code
    until they call kernel execve.

    Pass kernel_clone_args into copy_thread so these oddball
    tasks can be supported more cleanly and easily.

    v2: Fix spelling of kenrel_clone_args on h8300
    Link: https://lkml.kernel.org/r/20220506141512.516114-2-ebiederm@xmission.com
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>

Omitted-fix: 0626e1c9f3e5 LoongArch: Fix copy_thread() build errors
	loongarch not supported in RHEL9

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:42:34 -04:00
Prarit Bhargava 2a0d95608b net: unexport csum_and_copy_{from,to}_user
JIRA: https://issues.redhat.com/browse/RHEL-25415

commit 6308499b5e99c0c903fde2c605e41d9a86c4be6c
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Apr 29 14:37:59 2022 -0700

    net: unexport csum_and_copy_{from,to}_user

    csum_and_copy_from_user and csum_and_copy_to_user are exported by a few
    architectures, but not actually used in modular code.  Drop the exports.

    Link: https://lkml.kernel.org/r/20220421070440.1282704-1-hch@lst.de
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Jakub Kicinski <kuba@kernel.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
    Cc: David Miller <davem@davemloft.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:42:34 -04:00
Prarit Bhargava 86f237f412 arch: syscalls: simplify uapi/kapi directory creation
JIRA: https://issues.redhat.com/browse/RHEL-25415

commit bbc90bc1bd4a63121bae9cbfafe1e1f0beaf24b1
Author: Masahiro Yamada <masahiroy@kernel.org>
Date:   Sun Feb 27 18:10:24 2022 +0900

    arch: syscalls: simplify uapi/kapi directory creation

    $(shell ...) expands to empty. There is no need to assign it to _dummy.

    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:42:30 -04:00
Prarit Bhargava 4cdb275124 signal.h: add linux/signal.h and asm/signal.h to UAPI compile-test coverage
JIRA: https://issues.redhat.com/browse/RHEL-25415

commit 72113d0a7d90d950c7c9a87ab905bffb6bc5752d
Author: Masahiro Yamada <masahiroy@kernel.org>
Date:   Thu Feb 10 11:11:24 2022 +0900

    signal.h: add linux/signal.h and asm/signal.h to UAPI compile-test coverage

    linux/signal.h and asm/signal.h are currently excluded from the UAPI
    compile-test because of the errors like follows:

        HDRTEST usr/include/asm/signal.h
      In file included from <command-line>:
      ./usr/include/asm/signal.h:103:9: error: unknown type name ‘size_t’
        103 |         size_t ss_size;
            |         ^~~~~~

    The errors can be fixed by replacing size_t with __kernel_size_t.

    Then, remove the no-header-test entries from user/include/Makefile.

    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Omitted-fix: be92e1ded1d1 sparc64: fix building assembly files
	sparc64 is not supported in RHEL0

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:42:28 -04:00
Prarit Bhargava 31e740cdb5 asm/user.h: killed unused macros
JIRA: https://issues.redhat.com/browse/RHEL-25415

commit 0c9dceb9bb6dadbf340f09c69e598d4729bbb86a
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Tue Jan 4 13:59:47 2022 -0500

    asm/user.h: killed unused macros

    Some of them used to be used by libbfd for a.out coredump handling.
    Seeing that
            * libbfd has their copies anyway
            * we don't export them into userland headers
            * we don't support a.out coredumps anymore
    let's bury the definitions.  They never had in-kernel
    users anyway...

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:42:28 -04:00
Scott Weaver c6b6a5d66d Merge: RHEL-19959: fix GSM multiplexing race condition
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/3527

JIRA: https://issues.redhat.com/browse/RHEL-19959

CVE: CVE-2023-6546

This driver has not been updated for a while, which created a chain of dependencies to backport the fix.

Signed-off-by: Wander Lairson Costa <wander@redhat.com>

Approved-by: John W. Linville <linville@redhat.com>
Approved-by: Julia Denham <jdenham@redhat.com>

Merged-by: Scott Weaver <scweaver@redhat.com>
2024-02-21 09:22:57 -05:00
Desnes Nunes 1e9f734b9d Kconfig: introduce HAS_IOPORT option and select it as necessary
JIRA: https://issues.redhat.com/browse/RHEL-22462
Conflicts:
* Ignoring CONFIG changes on architectures that aren't supported

commit fcbfe8121a45152a3cfbe1c28c96a3b611b7347d
Author: Niklas Schnelle <schnelle@linux.ibm.com>
Date: Thu, 23 Mar 2023 17:33:52 +0100

  We introduce a new HAS_IOPORT Kconfig option to indicate support for I/O
  Port access. In a future patch HAS_IOPORT=n will disable compilation of
  the I/O accessor functions inb()/outb() and friends on architectures
  which can not meaningfully support legacy I/O spaces such as s390.

  The following architectures do not select HAS_IOPORT:

  * ARC
  * C-SKY
  * Hexagon
  * Nios II
  * OpenRISC
  * s390
  * User-Mode Linux
  * Xtensa

  All other architectures select HAS_IOPORT at least conditionally.

  The "depends on" relations on HAS_IOPORT in drivers as well as ifdefs
  for HAS_IOPORT specific sections will be added in subsequent patches on
  a per subsystem basis.

  Co-developed-by: Arnd Bergmann <arnd@kernel.org>
  Signed-off-by: Arnd Bergmann <arnd@kernel.org>
  Acked-by: Johannes Berg <johannes@sipsolutions.net> # for ARCH=um
  Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
  Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
  Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Signed-off-by: Desnes Nunes <desnesn@redhat.com>
2024-02-05 20:42:26 -03:00
Wander Lairson Costa 6bda6cbd4a
tty: stop using alloc_tty_driver
JIRA: https://issues.redhat.com/browse/RHEL-19959
CVE: CVE-2023-6546

Conflicts: drop the xtensa hunks as we don't support this architecture.

commit 39b7b42be4a82f036c392abc71724b4b7752ac03
Author: Jiri Slaby <jirislaby@kernel.org>
Date:   Fri Jul 23 09:43:13 2021 +0200

    tty: stop using alloc_tty_driver

    alloc_tty_driver was deprecated by tty_alloc_driver in commit
    7f0bc6a68e (TTY: pass flags to alloc_tty_driver) in 2012.

    I never got into eliminating alloc_tty_driver until now. So we still
    have two functions for allocating drivers which might be confusing. So
    get rid of alloc_tty_driver uses to eliminate it for good in the next
    patch.

    Note we need to switch return value checking as tty_alloc_driver uses
    ERR_PTR. And flags are now a parameter of tty_alloc_driver.

    Cc: Richard Henderson <rth@twiddle.net>(odd fixer:ALPHA PORT)
    Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Jeff Dike <jdike@addtoit.com>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Cc: Chris Zankel <chris@zankel.net>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
    Cc: Jens Taprogge <jens.taprogge@taprogge.org>
    Cc: Karsten Keil <isdn@linux-pingi.de>
    Cc: Ulf Hansson <ulf.hansson@linaro.org>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com>
    Cc: Jiri Kosina <jikos@kernel.org>
    Cc: David Sterba <dsterba@suse.com>
    Cc: Shawn Guo <shawnguo@kernel.org>
    Cc: Sascha Hauer <s.hauer@pengutronix.de>
    Cc: Oliver Neukum <oneukum@suse.com>
    Cc: Felipe Balbi <balbi@kernel.org>
    Cc: Johan Hovold <johan@kernel.org>
    Cc: Marcel Holtmann <marcel@holtmann.org>
    Cc: Johan Hedberg <johan.hedberg@gmail.com>
    Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
    Acked-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
    Acked-by: Max Filippov <jcmvbkbc@gmail.com>
    Acked-by: David Sterba <dsterba@suse.com>
    Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Link: https://lore.kernel.org/r/20210723074317.32690-5-jslaby@suse.cz
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Wander Lairson Costa <wander@redhat.com>
2024-01-24 12:00:11 -03:00
Wander Lairson Costa f89b79325d
tty: don't store semi-state into tty drivers
JIRA: https://issues.redhat.com/browse/RHEL-19959
CVE: CVE-2023-6546

Conflicts: drop xtensa hunks as we don't support this architecture.

commit 0524513afe45a4a79f418c0377160b7712cab78a
Author: Jiri Slaby <jirislaby@kernel.org>
Date:   Fri Jul 23 09:43:12 2021 +0200

    tty: don't store semi-state into tty drivers

    When a tty driver pointer is used as a return value of struct
    console's device() hook, don't store a semi-state into global variable
    which holds the tty driver. It could mean console::device() would return
    a bogus value. This is important esp. after the next patch where we
    switch from alloc_tty_driver to tty_alloc_driver. tty_alloc_driver
    returns ERR_PTR in case of error and that might have unexpected results
    as the code doesn't expect this.

    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Chris Zankel <chris@zankel.net>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com>
    Cc: Felipe Balbi <balbi@kernel.org>
    Reviewed-by: Max Filippov <jcmvbkbc@gmail.com>
    Acked-by: Helge Deller <deller@gmx.de>  # parisc
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Link: https://lore.kernel.org/r/20210723074317.32690-4-jslaby@suse.cz
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Wander Lairson Costa <wander@redhat.com>
2024-01-24 12:00:11 -03:00
Thomas Huth 490ec85e6c cachestat: wire up cachestat for other architectures
JIRA: https://issues.redhat.com/browse/RHEL-12454

commit 946e697c69ffeeefdd84dad90eac307284df46be
Author: Nhat Pham <nphamcs@gmail.com>
Date:   Wed May 10 12:58:06 2023 -0700

    cachestat: wire up cachestat for other architectures

    cachestat is previously only wired in for x86 (and architectures using
    the generic unistd.h table):

    https://lore.kernel.org/lkml/20230503013608.2431726-1-nphamcs@gmail.com/

    This patch wires cachestat in for all the other architectures.

    [nphamcs@gmail.com: wire up cachestat for arm64]
      Link: https://lkml.kernel.org/r/20230511092843.3896327-1-nphamcs@gmail.com
    Link: https://lkml.kernel.org/r/20230510195806.2902878-1-nphamcs@gmail.com
    Signed-off-by: Nhat Pham <nphamcs@gmail.com>
    Tested-by: Michael Ellerman <mpe@ellerman.id.au>        [powerpc]
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>     [m68k]
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Heiko Carstens <hca@linux.ibm.com>            [s390]
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-11-08 08:11:38 +01:00
Paolo Bonzini 538bf6f332 mm, treewide: redefine MAX_ORDER sanely
JIRA: https://issues.redhat.com/browse/RHEL-10059

MAX_ORDER currently defined as number of orders page allocator supports:
user can ask buddy allocator for page order between 0 and MAX_ORDER-1.

This definition is counter-intuitive and lead to number of bugs all over
the kernel.

Change the definition of MAX_ORDER to be inclusive: the range of orders
user can ask from buddy allocator is 0..MAX_ORDER now.

[kirill@shutemov.name: fix min() warning]
  Link: https://lkml.kernel.org/r/20230315153800.32wib3n5rickolvh@box
[akpm@linux-foundation.org: fix another min_t warning]
[kirill@shutemov.name: fixups per Zi Yan]
  Link: https://lkml.kernel.org/r/20230316232144.b7ic4cif4kjiabws@box.shutemov.name
[akpm@linux-foundation.org: fix underlining in docs]
  Link: https://lore.kernel.org/oe-kbuild-all/202303191025.VRCTk6mP-lkp@intel.com/
Link: https://lkml.kernel.org/r/20230315113133.11326-11-kirill.shutemov@linux.intel.com
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reviewed-by: Michael Ellerman <mpe@ellerman.id.au>	[powerpc]
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 23baf831a32c04f9a968812511540b1b3e648bf5)

[RHEL: Fix conflicts by changing MAX_ORDER - 1 to MAX_ORDER,
       ">= MAX_ORDER" to "> MAX_ORDER", etc.]

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-10-30 09:12:37 +01:00
Paolo Bonzini 1014298423 arch: mm: rename FORCE_MAX_ZONEORDER to ARCH_FORCE_MAX_ORDER
JIRA: https://issues.redhat.com/browse/RHEL-10059

This Kconfig option is used by individual arch to set its desired
MAX_ORDER.  Rename it to reflect its actual use.

Link: https://lkml.kernel.org/r/20220815143959.1511278-1-zi.yan@sent.com
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Zi Yan <ziy@nvidia.com>
Acked-by: Guo Ren <guoren@kernel.org>			[csky]
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>	[arm64]
Acked-by: Huacai Chen <chenhuacai@kernel.org>		[LoongArch]
Acked-by: Michael Ellerman <mpe@ellerman.id.au>		[powerpc]
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Taichi Sugaya <sugaya.taichi@socionext.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>
Cc: Qin Jian <qinjian@cqplus1.com>
Cc: Guo Ren <guoren@kernel.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Chris Zankel <chris@zankel.net>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 0192445cb2f7ed1cd7a95a0fc8c7645480baba25)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

[RHEL: remove missing files + adjust configs in redhat/]
2023-10-30 09:09:37 +01:00
Jan Stancek 40b987719b Merge: update drivers/cpuidle to match v6.3
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/2651

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2181277

A few qcom and RISC-V commits had to be dropped as centos-stream-9 did not have support for the underlying drivers.

Signed-off-by: Mark Langsdorf <mlangsdo@redhat.com>

Approved-by: Eric Chanudet <echanude@redhat.com>
Approved-by: Adrien Thierry <athierry@redhat.com>
Approved-by: Prarit Bhargava <prarit@redhat.com>
Approved-by: Phil Auld <pauld@redhat.com>
Approved-by: David Arcari <darcari@redhat.com>

Signed-off-by: Jan Stancek <jstancek@redhat.com>
2023-07-26 14:50:12 +02:00
Shaoqin Huang bf7390f1c7 gpiolib: remove asm-generic/gpio.h
Bugzilla: https://bugzilla.redhat.com/2183344

Conflicts: Minor MAINTAINERS conflict.

commit eccb7a00613c804ec7244676090bf6ee43a23da2
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Wed Feb 8 17:37:22 2023 +0200

    gpiolib: remove asm-generic/gpio.h

    The asm-generic/gpio.h file is now always included when
    using gpiolib, so just move its contents into linux/gpio.h
    with a few minor simplifications.

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
2023-06-19 23:50:51 -04:00
Shaoqin Huang ac7dcaaa66 gpiolib: coldfire: remove custom asm/gpio.h
Bugzilla: https://bugzilla.redhat.com/2183344

commit 94d20f7d674d589e94aea77e2cbe37fc58541d04
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Tue Feb 7 16:29:42 2023 +0200

    gpiolib: coldfire: remove custom asm/gpio.h

    Now that coldfire is the only user of a custom asm/gpio.h, it seems
    better to remove this as well, and have the same interface everywhere.

    For the gpio_get_value()/gpio_set_value()/gpio_to_irq(), gpio_cansleep()
    functions, the custom version is only a micro-optimization to inline the
    function for constant GPIO numbers. However, in the coldfire defconfigs,
    I was unable to find a single instance where this micro-optimization
    was even used, and according to Geert the only user appears to be the
    QSPI chip that is disabled everywhere.

    The custom gpio_request_one() function is even less useful, as it is
    guarded by an #ifdef that is never true.

    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
2023-06-19 23:50:51 -04:00
Shaoqin Huang eda517d123 gpio: Remove unused and obsoleted irq_to_gpio()
Bugzilla: https://bugzilla.redhat.com/2183344

Conflicts: Minor Document difference.

commit a5ec171efdc6151d3a51c4e1a59abb3ab9d8b710
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date:   Thu Jan 12 15:39:42 2023 +0200

    gpio: Remove unused and obsoleted irq_to_gpio()

    irq_to_gpio() is legacy and unused API, remove it for good.

    This leaves gpio_to_irq() as it's used yet in many places.
    Nevertheless, removal of its counterpart is a good signal
    to whoever even trying to consider using them that do not.

    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>
2023-06-19 23:50:49 -04:00
Mark Langsdorf 7187475874 objtool/idle: Validate __cpuidle code as noinstr
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2181277
Conflicts:
       arch/loongarch/kernel/vmlinux.lds.S - not supported in
centos-stream-9 so this part was dropped
       include/linux/compiler_types.h - slight context differences,
in that centos-stream-9 was missing __no_sanitize_memory. Adding
that to match upstream causes huge compile errors, so I left it
off to match centos-stream-9.

commit 2b5a0e425e6e319b1978db1e9564f6af4228a567
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Thu Jan 12 20:43:31 2023 +0100

Idle code is very like entry code in that RCU isn't available. As
such, add a little validation.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Tony Lindgren <tony@atomide.com>
Tested-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Frederic Weisbecker <frederic@kernel.org>
Link: https://lore.kernel.org/r/20230112195540.373461409@infradead.org
Signed-off-by: Mark Langsdorf <mlangsdo@redhat.com>
2023-06-09 15:48:40 -04:00
Prarit Bhargava ab70056ac6 mm/mempolicy: wire up syscall set_mempolicy_home_node
Bugzilla: https://bugzilla.redhat.com/2164042

commit 21b084fdf2a49ca1634e8e360e9ab6f9ff0dee11
Author: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Date:   Fri Jan 14 14:08:21 2022 -0800

    mm/mempolicy: wire up syscall set_mempolicy_home_node

    Link: https://lkml.kernel.org/r/20211202123810.267175-4-aneesh.kumar@linux.ibm.com
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Cc: Ben Widawsky <ben.widawsky@intel.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Feng Tang <feng.tang@intel.com>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Randy Dunlap <rdunlap@infradead.org>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Huang Ying <ying.huang@intel.com>
    Cc: <linux-api@vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Omitted-fix: 6e10e21915c1 ("tools headers UAPI: Sync files changed by...")
		Not typically done for RHEL
Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2023-04-24 14:56:56 -04:00
Jan Stancek c3b7a93516 Merge: Update locking code to upstream 6.1 + follow up fixes
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/2146

```
Omitted-fix: 807ff7ed34d2 ("futex: add missing rtmutex.h include")
	part of patchset not being backported: https://patchwork.freedesktop.org/series/102340/
	tiny change to locking code is only incidental

Omitted-fix: f5d39b020809 ("freezer,sched: Rewrite core freezer logic")
	changes to futex subsystem are only incidental to larger rewrite of freezer logic

Omitted-fix: e67198cc05b8 ("context_tracking: Take idle eqs entrypoints over RCU")
	part of a larger patchset implementing RCU context tracking,
	http://kerneloscope.usersys.redhat.com/series/08ab707dfc83d6ab7829c1c0f39b0d4530fa42a8/

Omitted-fix: 79dbd006a6d6 ("kmsan: disable instrumentation of unsupported common kernel code")
	part of larget patchset implementing KMSAN
	http://kerneloscope.usersys.redhat.com/series/4ca8cc8d1bbe582bfc7a4d80bd72cfd8d3d0e2e8/

Omitted-fix: 81895a65ec63 ("treewide: use prandom_u32_max() when possible, part 1")
	treewide changes to random number generation
	part of patchset: http://kerneloscope.usersys.redhat.com/series/8b3ccbc1f1f91847160951aa15dd27c22dddcb49/

Arnd Bergmann (4):
  futex: Remove futex_cmpxchg detection
  futex: Ensure futex_atomic_cmpxchg_inatomic() is present
  futex: Fix sparc32/m68k/nds32 build regression
  futex: Fix additional regressions

Guo Jin (1):
  locking: Fix qspinlock/x86 inline asm error

Joel Savitz (1):
  Revert "locking/rwsem: Conditionally wake waiters in reader/writer
    slowpaths"

Mathieu Desnoyers (1):
  futex: Fix futex_waitv() hrtimer debug object leak on kcalloc error

Namhyung Kim (2):
  locking: Apply contention tracepoints in the slow path
  locking: Add __lockfunc to slow path functions

Peter Zijlstra (1):
  locking/mutex: Make contention tracepoints more consistent wrt
    adaptive spinning

Sebastian Andrzej Siewior (1):
  futex: Remove a PREEMPT_RT_FULL reference.

Tetsuo Handa (1):
  locking/lockdep: Print more debug information - report name and key
    when look_up_lock_class() got confused

Waiman Long (9):
  locking/rwsem: Make handoff bit handling more consistent
  locking/rwsem: Conditionally wake waiters in reader/writer slowpaths
  locking/rwsem: No need to check for handoff bit if wait queue empty
  locking/rwsem: Always try to wake waiters in out_nolock path
  locking/qrwlock: Change "queue rwlock" to "queued rwlock"
  locking/rwsem: Allow slowpath writer to ignore handoff bit if not set
    by first waiter
  locking/rwsem: Prevent non-first waiter from spinning in down_write()
    slowpath
  locking/rwsem: Disable preemption in all down_read*() and up_read()
    code paths
  locking/rwsem: Disable preemption in all down_write*() and up_write()
    code paths

Wander Lairson Costa (1):
  rtmutex: Ensure that the top waiter is always woken up

Xiu Jianfeng (1):
  lockdep: Use memset_startat() helper in reinit_class()

tangmeng (1):
  kernel/lockdep: move lockdep sysctls to its own file

 arch/arc/Kconfig                          |   1 -
 arch/arm64/Kconfig                        |   1 -
 arch/csky/Kconfig                         |   1 -
 arch/m68k/Kconfig                         |   1 -
 arch/mips/include/asm/futex.h             |  27 +-
 arch/riscv/Kconfig                        |   1 -
 arch/s390/Kconfig                         |   1 -
 arch/sh/Kconfig                           |   1 -
 arch/um/Kconfig                           |   1 -
 arch/um/kernel/skas/uaccess.c             |   1 -
 arch/x86/include/asm/qspinlock_paravirt.h |  13 +-
 arch/xtensa/Kconfig                       |   1 -
 arch/xtensa/include/asm/futex.h           |   8 +-
 include/asm-generic/futex.h               |  31 +--
 include/asm-generic/qrwlock.h             |  28 +-
 include/asm-generic/qrwlock_types.h       |   2 +-
 include/linux/lockdep.h                   |   4 -
 include/trace/events/lock.h               |   4 +-
 init/Kconfig                              |   9 +-
 kernel/futex/core.c                       |  35 ---
 kernel/futex/futex.h                      |   6 -
 kernel/futex/pi.c                         |   2 +-
 kernel/futex/syscalls.c                   |  33 +--
 kernel/locking/lockdep.c                  |  46 +++-
 kernel/locking/mutex.c                    |  15 +-
 kernel/locking/percpu-rwsem.c             |   5 +
 kernel/locking/qrwlock.c                  |  21 +-
 kernel/locking/qspinlock.c                |   7 +-
 kernel/locking/qspinlock_paravirt.h       |   4 +-
 kernel/locking/rtmutex.c                  |  16 +-
 kernel/locking/rwbase_rt.c                |   7 +
 kernel/locking/rwsem.c                    | 311 +++++++++++++---------
 kernel/locking/semaphore.c                |  15 +-
 kernel/sysctl.c                           |  21 --
 34 files changed, 366 insertions(+), 314 deletions(-)

--
2.31.1
```

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2176147
Signed-off-by: Joel Savitz <jsavitz@redhat.com>

Approved-by: Waiman Long <longman@redhat.com>
Approved-by: Artem Savkov <asavkov@redhat.com>
Approved-by: Phil Auld <pauld@redhat.com>
Approved-by: Prarit Bhargava <prarit@redhat.com>

Signed-off-by: Jan Stancek <jstancek@redhat.com>
2023-04-16 14:59:54 +02:00
Chris von Recklinghausen 23ba6a23ee arch/*/: remove CONFIG_VIRT_TO_BUS
Conflicts: drop changes to arch/alpha/include/asm/io.h - unsupported config

Bugzilla: https://bugzilla.redhat.com/2160210

commit 4313a24985f00340eeb591fd66aa2b257b9e0a69
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Mon May 23 21:59:02 2022 +0200

    arch/*/: remove CONFIG_VIRT_TO_BUS

    All architecture-independent users of virt_to_bus() and bus_to_virt()
    have been fixed to use the dma mapping interfaces or have been
    removed now.  This means the definitions on most architectures, and the
    CONFIG_VIRT_TO_BUS symbol are now obsolete and can be removed.

    The only exceptions to this are a few network and scsi drivers for m68k
    Amiga and VME machines and ppc32 Macintosh. These drivers work correctly
    with the old interfaces and are probably not worth changing.

    On alpha and parisc, virt_to_bus() were still used in asm/floppy.h.
    alpha can use isa_virt_to_bus() like x86 does, and parisc can just
    open-code the virt_to_phys() here, as this is architecture specific
    code.

    I tried updating the bus-virt-phys-mapping.rst documentation, which
    started as an email from Linus to explain some details of the Linux-2.0
    driver interfaces. The bits about virt_to_bus() were declared obsolete
    backin 2000, and the rest is not all that relevant any more, so in the
    end I just decided to remove the file completely.

    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
    Acked-by: Helge Deller <deller@gmx.de> # parisc
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Signed-off-by: Chris von Recklinghausen <crecklin@redhat.com>
2023-03-24 11:19:15 -04:00
Chris von Recklinghausen c48611f141 mm: avoid unnecessary page fault retires on shared memory types
Bugzilla: https://bugzilla.redhat.com/2160210

commit d92725256b4f22d084b813b37ddc394da79aacab
Author: Peter Xu <peterx@redhat.com>
Date:   Mon May 30 14:34:50 2022 -0400

    mm: avoid unnecessary page fault retires on shared memory types

    I observed that for each of the shared file-backed page faults, we're very
    likely to retry one more time for the 1st write fault upon no page.  It's
    because we'll need to release the mmap lock for dirty rate limit purpose
    with balance_dirty_pages_ratelimited() (in fault_dirty_shared_page()).

    Then after that throttling we return VM_FAULT_RETRY.

    We did that probably because VM_FAULT_RETRY is the only way we can return
    to the fault handler at that time telling it we've released the mmap lock.

    However that's not ideal because it's very likely the fault does not need
    to be retried at all since the pgtable was well installed before the
    throttling, so the next continuous fault (including taking mmap read lock,
    walk the pgtable, etc.) could be in most cases unnecessary.

    It's not only slowing down page faults for shared file-backed, but also add
    more mmap lock contention which is in most cases not needed at all.

    To observe this, one could try to write to some shmem page and look at
    "pgfault" value in /proc/vmstat, then we should expect 2 counts for each
    shmem write simply because we retried, and vm event "pgfault" will capture
    that.

    To make it more efficient, add a new VM_FAULT_COMPLETED return code just to
    show that we've completed the whole fault and released the lock.  It's also
    a hint that we should very possibly not need another fault immediately on
    this page because we've just completed it.

    This patch provides a ~12% perf boost on my aarch64 test VM with a simple
    program sequentially dirtying 400MB shmem file being mmap()ed and these are
    the time it needs:

      Before: 650.980 ms (+-1.94%)
      After:  569.396 ms (+-1.38%)

    I believe it could help more than that.

    We need some special care on GUP and the s390 pgfault handler (for gmap
    code before returning from pgfault), the rest changes in the page fault
    handlers should be relatively straightforward.

    Another thing to mention is that mm_account_fault() does take this new
    fault as a generic fault to be accounted, unlike VM_FAULT_RETRY.

    I explicitly didn't touch hmm_vma_fault() and break_ksm() because they do
    not handle VM_FAULT_RETRY even with existing code, so I'm literally keeping
    them as-is.

    Link: https://lkml.kernel.org/r/20220530183450.42886-1-peterx@redhat.com
    Signed-off-by: Peter Xu <peterx@redhat.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Johannes Weiner <hannes@cmpxchg.org>
    Acked-by: Vineet Gupta <vgupta@kernel.org>
    Acked-by: Guo Ren <guoren@kernel.org>
    Acked-by: Max Filippov <jcmvbkbc@gmail.com>
    Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
    Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
    Acked-by: Catalin Marinas <catalin.marinas@arm.com>
    Reviewed-by: Alistair Popple <apopple@nvidia.com>
    Reviewed-by: Ingo Molnar <mingo@kernel.org>
    Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>    [arm part]
    Acked-by: Heiko Carstens <hca@linux.ibm.com>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Stafford Horne <shorne@gmail.com>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Johannes Berg <johannes@sipsolutions.net>
    Cc: Brian Cain <bcain@quicinc.com>
    Cc: Richard Henderson <rth@twiddle.net>
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Janosch Frank <frankja@linux.ibm.com>
    Cc: Albert Ou <aou@eecs.berkeley.edu>
    Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Sven Schnelle <svens@linux.ibm.com>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Alexander Gordeev <agordeev@linux.ibm.com>
    Cc: Jonas Bonn <jonas@southpole.se>
    Cc: Will Deacon <will@kernel.org>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Michal Simek <monstr@monstr.eu>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
    Cc: Paul Walmsley <paul.walmsley@sifive.com>
    Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: Chris Zankel <chris@zankel.net>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Dinh Nguyen <dinguyen@kernel.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Yoshinori Sato <ysato@users.osdn.me>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Chris von Recklinghausen <crecklin@redhat.com>
2023-03-24 11:18:32 -04:00
Joel Savitz df72b804cc futex: Remove futex_cmpxchg detection
confict in arch/arm/Kconfig:
	detail: divergence in context of config change
	action: maintain existing code
conflict in arch/xtensa/Kconfig:
	detail: removed config option line is slightly different
	action: remove it anyway

commit 3297481d688a5cc2973ea58bd78e66b8639748b1
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Tue Oct 26 12:03:48 2021 +0200

    futex: Remove futex_cmpxchg detection

    Now that all architectures have a working futex implementation in any
    configuration, remove the runtime detection code.

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Acked-by: Vineet Gupta <vgupta@kernel.org>
    Acked-by: Max Filippov <jcmvbkbc@gmail.com>
    Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Link: https://lore.kernel.org/r/20211026100432.1730393-2-arnd@kernel.org

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2176147
Signed-off-by: Joel Savitz <jsavitz@redhat.com>
2023-03-07 15:26:27 -05:00