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>
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-42fec94743https://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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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]
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>
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>
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>
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>
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>
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>
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>
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>
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>