Commit Graph

5508 Commits

Author SHA1 Message Date
Herton R. Krzesinski 20d30d8fa5 arch: use $(obj)/ instead of $(src)/ for preprocessed linker scripts
JIRA: https://issues.redhat.com/browse/RHEL-107194
Conflicts: dropped changes to parisc from the upstream commit, since
           RHEL 9 does not have "parisc: Add vDSO support" and later
           changes.

commit b957df3b858d16ba3d4291233569bba09cfd08c7
Author: Masahiro Yamada <masahiroy@kernel.org>
Date:   Sat Apr 27 23:54:59 2024 +0900

    arch: use $(obj)/ instead of $(src)/ for preprocessed linker scripts

    These are generated files. Prefix them with $(obj)/ instead of $(src)/.

    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Acked-by: Helge Deller <deller@gmx.de>
    Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>

Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
2025-08-19 20:06:24 -03:00
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 0e5af77c62 mm: make arch_get_unmapped_area() take vm_flags by default
JIRA: https://issues.redhat.com/browse/RHEL-15599

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

Conflicts:
 - Context differences due to missing 567b35159e
 - Ignored changes in missing arch/loongarch/mm/mmap.c

commit 25d4054cc97484f2555709ac233f955f674e026a
Author: Mark Brown <broonie@kernel.org>
Date:   Wed Sep 4 17:57:59 2024 +0100

    mm: make arch_get_unmapped_area() take vm_flags by default

    Patch series "mm: Care about shadow stack guard gap when getting an
    unmapped area", v2.

    As covered in the commit log for c44357c2e76b ("x86/mm: care about shadow
    stack guard gap during placement") our current mmap() implementation does
    not take care to ensure that a new mapping isn't placed with existing
    mappings inside it's own guard gaps.  This is particularly important for
    shadow stacks since if two shadow stacks end up getting placed adjacent to
    each other then they can overflow into each other which weakens the
    protection offered by the feature.

    On x86 there is a custom arch_get_unmapped_area() which was updated by the
    above commit to cover this case by specifying a start_gap for allocations
    with VM_SHADOW_STACK.  Both arm64 and RISC-V have equivalent features and
    use the generic implementation of arch_get_unmapped_area() so let's make
    the equivalent change there so they also don't get shadow stack pages
    placed without guard pages.  The arm64 and RISC-V shadow stack
    implementations are currently on the list:

       https://lore.kernel.org/r/20240829-arm64-gcs-v12-0-42fec94743
       https://lore.kernel.org/lkml/20240403234054.2020347-1-debug@rivosinc.com/

    Given the addition of the use of vm_flags in the generic implementation we
    also simplify the set of possibilities that have to be dealt with in the
    core code by making arch_get_unmapped_area() take vm_flags as standard.
    This is a bit invasive since the prototype change touches quite a few
    architectures but since the parameter is ignored the change is
    straightforward, the simplification for the generic code seems worth it.

    This patch (of 3):

    When we introduced arch_get_unmapped_area_vmflags() in 961148704acd ("mm:
    introduce arch_get_unmapped_area_vmflags()") we did so as part of properly
    supporting guard pages for shadow stacks on x86_64, which uses a custom
    arch_get_unmapped_area().  Equivalent features are also present on both
    arm64 and RISC-V, both of which use the generic implementation of
    arch_get_unmapped_area() and will require equivalent modification there.
    Rather than continue to deal with having two versions of the functions
    let's bite the bullet and have all implementations of
    arch_get_unmapped_area() take vm_flags as a parameter.

    The new parameter is currently ignored by all implementations other than
    x86.  The only caller that doesn't have a vm_flags available is
    mm_get_unmapped_area(), as for the x86 implementation and the wrapper used
    on other architectures this is modified to supply no flags.

    No functional changes.

    Link: https://lkml.kernel.org/r/20240904-mm-generic-shadow-stack-guard-v2-0-a46b8b6dc0ed@kernel.org
    Link: https://lkml.kernel.org/r/20240904-mm-generic-shadow-stack-guard-v2-1-a46b8b6dc0ed@kernel.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Acked-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
    Reviewed-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
    Acked-by: Helge Deller <deller@gmx.de>  [parisc]
    Cc: Alexander Gordeev <agordeev@linux.ibm.com>
    Cc: Andreas Larsson <andreas@gaisler.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: "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
    Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
    Cc: Guo Ren <guoren@kernel.org>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    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: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Naveen N Rao <naveen@kernel.org>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Richard Henderson <richard.henderson@linaro.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Russell King <linux@armlinux.org.uk>
    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: Vlastimil Babka <vbabka@suse.cz>
    Cc: WANG Xuerui <kernel@xen0n.name>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Štěpán Horáček <shoracek@redhat.com>
2025-03-18 17:22:13 +01:00
Štěpán Horáček 0cb5587fc9 treewide: use initializer for struct vm_unmapped_area_info
JIRA: https://issues.redhat.com/browse/RHEL-15599

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

Conflicts:
 - Context differences due to missing 25d4054cc9
 - Changes left out due to missing 6732c0e494, 5bba49f539
 - Ignored changes in missing arch/loongarch/mm/mmap.c

commit b80fa3cbb78c0fbe5039682919d97a0dbe05ae7c
Author: Rick Edgecombe <rick.p.edgecombe@intel.com>
Date:   Mon Mar 25 19:16:52 2024 -0700

    treewide: use initializer for struct vm_unmapped_area_info

    Future changes will need to add a new member to struct
    vm_unmapped_area_info.  This would cause trouble for any call site that
    doesn't initialize the struct.  Currently every caller sets each member
    manually, so if new ones are added they will be uninitialized and the core
    code parsing the struct will see garbage in the new member.

    It could be possible to initialize the new member manually to 0 at each
    call site.  This and a couple other options were discussed.  Having some
    struct vm_unmapped_area_info instances not zero initialized will put those
    sites at risk of feeding garbage into vm_unmapped_area(), if the
    convention is to zero initialize the struct and any new field addition
    missed a call site that initializes each field manually.  So it is useful
    to do things similar across the kernel.

    The consensus (see links) was that in general the best way to accomplish
    taking into account both code cleanliness and minimizing the chance of
    introducing bugs, was to do C99 static initialization.  As in: struct
    vm_unmapped_area_info info = {};

    With this method of initialization, the whole struct will be zero
    initialized, and any statements setting fields to zero will be unneeded.
    The change should not leave cleanup at the call sides.

    While iterating though the possible solutions a few archs kindly acked
    other variations that still zero initialized the struct.  These sites have
    been modified in previous changes using the pattern acked by the
    respective arch.

    So to be reduce the chance of bugs via uninitialized fields, perform a
    tree wide change using the consensus for the best general way to do this
    change.  Use C99 static initializing to zero the struct and remove and
    statements that simply set members to zero.

    Link: https://lkml.kernel.org/r/20240326021656.202649-11-rick.p.edgecombe@intel.com
    Link: https://lore.kernel.org/lkml/202402280912.33AEE7A9CF@keescook/#t
    Link: https://lore.kernel.org/lkml/j7bfvig3gew3qruouxrh7z7ehjjafrgkbcmg6tcghhfh3rhmzi@wzlcoecgy5rs/
    Link: https://lore.kernel.org/lkml/ec3e377a-c0a0-4dd3-9cb9-96517e54d17e@csgroup.eu/
    Signed-off-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Aneesh Kumar K.V <aneesh.kumar@kernel.org>
    Cc: Borislav Petkov (AMD) <bp@alien8.de>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Deepak Gupta <debug@rivosinc.com>
    Cc: Guo Ren <guoren@kernel.org>
    Cc: Helge Deller <deller@gmx.de>
    Cc: H. Peter Anvin (Intel) <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
    Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Naveen N. Rao <naveen.n.rao@linux.ibm.com>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Štěpán Horáček <shoracek@redhat.com>
2025-03-18 17:22:13 +01: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
Baoquan He 48bac334a7 crash_core: change the prototype of function parse_crashkernel()
JIRA: https://issues.redhat.com/browse/RHEL-58641

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

commit a9e1a3d84e4a0ea560ed4d84c28d06dbfdffed22
Author: Baoquan He <bhe@redhat.com>
Date:   Thu Sep 14 11:31:35 2023 +0800

    crash_core: change the prototype of function parse_crashkernel()

    Add two parameters 'low_size' and 'high' to function parse_crashkernel(),
    later crashkernel=,high|low parsing will be added.  Make adjustments in
    all call sites of parse_crashkernel() in arch.

    Link: https://lkml.kernel.org/r/20230914033142.676708-3-bhe@redhat.com
    Signed-off-by: Baoquan He <bhe@redhat.com>
    Reviewed-by: Zhen Lei <thunder.leizhen@huawei.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chen Jiahao <chenjiahao16@huawei.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Baoquan He <bhe@redhat.com>
2024-12-23 09:35:33 +08: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
Jaroslav Kysela 433a9812b0 sh: boards: Fix Sound Simple-Card struct name
JIRA: https://issues.redhat.com/browse/RHEL-27515

commit 6d925797304e345e397bc24e62a334b41503fb1d
Author: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Date: Thu Sep 28 00:04:16 2023 +0000

    sh: boards: Fix Sound Simple-Card struct name

    "asoc_simple_card_info" was renamed to "simple_util_info" by
    commit ad484cc98f2 ("ASoC: remove asoc_xxx() compatible macro").
    This patch fixup it For SH7724 boards.

    Fixes: ad484cc98f2 ("ASoC: remove asoc_xxx() compatible macro")
    Reported-by: kernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202309280417.rOLRdrdM-lkp@intel.com/
    Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/87ttrfgo3j.wl-kuninori.morimoto.gx@renesas.com
    Signed-off-by: Mark Brown <broonie@kernel.org>

Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
2024-07-08 20:53:52 +02:00
Lucas Karpinski 766316a77f mmc: sh_mmcif: move platform_data header to proper location
JIRA: https://issues.redhat.com/browse/RHEL-41085

commit 13acb62ce1ee7377ef03034fbbad6f5499464b86
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
Date:   Tue Apr 12 11:31:02 2022 +0200

    mmc: sh_mmcif: move platform_data header to proper location

    We have a dedicated directory for platform_data meanwhile, don't spoil
    the MMC directory with it.

    Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Link: https://lore.kernel.org/r/20220412093102.3428-1-wsa+renesas@sang-engineering.com
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

Signed-off-by: Lucas Karpinski <lkarpins@redhat.com>
2024-06-24 15:15:25 -04:00
Lucas Zampieri 1240d771c9 Merge: drivers/video backport from v6.8
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/4159

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

Backport drivers/video changes from upstream v6.8
a big update since it wasn't updated from 5.14

I dropped thoses 3 patches, because they are part of !3895 

ffc1e089725e3 VT: Add height parameter to con_font_get/set consw operations  
05e2600cb0a4d VT: Bump font size limitation to 64x128 pixels  
4173f018aae16 tty/vt: consolemap: rename and document struct uni_pagedir  

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>

Approved-by: Mika Penttilä <mpenttil@redhat.com>
Approved-by: Lenny Szubowicz <lszubowi@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: Lucas Zampieri <lzampier@redhat.com>
2024-06-06 19:18:13 +00:00
Scott Weaver ef1d77c61f Merge: CNB95: net/sched: update TC core to upstream v6.8
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/4235

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

Note that patch 2 is needed for patch 3 to avoid compiler warnings and patch 1 is a dependency for patch 2.

Commits:
```
4eb6bd55cfb2 ("compiler.h: drop fallback overflow checkers")
d219d2a9a92e ("overflow: Allow mixed type arguments")
8798481b667f ("net/sched: wrap open coded Qdics class filter counter")
daf8d9181b9b ("net/sched: sch_drr: warn about class in use while deleting")
e20e75017c5a ("net/sched: sch_qfq: warn about class in use while deleting")
a57c34a80cbe ("net: flow_dissector: Add IPSEC dissector")
4c13eda757e3 ("tc: flower: support for SPI")
c8915d7329d6 ("tc: flower: Enable offload support IPSEC SPI field.")
992b47851be9 ("net: pkt_cls: Remove unused inline helpers")
09e0c3bbde90 ("net/sched: taprio: don't access q->qdiscs[] in unoffloaded mode during attach()")
25b0d4e4e41f ("net/sched: taprio: keep child Qdisc refcount elevated at 2 in offload mode")
98766add2d55 ("net/sched: taprio: try again to report q->qdiscs[] to qdisc_leaf()")
6e0ec800c174 ("net/sched: taprio: delete misleading comment about preallocating child qdiscs")
665338b2a7a0 ("net/sched: taprio: dump class stats for the actual q->qdiscs[]")
40b0425f8ba1 ("net: ptp: create a mock-up PTP Hardware Clock driver")
b63e78fca889 ("net: netdevsim: use mock PHC driver")
35da47fe1c47 ("net: netdevsim: mimic tc-taprio offload")
355adce3010b ("selftests/tc-testing: add ptp_mock Kconfig dependency")
1890cf08bd99 ("selftests/tc-testing: test that taprio can only be attached as root")
29c298d2bc82 ("selftests/tc-testing: verify that a qdisc can be grafted onto a taprio class")
4072d97ddc44 ("netem: add prng attribute to netem_sched_data")
9c87b2aeccf1 ("netem: use a seeded PRNG for generating random losses")
3cad70bc74ef ("netem: use seeded PRNG for correlated loss events")
8c21ab1bae94 ("net/sched: fq_pie: avoid stalls in fq_pie_timer()")
8fc134fee27f ("net: sched: sch_qfq: Fix UAF in qfq_dequeue()")
a5e2151ff9d5 ("net/ipv6: SKB symmetric hash should incorporate transport ports")
70ad43333cbe ("selftests/tc-testing: cls_fw: add tests for classid")
7c339083616c ("selftests/tc-testing: cls_route: add tests for classid")
e2f2fb3c352d ("selftests/tc-testing: cls_u32: add tests for classid")
ef765c258759 ("net/sched: cls_route: make netlink errors meaningful")
98cfbe4234a4 ("selftests/tc-testing: localize test resources")
d227cc0b1ee1 ("selftests/tc-testing: update test definitions for local resources")
ac9b82930964 ("selftests/tc-testing: implement tdc parallel test run")
d3fc4eea9742 ("selftests/tc-testing: update tdc documentation")
1add90738cf5 ("net_sched: constify qdisc_priv()")
54ff8ad69c6e ("net_sched: sch_fq: struct sched_data reorg")
ee9af4e14d16 ("net_sched: sch_fq: change how @inactive is tracked")
076433bd78d7 ("net_sched: sch_fq: add fast path for mostly idle qdisc")
8f6c4ff9e052 ("net_sched: sch_fq: always garbage collect")
2ae45136a938 ("net_sched: sch_fq: remove q->ktime_cache")
5579ee462dfe ("net_sched: export pfifo_fast prio2band[]")
29f834aa326e ("net_sched: sch_fq: add 3 bands and WRR scheduling")
49e7265fd098 ("net_sched: sch_fq: add TCA_FQ_WEIGHTS attribute")
0fef0907d6fa ("netem: Annotate struct disttable with __counted_by")
c4d49196ceec ("net: sched: cls_u32: Fix allocation size in u32_init()")
54a59aed395c ("net, sched: Make tc-related drop reason more flexible")
39d08b91646d ("net, sched: Add tcf_set_drop_reason for {__,}tcf_classify")
f157b73d5114 ("selftests: tc-testing: add missing Kconfig options to 'config'")
35027c790970 ("selftests: tc-testing: move auxiliary scripts to a dedicated folder")
ee3d12285471 ("selftests: tc-testing: add test for 'rt' upgrade on hfsc")
06e4dd18f868 ("net_sched: sch_fq: fix off-by-one error in fq_dequeue()")
81a416985698 ("net_sched: sch_fq: fastpath needs to take care of sk->sk_pacing_status")
6d25d1dc76bf ("net: sched: sch_qfq: Use non-work-conserving warning handler")
70f06c115bcc ("sched: act_ct: switch to per-action label counting")
49b02a19c23a ("net: sched: Fill in MODULE_DESCRIPTION for act_gate")
a9c92771fa23 ("net: sched: Fill in missing MODULE_DESCRIPTION for classifiers")
f96118c5d86f ("net: sched: Fill in missing MODULE_DESCRIPTION for qdiscs")
40cb2fdfed34 ("net, sched: Fix SKB_NOT_DROPPED_YET splat under debug config")
f1a3b283f852 ("net_sched: sch_fq: better validate TCA_FQ_WEIGHTS and TCA_FQ_PRIOMAP")
e316dd1cf135 ("net: don't dump stack on queue timeout")
9ffa01cab069 ("selftests: tc-testing: drop '-N' argument from nsPlugin")
fa63d353ddfb ("selftests: tc-testing: rework namespaces and devices setup")
bb9623c337f5 ("selftests: tc-testing: preload all modules in kselftests")
04fd47bf70f9 ("selftests: tc-testing: use parallel tdc in kselftests")
6b78debe1c07 ("net/sched: cls_u32: replace int refcounts with proper refcounts")
54293e4d6a62 ("selftests/tc-testing: add hashtable tests for u32")
025de7b6a6dd ("selftests: tc-testing: cap parallel tdc to 4 cores")
50a5988a7a54 ("selftests: tc-testing: move back to per test ns setup")
3d5026fc5adb ("selftests: tc-testing: use netns delete from pyroute2")
3f2d94a4ff48 ("selftests: tc-testing: leverage -all in suite ns teardown")
4b480cfb1066 ("selftests: tc-testing: timeout on unbounded loops")
4968afa0143d ("selftests: tc-testing: report number of workers in use")
a79d8ba734bd ("selftests: tc-testing: remove buildebpf plugin")
8059e68b9928 ("selftests: tc-testing: remove unnecessary time.sleep")
56e16bc69bb7 ("selftests: tc-testing: prefix iproute2 functions with "ipr2"")
501679f5d4a4 ("selftests: tc-testing: cleanup on Ctrl-C")
ed346fccfc40 ("selftests: tc-testing: remove unused import")
000db9e9ad42 ("net/sched: cbs: Use units.h instead of the copy of a definition")
f7580f00cc6e ("selftests: tc-testing: remove spurious nsPlugin usage")
74f7e7eeb1d2 ("selftests: tc-testing: remove spurious './' from Makefile")
7de8b2efafeb ("selftests: tc-testing: rename concurrency.json to flower.json")
0fbb5a54f941 ("selftests: tc-testing: remove filters/tests.json")
3872347e0a16 ("net/sched: act_api: use tcf_act_for_each_action")
a0e947c9ccff ("net/sched: act_api: avoid non-contiguous action array")
e09ac779f736 ("net/sched: act_api: stop loop over ops array on NULL in tcf_action_init")
f9bfc8eb1342 ("net/sched: act_api: use tcf_act_for_each_action in tcf_idr_insert_many")
c5e2a973448d ("rtnl: add helper to check if rtnl group has listeners")
8439109b76a3 ("rtnl: add helper to check if a notification is needed")
ddb6b284bdc3 ("rtnl: add helper to send if skb is not null")
c73724bfde09 ("net/sched: act_api: don't open code max()")
8d4390f51920 ("net/sched: act_api: conditional notification of events")
e522755520ef ("net/sched: cls_api: remove 'unicast' argument from delete notification")
93775590b1ee ("net/sched: cls_api: conditional notification of events")
4b55e86736d5 ("net/sched: act_api: rely on rcu in tcf_idr_check_alloc")
1dd7f18fc0ed ("net/sched: act_api: skip idr replace on bound actions")
fb2780721ca5 ("net: sched: Move drop_reason to struct tc_skb_cb")
b6a3c6066afc ("net: sched: Make tc-related drop reason more flexible for remaining qdiscs")
2f57dd94bdef ("packet: add a generic drop reason for receive")
4cf24dc89340 ("net: sched: Add initial TC error skb drop reasons")
913b47d3424e ("net/sched: Introduce tc block netdev tracking infra")
a7042cf8f231 ("net/sched: cls_api: Expose tc block to the datapath")
415e38bf1d8d ("net/sched: act_mirred: Add helper function tcf_mirred_replace_dev")
42f39036cda8 ("net/sched: act_mirred: Allow mirred to block")
8fcb0382af6f ("net: sched: em_text: fix possible memory leak in em_text_destroy()")
ba24ea129126 ("net/sched: Retire ipt action")
6d6d80e4f6bc ("net/sched: Remove CONFIG_NET_ACT_IPT from default configs")
41bc3e8fc1f7 ("net/sched: Remove uapi support for rsvp classifier")
82b2545ed9a4 ("net/sched: Remove uapi support for tcindex classifier")
fe3b739a5472 ("net/sched: Remove uapi support for dsmark qdisc")
26cc8714fc7f ("net/sched: Remove uapi support for ATM qdisc")
33241dca4862 ("net/sched: Remove uapi support for CBQ qdisc")
2ab1efad60ad ("net/sched: cls_api: complement tcf_tfilter_dump_policy")
c2a67de9bb54 ("net/sched: introduce ACT_P_BOUND return code")
530496985cea ("net/sched: sch_api: conditional netlink notifications")
94e2557d086a ("net: sched: move block device tracking into tcf_block_get/put_ext()")
405cd9fc6f44 ("net/sched: simplify tc_action_load_ops parameters")
2ffca83aa39c ("net/sched: Remove ipt action tests")
e18405d0be80 ("net: sched: track device in tcf_block_get/put_ext() only for clsact binder types")
ea937f772083 ("net: netdevsim: don't try to destroy PHC on VFs")
93590849a05e ("selftests: forwarding: Fix layer 2 miss test flakiness")
aae09a6c7783 ("net/sched: act_mirred: Don't zero blockid when net device is being deleted")
a46c31bf2744 ("net: fill in MODULE_DESCRIPTION()s for net/sched")
86fe596b588f ("net: sched: Remove NET_ACT_IPT from Kconfig")
eb2c11b27c58 ("net: bql: fix building with BQL disabled")
51270d573a8d ("tracing/net_sched: Fix tracepoints that save qdisc_dev() as a string")
```

Signed-off-by: Ivan Vecera <ivecera@redhat.com>

Approved-by: Florian Westphal <fwestpha@redhat.com>
Approved-by: Davide Caratti <dcaratti@redhat.com>
Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com>

Merged-by: Scott Weaver <scweaver@redhat.com>
2024-05-30 09:32:38 -04:00
Jocelyn Falempe 47088da573 backlight/gpio_backlight: Rename field 'fbdev' to 'dev'
JIRA: https://issues.redhat.com/browse/RHEL-23295
Upstream Status: v6.6-rc1

commit ed369def91c1579a34cd6f9494e4614745430322
Author:     Thomas Zimmermann <tzimmermann@suse.de>
AuthorDate: Tue Jun 13 13:06:39 2023 +0200
Commit:     Thomas Zimmermann <tzimmermann@suse.de>
CommitDate: Tue Jun 27 09:58:48 2023 +0200

    Rename the field 'fbdev' in struct gpio_backlight_platform_data and
    struct gpio_backlight to 'dev', as they store pointers to the Linux
    platform device; not the fbdev device. Makes the code easier to
    understand.

    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Cc: Rich Felker <dalias@libc.org>
    Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Cc: Lee Jones <lee@kernel.org>
    Cc: Daniel Thompson <daniel.thompson@linaro.org>
    Cc: Jingoo Han <jingoohan1@gmail.com>
    Cc: linux-sh@vger.kernel.org
    Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
    Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230613110953.24176-5-tzimmermann@suse.de

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
2024-05-20 11:00:00 +02:00
Ivan Vecera 5ad0ffbad7 net/sched: Remove CONFIG_NET_ACT_IPT from default configs
JIRA: https://issues.redhat.com/browse/RHEL-36218

Conflicts:
- skipped hunk for loongarch as it is not present in RHEL

commit 6d6d80e4f6bcb6d975475377c34818f7f7d48eaa
Author: Jamal Hadi Salim <jhs@mojatatu.com>
Date:   Thu Dec 21 16:31:04 2023 -0500

    net/sched: Remove CONFIG_NET_ACT_IPT from default configs

    Now that we are retiring the IPT action.

    Reviewed-by: Victor Noguiera <victor@mojatatu.com>
    Reviewed-by: Pedro Tammela <pctammela@mojatatu.com>
    Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2024-05-14 13:13:24 +02:00
Andrew Halaney a9e85b9598 sh: j2: Update uartlite binding with data and parity properties
JIRA: https://issues.redhat.com/browse/RHEL-24205

commit 8517b62e0a28f474aeeb05dcadf0466965595550
Author: Sean Anderson <sean.anderson@seco.com>
Date:   Thu Aug 26 15:21:53 2021 -0400

    sh: j2: Update uartlite binding with data and parity properties

    These properties are necessary for properly calculating the uart
    timeout. I inspected the J2 source code, and believe these values to be
    correct.

    Signed-off-by: Sean Anderson <sean.anderson@seco.com>
    Link: https://lore.kernel.org/r/20210826192154.3202269-4-sean.anderson@seco.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
2024-05-09 11:24:15 -04:00
Lucas Zampieri d83249ff08 Merge: futex: Rebase futex code to v6.8
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/3827

JIRA: https://issues.redhat.com/browse/RHEL-28616    
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/3827

This MR rebases the RHEL9 futex code base to align to the v6.8 upstream
kernel to gain access to new futex syscalls and functionality that are
likely needed by userspace applications and other kernel subsystems.

It also includes the reverting of some linux-rt-devel specific rt-mutex
and scheduler patches and replacing them with upstream linux equivalents.
It also includes some unrelated syscall patches. These are all done to
ease the current and future backporting effort.

Signed-off-by: Waiman Long <longman@redhat.com>

Approved-by: Wander Lairson Costa <wander@redhat.com>
Approved-by: Phil Auld <pauld@redhat.com>
Approved-by: Crystal Wood <crwood@redhat.com>
Approved-by: David Arcari <darcari@redhat.com>
Approved-by: Steve Best <sbest@redhat.com>

Merged-by: Lucas Zampieri <lzampier@redhat.com>
2024-04-29 14:06:58 +00:00
Audra Mitchell fa0213536b mm, slob: rename CONFIG_SLOB to CONFIG_SLOB_DEPRECATED
JIRA: https://issues.redhat.com/browse/RHEL-27739
Conflicts:
    Context conflicts as the arch config files have not been updated in some time.

This patch is a backport of the following upstream commit:
commit 149b6fa228eda1d191abc440af7162264d716d90
Author: Vlastimil Babka <vbabka@suse.cz>
Date:   Fri Nov 11 11:04:55 2022 +0100

    mm, slob: rename CONFIG_SLOB to CONFIG_SLOB_DEPRECATED

    As explained in [1], we would like to remove SLOB if possible.

    - There are no known users that need its somewhat lower memory footprint
      so much that they cannot handle SLUB (after some modifications by the
      previous patches) instead.

    - It is an extra maintenance burden, and a number of features are
      incompatible with it.

    - It blocks the API improvement of allowing kfree() on objects allocated
      via kmem_cache_alloc().

    As the first step, rename the CONFIG_SLOB option in the slab allocator
    configuration choice to CONFIG_SLOB_DEPRECATED. Add CONFIG_SLOB
    depending on CONFIG_SLOB_DEPRECATED as an internal option to avoid code
    churn. This will cause existing .config files and defconfigs with
    CONFIG_SLOB=y to silently switch to the default (and recommended
    replacement) SLUB, while still allowing SLOB to be configured by anyone
    that notices and needs it. But those should contact the slab maintainers
    and linux-mm@kvack.org as explained in the updated help. With no valid
    objections, the plan is to update the existing defconfigs to SLUB and
    remove SLOB in a few cycles.

    To make SLUB more suitable replacement for SLOB, a CONFIG_SLUB_TINY
    option was introduced to limit SLUB's memory overhead.
    There is a number of defconfigs specifying CONFIG_SLOB=y. As part of
    this patch, update them to select CONFIG_SLUB and CONFIG_SLUB_TINY.

    [1] https://lore.kernel.org/all/b35c3f82-f67b-2103-7d82-7a7ba7521439@suse.cz/

    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
    Cc: Janusz Krzysztofik <jmkrzyszt@gmail.com>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: Jonas Bonn <jonas@southpole.se>
    Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
    Cc: Stafford Horne <shorne@gmail.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Josh Triplett <josh@joshtriplett.org>
    Cc: Conor Dooley <conor@kernel.org>
    Cc: Damien Le Moal <damien.lemoal@opensource.wdc.com>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi> # OMAP1
    Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> # riscv k210
    Acked-by: Arnd Bergmann <arnd@arndb.de> # arm
    Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
    Acked-by: Mike Rapoport <rppt@linux.ibm.com>
    Reviewed-by: Christoph Lameter <cl@linux.com>

Signed-off-by: Audra Mitchell <audra@redhat.com>
2024-04-09 09:42:54 -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 509ec2d51f arch/*/configs/*defconfig: Replace AUTOFS4_FS by AUTOFS_FS
JIRA: https://issues.redhat.com/browse/RHEL-25415

Conflicts: Minor drift issues.  Note this change also includes
redhat/config renames.

commit 1f2190d6b7112d22d3f8dfeca16a2f6a2f51444e
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Thu Jul 27 22:00:41 2023 +0200

    arch/*/configs/*defconfig: Replace AUTOFS4_FS by AUTOFS_FS

    Commit a2225d931f ("autofs: remove left-over autofs4 stubs")
    promised the removal of the fs/autofs/Kconfig fragment for AUTOFS4_FS
    within a couple of releases, but five years later this still has not
    happened yet, and AUTOFS4_FS is still enabled in 63 defconfigs.

    Get rid of it mechanically:

       git grep -l CONFIG_AUTOFS4_FS -- '*defconfig' |
           xargs sed -i 's/AUTOFS4_FS/AUTOFS_FS/'

    Also just remove the AUTOFS4_FS config option stub.  Anybody who hasn't
    regenerated their config file in the last five years will need to just
    get the new name right when they do.

    Signed-off-by: Sven Joachim <svenjoac@gmx.de>
    Acked-by: Ian Kent <raven@themaw.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:43:14 -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 9b02384ef8 thread_info: move function declarations to linux/thread_info.h
JIRA: https://issues.redhat.com/browse/RHEL-25415

commit af0a76e1269516d940214be48255669b0b5ff40b
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Wed May 17 15:11:01 2023 +0200

    thread_info: move function declarations to linux/thread_info.h

    There are a few __weak functions in kernel/fork.c, which architectures
    can override. If there is no prototype, the compiler warns about them:

    kernel/fork.c:164:13: error: no previous prototype for 'arch_release_task_struct' [-Werror=missing-prototypes]
    kernel/fork.c:991:20: error: no previous prototype for 'arch_task_cache_init' [-Werror=missing-prototypes]
    kernel/fork.c:1086:12: error: no previous prototype for 'arch_dup_task_struct' [-Werror=missing-prototypes]

    There are already prototypes in a number of architecture specific headers
    that have addressed those warnings before, but it's much better to have
    these in a single place so the warning no longer shows up anywhere.

    Link: https://lkml.kernel.org/r/20230517131102.934196-14-arnd@kernel.org
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Cc: Boqun Feng <boqun.feng@gmail.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Dennis Zhou <dennis@kernel.org>
    Cc: Eric Paris <eparis@redhat.com>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Michal Simek <monstr@monstr.eu>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Paul Moore <paul@paul-moore.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rafael J. Wysocki <rafael@kernel.org>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Waiman Long <longman@redhat.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:43:10 -04:00
Prarit Bhargava 6130db5b6e stackprotector: actually use get_random_canary()
JIRA: https://issues.redhat.com/browse/RHEL-25415

commit 622754e84b106a131fbac3f336bb45abf218849b
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date:   Sun Oct 23 22:14:23 2022 +0200

    stackprotector: actually use get_random_canary()

    The RNG always mixes in the Linux version extremely early in boot. It
    also always includes a cycle counter, not only during early boot, but
    each and every time it is invoked prior to being fully initialized.
    Together, this means that the use of additional xors inside of the
    various stackprotector.h files is superfluous and over-complicated.
    Instead, we can get exactly the same thing, but better, by just calling
    `get_random_canary()`.

    Acked-by: Guo Ren <guoren@kernel.org> # for csky
    Acked-by: Catalin Marinas <catalin.marinas@arm.com> # for arm64
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:43:05 -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 d4aa70ef66 sh: checksum: add missing linux/uaccess.h include
JIRA: https://issues.redhat.com/browse/RHEL-25415

commit 2083656bb30df231caad56abb4f1c2a6366f5923
Author: Jakub Kicinski <kuba@kernel.org>
Date:   Fri Jan 27 23:31:08 2023 -0800

    sh: checksum: add missing linux/uaccess.h include

    SuperH does not include uaccess.h, even tho it calls access_ok().

    Fixes: 68f4eae781dd ("net: checksum: drop the linux/uaccess.h include")
    Reviewed-by: Simon Horman <simon.horman@corigine.com>
    Tested-by: Simon Horman <simon.horman@corigine.com>
    Link: https://lore.kernel.org/r/20230128073108.1603095-1-kuba@kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
2024-03-20 09:42:56 -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 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 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
Vitaly Kuznetsov e3d9129d60 init: consolidate prototypes in linux/init.h
JIRA: https://issues.redhat.com/browse/RHEL-25415

commit ad1a48301f659a02df5bff0a121d4a5c0411d36b
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Wed May 17 15:10:59 2023 +0200

    init: consolidate prototypes in linux/init.h

    The init/main.c file contains some extern declarations for functions
    defined in architecture code, and it defines some other functions that are
    called from architecture code with a custom prototype.  Both of those
    result in warnings with 'make W=1':

    init/calibrate.c:261:37: error: no previous prototype for 'calibrate_delay_is_known' [-Werror=missing-prototypes]
    init/main.c:790:20: error: no previous prototype for 'mem_encrypt_init' [-Werror=missing-prototypes]
    init/main.c:792:20: error: no previous prototype for 'poking_init' [-Werror=missing-prototypes]
    arch/arm64/kernel/irq.c:122:13: error: no previous prototype for 'init_IRQ' [-Werror=missing-prototypes]
    arch/arm64/kernel/time.c:55:13: error: no previous prototype for 'time_init' [-Werror=missing-prototypes]
    arch/x86/kernel/process.c:935:13: error: no previous prototype for 'arch_post_acpi_subsys_init' [-Werror=missing-prototypes]
    init/calibrate.c:261:37: error: no previous prototype for 'calibrate_delay_is_known' [-Werror=missing-prototypes]
    kernel/fork.c:991:20: error: no previous prototype for 'arch_task_cache_init' [-Werror=missing-prototypes]

    Add prototypes for all of these in include/linux/init.h or another
    appropriate header, and remove the duplicate declarations from
    architecture specific code.

    [sfr@canb.auug.org.au: declare time_init_early()]
      Link: https://lkml.kernel.org/r/20230519124311.5167221c@canb.auug.org.au
    Link: https://lkml.kernel.org/r/20230517131102.934196-12-arnd@kernel.org
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Cc: Boqun Feng <boqun.feng@gmail.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Dennis Zhou <dennis@kernel.org>
    Cc: Eric Paris <eparis@redhat.com>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Michal Simek <monstr@monstr.eu>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Paul Moore <paul@paul-moore.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rafael J. Wysocki <rafael@kernel.org>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Waiman Long <longman@redhat.com>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Conflicts:
	arch/powerpc/include/asm/irq.h
	arch/riscv/include/asm/irq.h
	(unsupported in RHEL)

RHEL-only: add #include <linux/maple_tree.h> to main.c as RHEL lacks
d4af56c5c7c67 backport.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
2024-03-20 09:42:26 -04:00
Myron Stowe 1e4457e15c sh: pci: Do PCI error check on own line
JIRA: https://issues.redhat.com/browse/RHEL-26162
Upstream Status: a1165c5edf57fa3238e938b0513395f624d7565b

commit a1165c5edf57fa3238e938b0513395f624d7565b
Author: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Date:   Mon Sep 11 15:53:50 2023 +0300

    sh: pci: Do PCI error check on own line

    Instead of an "if" condition with a line split, use the usual error
    handling pattern with a separate variable to improve readability.

    No functional changes intended.

    Link: https://lore.kernel.org/r/20230911125354.25501-3-ilpo.jarvinen@linux.intel.com
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    [bhelgaas: u16 vid, PCI_POSSIBLE_ERROR()]
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Acked-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>

Signed-off-by: Myron Stowe <mstowe@redhat.com>
2024-02-25 08:39:27 -07: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
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 b6343a2697 arch/idle: Change arch_cpu_idle() behavior: always exit with IRQs disabled
JIRA: https://issues.redhat.com/browse/RHEL-10059

Current arch_cpu_idle() is called with IRQs disabled, but will return
with IRQs enabled.

However, the very first thing the generic code does after calling
arch_cpu_idle() is raw_local_irq_disable(). This means that
architectures that can idle with IRQs disabled end up doing a
pointless 'enable-disable' dance.

Therefore, push this IRQ disabling into the idle function, meaning
that those architectures can avoid the pointless IRQ state flipping.

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>
Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com>
Acked-by: Mark Rutland <mark.rutland@arm.com> [arm64]
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Guo Ren <guoren@kernel.org>
Acked-by: Frederic Weisbecker <frederic@kernel.org>
Link: https://lore.kernel.org/r/20230112195540.618076436@infradead.org
(cherry picked from commit 89b3098703bd2aa3237ef10a704e6a5838e6ea69)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

[RHEL: x86_idle is not a static call; loongarch and RISCv are different]
2023-10-30 09:12:42 +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
Scott Weaver 569bd0e035 Merge: trace: Add trace_ipi_send_cpumask()
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/3080

Linux has had tracepoints tied to IPI reception for a while, but none tied to IPI emission.

This series add tracepoints to the actual codepath sending the IPIs, which makes it possible to trace and track sources of IPI with Ftrace. This is very useful for setups where IPIs to certain CPUs are /mostly/ undesired and a source of unwanted interference (e.g. CPU isolation).

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

Signed-off-by: Jerome Marchand <jmarchan@redhat.com>

Approved-by: John B. Wyatt IV <jwyatt@redhat.com>
Approved-by: David Arcari <darcari@redhat.com>
Approved-by: Valentin Schneider <vschneid@redhat.com>

Signed-off-by: Scott Weaver <scweaver@redhat.com>
2023-09-27 09:34:11 -04:00
Jerome Marchand 9032c2fcb7 treewide: Trace IPIs sent via smp_send_reschedule()
Bugzilla: https://bugzilla.redhat.com/2192613

Conflicts:
Missing loongarch and context changes from missing commits
- 9b932aadfc47 ("riscv: kexec: Fixup crash_smp_send_stop without multi
cores")
- aabcaf6ae2a0 ("KVM: PPC: Book3S HV P9: Move host OS save/restore
functions to built-in")

commit 4c8c3c7f70a6779d30f5492acbc9978f4636fe7a
Author: Valentin Schneider <vschneid@redhat.com>
Date:   Tue Mar 7 14:35:56 2023 +0000

    treewide: Trace IPIs sent via smp_send_reschedule()

    To be able to trace invocations of smp_send_reschedule(), rename the
    arch-specific definitions of it to arch_smp_send_reschedule() and wrap it
    into an smp_send_reschedule() that contains a tracepoint.

    Changes to include the declaration of the tracepoint were driven by the
    following coccinelle script:

      @func_use@
      @@
      smp_send_reschedule(...);

      @include@
      @@
      #include <trace/events/ipi.h>

      @no_include depends on func_use && !include@
      @@
        #include <...>
      +
      + #include <trace/events/ipi.h>

    [csky bits]
    [riscv bits]
    Signed-off-by: Valentin Schneider <vschneid@redhat.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Guo Ren <guoren@kernel.org>
    Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
    Link: https://lore.kernel.org/r/20230307143558.294354-6-vschneid@redhat.com

Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
2023-09-14 15:36:30 +02:00
Myron Stowe 0a08ebe6f0 PCI: Introduce pci_dev_for_each_resource()
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2228915
Upstream Status: 09cc900632400079619e9154604fd299c2cc9a5a

commit 09cc900632400079619e9154604fd299c2cc9a5a
Author: Mika Westerberg <mika.westerberg@linux.intel.com>
Date:   Thu Mar 30 19:24:30 2023 +0300

    PCI: Introduce pci_dev_for_each_resource()

    Instead of open-coding it everywhere introduce a tiny helper that can be
    used to iterate over each resource of a PCI device, and convert the most
    obvious users into it.

    While at it drop doubled empty line before pdev_sort_resources().

    No functional changes intended.

    Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Link: https://lore.kernel.org/r/20230330162434.35055-4-andriy.shevchenko@linux.intel.com
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Krzysztof Wilczyński <kw@linux.com>

Signed-off-by: Myron Stowe <mstowe@redhat.com>
2023-09-05 09:16:40 -06: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
Jan Stancek 530b814aa7 Merge: [RHEL for Edge] updates for drivers/gpio fully supports SystemReady IR
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/2619

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2183344
Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=53343177
Depends: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/2578

Rebase the drivers/gpio fully supports SystemReady IR up to v6.4-rc3. This is sanity tested on a npx-imx8 machine, everything is ok.

Signed-off-by: Shaoqin Huang <shahuang@redhat.com>

Approved-by: Adrien Thierry <athierry@redhat.com>
Approved-by: Prarit Bhargava <prarit@redhat.com>
Approved-by: Lyude Paul <lyude@redhat.com>

Signed-off-by: Jan Stancek <jstancek@redhat.com>
2023-07-25 16:23:15 +02:00
Waiman Long cd0b4aa245 mm: memcontrol: drop dead CONFIG_MEMCG_SWAP config symbol
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2190004

commit e55b9f96860f6c6026cff97966a740576285e07b
Author: Johannes Weiner <hannes@cmpxchg.org>
Date:   Mon, 26 Sep 2022 09:57:04 -0400

    mm: memcontrol: drop dead CONFIG_MEMCG_SWAP config symbol

    Since 2d1c498072 ("mm: memcontrol: make swap tracking an integral part
    of memory control"), CONFIG_MEMCG_SWAP hasn't been a user-visible config
    option anymore, it just means CONFIG_MEMCG && CONFIG_SWAP.

    Update the sites accordingly and drop the symbol.

    [ While touching the docs, remove two references to CONFIG_MEMCG_KMEM,
      which hasn't been a user-visible symbol for over half a decade. ]

    Link: https://lkml.kernel.org/r/20220926135704.400818-5-hannes@cmpxchg.org
    Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
    Acked-by: Shakeel Butt <shakeelb@google.com>
    Cc: Hugh Dickins <hughd@google.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Roman Gushchin <roman.gushchin@linux.dev>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Signed-off-by: Waiman Long <longman@redhat.com>
2023-07-14 10:43:02 -04:00
Shaoqin Huang fffff08ea8 sh: mach-x3proto: Add missing #include <linux/gpio/driver.h>
Bugzilla: https://bugzilla.redhat.com/2183344

commit d94ffb99a379a6307af99b6f59b08ec3d58eb958
Author: Geert Uytterhoeven <geert+renesas@glider.be>
Date:   Thu Mar 9 15:41:13 2023 +0100

    sh: mach-x3proto: Add missing #include <linux/gpio/driver.h>

    shx3_defconfig:

        arch/sh/boards/mach-x3proto/setup.c: In function ‘x3proto_devices_setup’:
        arch/sh/boards/mach-x3proto/setup.c:246:62: error: invalid use of undefined type ‘struct gpio_chip’
          246 |                 baseboard_buttons[i].gpio = x3proto_gpio_chip.base + i;
              |                                                              ^

    Fix this by replacing the include of the legacy <linux/gpio.h> by
    <linux/gpio/driver.h>.

    Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
    Link: https://lore.kernel.org/r/CA+G9fYs7suzGsEDK40G0pzxXyR1o2V4Pn-oy1owTsTWRVEVHog@mail.gmail.com
    Fixes: 21d9526d13b5467b ("gpiolib: Make the legacy <linux/gpio.h> consumer-only")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    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:53 -04:00
Shaoqin Huang 349d391713 gpiolib: remove legacy gpio_export()
Bugzilla: https://bugzilla.redhat.com/2183344

Conflicts: Minor Document conflict.

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

    gpiolib: remove legacy gpio_export()

    There are only a handful of users of gpio_export() and
    related functions.

    As these are just wrappers around the modern gpiod_export()
    helper, remove the wrappers and open-code the gpio_to_desc
    in all callers to shrink the legacy API.

    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    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