Centos-kernel-stream-9/kernel
Frantisek Hrbata 67a41ea6e8 Merge: [RHEL 9.2] IOMMU and DMA Mapping Updates
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/1359

# Merge Request Required Information

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

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

Depends: https://bugzilla.redhat.com/2124620

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

Testing: fio jobs, tested kdump vmcore harvesting + verifying vmcore can be opened
         in crash and looked at.

## Summary of Changes

This brings the IOMMU and DMA mapping subsystems up to 6.0-rc5 minus
some AMD changes that are in a separate MR.

Of note there is some refactoring of the intel iommu code which
requires backporting some related changes touching i915 and
KVM.

@Lyude - One case here I removed the include of intel-iommu.h in
drivers/gpu/drm/i915/i915_drv.h, because a7f46d5b91a5 ("drm/i915: Move
intel_vtd_active and run_as_guest to i915_utils") has not been
backported yet. That was doing a bit of moving things around so I
thought I should leave that to the gpu team. If you would like me to
pull that in here let me know, but wanted to make sure you are aware
since it will be a small conflict to clean up when a7f46d5b91a5 is
backported.

I also pulled in the pci p2pdma changes from Christoph's PR that were
removing some pci p2pdma specific functions that were being called by rdma
and nvme code, and migrated the code into regular mapping calls in
the dma-iommu and dma-direct code. We don't really have a way to test
this yet, but the code is contained within checks for pci p2pdma, and
nvme devices with the controller memory buffer capability seem to
be rare at this point. Since nvme is currently the only provider
using pci p2pdma, and rdma + nvme are the only consumers I think
pulling these in should be okay. They were already doing their
special calls anyways in the case where pci p2pdma would be
used.

Another change to note. Upstream realized that swiotlb-xen is dead code
unless you are using XEN_PV, so it is no longer built in the XEN_PVHVM
case that is used by RHEL.

@llong1 Can you look at the try_cmpxchg64 changes to make sure I got that right?

Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>

Approved-by: Lyude Paul <lyude@redhat.com>
Approved-by: Donald Dutile <ddutile@redhat.com>
Approved-by: David Arcari <darcari@redhat.com>
Approved-by: Myron Stowe <mstowe@redhat.com>
Approved-by: Mark Salter <msalter@redhat.com>
Approved-by: Prarit Bhargava <prarit@redhat.com>

Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com>
2022-11-01 03:14:36 -04:00
..
bpf Merge: BPF and XDP rebase to v5.17 2022-09-23 04:59:59 -04:00
cgroup Merge: cgroup/cpuset: Add isolated partition type for disabling load balancing 2022-10-27 08:26:03 -04:00
configs
debug lockdown: also lock down previous kgdb use 2022-07-29 16:30:21 -04:00
dma dma-mapping: mark dma_supported static 2022-10-27 16:31:40 -07:00
entry resume_user_mode: Move to resume_user_mode.h 2022-10-12 07:27:47 -04:00
events Merge: mm changes through v5.18 for 9.2 2022-10-23 19:49:41 +02:00
futex exit: Move oops specific logic from do_exit into make_task_dead 2022-10-12 07:27:33 -04:00
gcov
irq irqdomain: Export irq_domain_disconnect_hierarchy() 2022-10-05 18:55:36 -04:00
kcsan arm64: Enable KCSAN 2022-07-08 14:27:30 -04:00
livepatch livepatch: Fix missing unlock on error in klp_enable_patch() 2022-05-19 16:20:16 -04:00
locking locking/lockdep: Iterate lock_classes directly when reading lockdep files 2022-05-12 08:34:11 -04:00
power PM: Use the enum req_op and blk_opf_t types 2022-10-12 09:20:22 +08:00
printk printk: do not wait for consoles when suspended 2022-09-15 08:47:35 -04:00
rcu Revert "printk: add functions to prefer direct printing" 2022-09-15 08:47:35 -04:00
sched NUMA balancing: optimize page placement for memory tiering system 2022-10-12 07:27:54 -04:00
time task_work: Remove unnecessary include from posix_timers.h 2022-10-12 07:27:47 -04:00
trace Merge: tracing: Disable interrupt or preemption before acquiring arch_spinlock_t 2022-10-31 02:46:27 -04:00
.gitignore
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
Makefile
acct.c
async.c
audit.c
audit.h
audit_fsnotify.c
audit_tree.c
audit_watch.c
auditfilter.c
auditsc.c audit: free module name 2022-06-23 16:37:06 -04:00
backtracetest.c
bounds.c
capability.c xfs: don't generate selinux audit messages for capability testing 2022-07-20 11:42:39 +02:00
cfi.c
compat.c
configs.c
context_tracking.c
cpu.c Merge: drivers/char/random.c: Update for kernel-rt 2022-05-18 10:58:45 +02:00
cpu_pm.c PM: cpu: Make notifier chain use a raw_spinlock_t 2022-09-13 10:37:55 -04:00
crash_core.c kdump: round up the total memory size to 128M for crashkernel reservation 2022-07-05 19:55:02 +08:00
crash_dump.c
cred.c
delayacct.c delayacct: track delays from memory compact 2022-10-12 07:27:42 -04:00
dma.c
exec_domain.c
exit.c Merge: io_uring: update to v5.15 2022-10-21 09:47:33 -04:00
extable.c mm: create a new system state and fix core_kernel_text() 2022-05-18 14:44:06 +02:00
fail_function.c
fork.c Merge: mm changes through v5.18 for 9.2 2022-10-23 19:49:41 +02:00
freezer.c
gen_kheaders.sh
groups.c
hung_task.c Revert "printk: add functions to prefer direct printing" 2022-09-15 08:47:35 -04:00
iomem.c
irq_work.c
jump_label.c
kallsyms.c
kcmp.c
kcov.c
kexec.c
kexec_core.c exit: Move oops specific logic from do_exit into make_task_dead 2022-10-12 07:27:33 -04:00
kexec_elf.c
kexec_file.c Merge: mm changes through v5.18 for 9.2 2022-10-23 19:49:41 +02:00
kexec_internal.h
kheaders.c
kmod.c
kprobes.c
ksysfs.c
kthread.c uaccess: remove CONFIG_SET_FS 2022-10-12 07:27:45 -04:00
latencytop.c
module-internal.h
module.c Merge: mm changes through v5.18 for 9.2 2022-10-23 19:49:41 +02:00
module_signature.c
module_signing.c
notifier.c notifier: Remove atomic_notifier_call_chain_robust() 2022-09-13 10:37:55 -04:00
nsproxy.c
padata.c
panic.c Revert "printk: add functions to prefer direct printing" 2022-09-15 08:47:35 -04:00
params.c kobject: remove kset from struct kset_uevent_ops callbacks 2022-06-14 16:04:15 -05:00
pid.c pid: add pidfd_get_task() helper 2022-10-12 07:27:25 -04:00
pid_namespace.c
profile.c exit: Remove profile_handoff_task 2022-10-12 07:27:36 -04:00
ptrace.c Merge: mm changes through v5.18 for 9.2 2022-10-23 19:49:41 +02:00
range.c
reboot.c reboot: Remove the unreachable panic after do_exit in reboot(2) 2022-10-12 07:27:06 -04:00
regset.c
relay.c
resource.c
resource_kunit.c
rh_messages.c
rh_shadowman.c
rh_taint.c
rseq.c
scftorture.c scftorture: Fix distribution of short handler delays 2022-08-30 17:22:06 -04:00
scs.c kasan, vmalloc: only tag normal vmalloc allocations 2022-10-12 07:28:00 -04:00
seccomp.c signal/seccomp: Refactor seccomp signal and coredump generation 2022-10-12 07:27:23 -04:00
signal.c task_work: Call tracehook_notify_signal from get_signal on all architectures 2022-10-12 07:27:47 -04:00
smp.c Merge: Backport scheduler related v5.19 and earlier commits for kernel-rt 2022-09-27 08:47:30 -04:00
smpboot.c
smpboot.h
softirq.c smp: Make softirq handling RT safe in flush_smp_call_function_queue() 2022-09-08 11:25:07 -04:00
stackleak.c
stacktrace.c uaccess: remove CONFIG_SET_FS 2022-10-12 07:27:45 -04:00
static_call.c KVM: x86: allow defining return-0 static calls 2022-05-30 16:48:59 +02:00
stop_machine.c sched: Fix missing prototype warnings 2022-09-08 11:25:07 -04:00
sys.c mm: refactor vm_area_struct::anon_vma_name usage code 2022-10-12 07:27:46 -04:00
sys_ni.c
sysctl-test.c
sysctl.c NUMA balancing: optimize page placement for memory tiering system 2022-10-12 07:27:54 -04:00
task_work.c resume_user_mode: Move to resume_user_mode.h 2022-10-12 07:27:47 -04:00
taskstats.c
test_kprobes.c
torture.c
tracepoint.c
tsacct.c taskstats: Cleanup the use of task->exit_code 2022-10-12 07:27:37 -04:00
ucount.c
uid16.c
uid16.h
umh.c kthread: Don't allocate kthread_struct for init and umh 2022-10-12 07:28:07 -04:00
up.c
user-return-notifier.c
user.c
user_namespace.c
usermode_driver.c
utsname.c
utsname_sysctl.c
watch_queue.c watch_queue: Fix missing locking in add_watch_to_object() 2022-08-26 13:59:33 +02:00
watchdog.c Revert "printk: add functions to prefer direct printing" 2022-09-15 08:47:35 -04:00
watchdog_hld.c Revert "printk: add functions to prefer direct printing" 2022-09-15 08:47:35 -04:00
workqueue.c Revert "workqueue: remove unused cancel_work()" 2022-10-25 13:19:44 +02:00
workqueue_internal.h