forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 434
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rust: Enable KCFI support #1034
Open
maurer
wants to merge
1,087
commits into
Rust-for-Linux:rust-next
Choose a base branch
from
maurer:kcfi
base: rust-next
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ojeda
reviewed
Sep 13, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Matthew! A few nits below that I saw. Also, for upstreaming this eventually (I guess after we get to the right rustc
version that has those fixes in already?), I would recommend 3 commits:
- The
From
change. - The
Array
support. - The KCFI change.
maurer
force-pushed
the
kcfi
branch
2 times, most recently
from
September 15, 2023 00:10
23efd72
to
f705f8c
Compare
I believe I've addressed folks suggestions here. |
During a zswap store attempt, the compression algorithm could fail (for e.g due to the page containing incompressible random data). This is not tracked in any of existing zswap counters, making it hard to monitor for and investigate. We have run into this problem several times in our internal investigations on zswap store failures. This patch adds a dedicated debugfs counter for compression algorithm failures. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Nhat Pham <[email protected]> Reviewed-by: Sergey Senozhatsky <[email protected]> Cc: Dan Streetman <[email protected]> Cc: Domenico Cerasuolo <[email protected]> Cc: Johannes Weiner <[email protected]> Cc: Michal Hocko <[email protected]> Cc: Muchun Song <[email protected]> Cc: Roman Gushchin <[email protected]> Cc: Seth Jennings <[email protected]> Cc: Shakeel Butt <[email protected]> Cc: Vitaly Wool <[email protected]> Cc: Yosry Ahmed <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
LKP reported smatch warning as below: =================== smatch warnings: mm/vmalloc.c:3689 vread_iter() error: we previously assumed 'vm' could be null (see line 3667) ...... 06c8994 @3667 size = vm ? get_vm_area_size(vm) : va_size(va); ...... 06c8994 @3689 else if (!(vm->flags & VM_IOREMAP)) ^^^^^^^^^ Unchecked dereference ===================== This is not a runtime bug because the possible null 'vm' in the pointed place could only happen when flags == VMAP_BLOCK. However, the case 'flags == VMAP_BLOCK' should never happen and has been detected with WARN_ON. Please check vm_map_ram() implementation and the earlier checking in vread_iter() at below: ~~~~~~~~~~~~~~~~~~~~~~~~~~ /* * VMAP_BLOCK indicates a sub-type of vm_map_ram area, need * be set together with VMAP_RAM. */ WARN_ON(flags == VMAP_BLOCK); if (!vm && !flags) continue; ~~~~~~~~~~~~~~~~~~~~~~~~~~ So add checking on whether 'vm' could be null when dereferencing it in vread_iter(). This mutes smatch complaint. Link: https://lkml.kernel.org/r/ZTCURc8ZQE+KrTvS@MiWiFi-R3L-srv Link: https://lkml.kernel.org/r/ZS/2k6DIMd0tZRgK@MiWiFi-R3L-srv Signed-off-by: Baoquan He <[email protected]> Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> Closes: https://lore.kernel.org/r/[email protected]/ Cc: Lorenzo Stoakes <[email protected]> Cc: Philip Li <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
The "first" is spelled "fist". Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Tom Yang <[email protected]> Reviewed-by: Liam R. Howlett <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
We recently encountered a bug that makes all zswap store attempt fail. Specifically, after: "141fdeececb3 mm/zswap: delay the initialization of zswap" if we build a kernel with zswap disabled by default, then enabled after the swapfile is set up, the zswap tree will not be initialized. As a result, all zswap store calls will be short-circuited. We have to perform another swapon to get zswap working properly again. Fortunately, this issue has since been fixed by the patch that kills frontswap: "42c06a0e8ebe mm: kill frontswap" which performs zswap_swapon() unconditionally, i.e always initializing the zswap tree. This test add a sanity check that ensure zswap storing works as intended. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Nhat Pham <[email protected]> Acked-by: Rik van Riel <[email protected]> Cc: Domenico Cerasuolo <[email protected]> Cc: Johannes Weiner <[email protected]> Cc: Shuah Khan <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Zefan Li <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
The BUG_ON() at ocfs2_num_free_extents() handles the error that l_tree_deepth of leaf extent block just read form disk is invalid. This error is mostly caused by file system metadata corruption on the disk. There is no need to call BUG_ON() to handle such errors. We can return error code, since the caller can deal with errors from ocfs2_num_free_extents(). Also, we should make the file system read-only to avoid the damage from expanding. Therefore, BUG_ON() is removed and ocfs2_error() is called instead. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Jia Rui <[email protected]> Reviewed-by: Joseph Qi <[email protected]> Cc: Mark Fasheh <[email protected]> Cc: Joel Becker <[email protected]> Cc: Junxiao Bi <[email protected]> Cc: Changwei Ge <[email protected]> Cc: Gang He <[email protected]> Cc: Jun Piao <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Rather than while_each_thread() which should be avoided when possible. This makes the code more clear and allows the next change. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Oleg Nesterov <[email protected]> Cc: "Eric W. Biederman" <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Rather than lock_task_sighand(), sig->stats_lock was specifically designed for this type of use. This way the "if (whole)" branch runs lockless in the likely case. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Oleg Nesterov <[email protected]> Cc: "Eric W. Biederman" <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
./fs/proc/base.c:3829:2-3: Unneeded semicolon Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Yang Li <[email protected]> Reported-by: Abaci Robot <[email protected]> Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=7057 Acked-by: Oleg Nesterov <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
* fix embarassing /proc/*/smaps test bug due to a typo in variable name it tested only the first line of the output if vsyscall is enabled: ffffffffff600000-ffffffffff601000 r-xp ... so test passed but tested only VMA location and permissions. * add "KSM" entry, unnoticed because (1) * swap "r-xp" and "--xp" vsyscall test strings, also unnoticed because (1) Link: https://lkml.kernel.org/r/76f42cce-b1ab-45ec-b6b2-4c64f0dccb90@p183 Signed-off-by: Alexey Dobriyan <[email protected]> Cc: Swarup Laxman Kotiaklapudi <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Check ProtectionKey field in /proc/*/smaps output, if system supports protection keys feature. [[email protected]: test support in the beginning of the program, use syscall, not glibc pkey_alloc(3) which may not compile] Link: https://lkml.kernel.org/r/ac05efa7-d2a0-48ad-b704-ffdd5450582e@p183 Signed-off-by: Swarup Laxman Kotiaklapudi <[email protected]> Signed-off-by: Alexey Dobriyan <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Fix a spelling typo in comment. Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Kunwu Chan <[email protected]> Acked-by: Joseph Qi <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
csr_sscratch CSR holds current task_struct address when hart is in user space. Trap handler on entry spills csr_sscratch into "tp" (x2) register and zeroes out csr_sscratch CSR. Trap handler on exit reloads "tp" with expected user mode value and place current task_struct address again in csr_sscratch CSR. This patch assumes "tp" is pointing to task_struct. If value in csr_sscratch is numerically greater than "tp" then it assumes csr_sscratch is correct address of current task_struct. This logic holds when - hart is in user space, "tp" will be less than csr_sscratch. - hart is in kernel space but not in trap handler, "tp" will be more than csr_sscratch (csr_sscratch being equal to 0). - hart is executing trap handler - "tp" is still pointing to user mode but csr_sscratch contains ptr to task_struct. Thus numerically higher. - "tp" is pointing to task_struct but csr_sscratch now contains either 0 or numerically smaller value (transiently holds user mode tp) Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Deepak Gupta <[email protected]> Reviewed-by: Andrew Jones <[email protected]> Reviewed-by: Palmer Dabbelt <[email protected]> Acked-by: Palmer Dabbelt <[email protected]> Tested-by: Hsieh-Tseng Shen <[email protected]> Cc: Albert Ou <[email protected]> Cc: Glenn Washburn <[email protected]> Cc: Jan Kiszka <[email protected]> Cc: Jeff Xie <[email protected]> Cc: Kieran Bingham <[email protected]> Cc: Palmer Dabbelt <[email protected]> Cc: Paul Walmsley <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Restricted CXL Host (RCH) Error Handling undoes the topology munging of CXL 1.1 to enabled some AER recovery, and lands some base infrastructure for handling Root-Complex-Event-Collectors (RCECs) with CXL. Include this long running series finally for v6.7.
Merge some prep-work for CXL QOS class support. This cycle saw large collisions with mm on this topic, so the bulk of this topic needs to wait.
Pickup some misc. CXL updates for v6.7.
Add the committed decoder sysfs attribute for v6.7.
Pick up a NULL dereference bug fix. Signed-off-by: Ingo Molnar <[email protected]>
# New commits in irq/urgent: f199bf5 ("irqchip/gic-v3-its: Don't override quirk settings with default values") Signed-off-by: Ingo Molnar <[email protected]>
# New commits in perf/urgent: 3374491 ("perf/x86/intel: Support branch counters logging") 318c498 ("perf/x86/intel: Reorganize attrs and is_visible") 1f2376c ("perf: Add branch_sample_call_stack") 85846b2 ("perf/x86: Add PERF_X86_EVENT_NEEDS_BRANCH_STACK flag") 571d91d ("perf: Add branch stack counters") a71ef31 ("perf/core: Fix potential NULL deref") 744940f ("perf/x86/amd/uncore: Pass through error code for initialization failures, instead of -ENODEV") 7543365 ("perf/x86/amd/uncore: Fix uninitialized return value in amd_uncore_init()") deedec0 ("x86/cpu: Fix the AMD Fam 17h, Fam 19h, Zen2 and Zen4 MSR enumerations") f06cc66 ("perf: Optimize perf_cgroup_switch()") 25e5684 ("perf/x86/amd/uncore: Add memory controller support") 83a43c6 ("perf/x86/amd/uncore: Add group exclusivity") 7ef0343 ("perf/x86/amd/uncore: Use rdmsr if rdpmc is unavailable") 07888da ("perf/x86/amd/uncore: Move discovery and registration") d6389d3 ("perf/x86/amd/uncore: Refactor uncore management") 1765bb6 ("perf/core: Allow reading package events from perf_event_read_local") 05276d4 ("perf/x86/cstate: Allow reading the package statistics from local CPU") 38cd5b6 ("perf/x86/intel/pt: Fix kernel-doc comments") a56d555 ("perf/x86/rapl: Annotate 'struct rapl_pmus' with __counted_by") e6814ec ("perf/core: Rename perf_proc_update_handler() -> perf_event_max_sample_rate_handler(), for readability") 618e77d ("perf/x86/rapl: Fix "Using plain integer as NULL pointer" Sparse warning") bcc6ec3 ("perf/x86/rapl: Use local64_try_cmpxchg in rapl_event_update()") 1ce19bf ("perf/x86/rapl: Stop doing cpu_relax() in the local64_cmpxchg() loop in rapl_event_update()") 54aee5f ("perf/core: Bail out early if the request AUX area is out of bound") ffbe4ab ("perf/x86/intel: Extend the ref-cycles event to GP counters") 950ecdc ("perf/x86/intel: Fix broken fixed event constraints extension") 97588df ("perf/x86/intel: Add common intel_pmu_init_hybrid()") b0560bf ("perf/x86/intel: Clean up the hybrid CPU type handling code") 299a5fc ("perf/x86/intel: Apply the common initialization code for ADL") d87d221 ("perf/x86/intel: Factor out the initialization code for ADL e-core") 0ba0c03 ("perf/x86/intel: Factor out the initialization code for SPR") d4b5694 ("perf/x86/intel: Use the common uarch name for the shared functions") Signed-off-by: Ingo Molnar <[email protected]>
# New commits in x86/urgent: bd94d86 ("x86/tsc: Defer marking TSC unstable to a worker") 128b0c9 ("x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility") b99d70c ("x86/cpu: Add model number for Intel Arrow Lake mobile processor") Signed-off-by: Ingo Molnar <[email protected]>
# New commits in x86/merge: 50dcc2e ("x86/boot: efistub: Assign global boot_params variable") d55d5bc ("x86/boot: Rename conflicting 'boot_params' pointer to 'boot_params_ptr'") d2a285d ("x86/head/64: Move the __head definition to <asm/init.h>") 7f6874e ("x86/head/64: Add missing __head annotation to startup_64_load_idt()") dc62830 ("x86/head/64: Mark 'startup_gdt[]' and 'startup_gdt_descr' as __initdata") 92fe9bb ("x86/apic, x86/hyperv: Use u32 in hv_snp_boot_ap() too") 48525fd ("x86/cpu: Provide debug interface") 90781f0 ("x86/cpu/topology: Cure the abuse of cpuinfo for persisting logical ids") db4a408 ("x86/apic: Use u32 for wakeup_secondary_cpu[_64]()") 59f7928 ("x86/apic: Use u32 for [gs]et_apic_id()") 01ccf9b ("x86/apic: Use u32 for phys_pkg_id()") 8aa2a41 ("x86/apic: Use u32 for cpu_present_to_apicid()") 5d376b8 ("x86/apic: Use u32 for check_apicid_used()") 4705243 ("x86/apic: Use u32 for APIC IDs in global data") 9ff4275 ("x86/apic: Use BAD_APICID consistently") 6e29032 ("x86/cpu: Move cpu_l[l2]c_id into topology info") 22dc963 ("x86/cpu: Move logical package and die IDs into topology info") 594957d ("x86/cpu: Remove pointless evaluation of x86_coreid_bits") e3c0c5d ("x86/cpu: Move cu_id into topology info") e952563 ("x86/cpu: Move cpu_core_id into topology info") 94f0b39 ("hwmon: (fam15h_power) Use topology_core_id()") 0925367 ("scsi: lpfc: Use topology_core_id()") 8a169ed ("x86/cpu: Move cpu_die_id into topology info") 02fb601 ("x86/cpu: Move phys_proc_id into topology info") b9655e7 ("x86/cpu: Encapsulate topology information in cpuinfo_x86") 965e05f ("x86/apic: Fake primary thread mask for XEN/PV") d91bdd9 ("cpu/SMT: Make SMT control more robust against enumeration failures") ee545b9 ("x86/cpu/hygon: Fix the CPU topology evaluation for real") 9f76d60 ("x86/boot: Harmonize the style of array-type parameter for fixup_pointer() calls") 001470f ("x86/boot: Fix incorrect startup_gdt_descr.size") b3bee1e ("x86/boot: Compile boot code with -std=gnu11 too") 3e3eabe ("x86/boot: Increase section and file alignment to 4k/512") 34951f3 ("x86/boot: Split off PE/COFF .data section") fa57505 ("x86/boot: Drop PE/COFF .reloc section") efa089e ("x86/boot: Construct PE/COFF .text section from assembler") aeb9206 ("x86/boot: Derive file size from _edata symbol") 093ab25 ("x86/boot: Define setup size in linker script") eac9563 ("x86/boot: Set EFI handover offset directly in header asm") 2e765c0 ("x86/boot: Grab kernel_info offset from zoffset header directly") b618d31 ("x86/boot: Drop references to startup_64") 7448e8e ("x86/boot: Drop redundant code setting the root device") 8eace5b ("x86/boot: Omit compression buffer from PE/COFF image memory footprint") 768171d ("x86/boot: Remove the 'bugger off' message") bfab35f ("x86/efi: Drop alignment flags from PE section headers") 7e50262 ("x86/efi: Disregard setup header of loaded image") 5f51c5d ("x86/efi: Drop EFI stub .bss from .data section") Signed-off-by: Ingo Molnar <[email protected]>
# New commits in core/core: 1aabbc5 ("signal: Don't disable preemption in ptrace_stop() on PREEMPT_RT") a20d6f6 ("signal: Add a proper comment about preempt_disable() in ptrace_stop()") Signed-off-by: Ingo Molnar <[email protected]>
# New commits in irq/core: f99b926 ("irqchip/sifive-plic: Fix syscore registration for multi-socket systems") 08d4c17 ("irqchip/ls-scfg-msi: Use device_get_match_data()") 5e7afb2 ("genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware") a0b0bad ("genirq/matrix: Exclude managed interrupts in irq_matrix_allocated()") 41efa43 ("PCI/MSI: Provide stubs for IMS functions") f881feb ("irqchip/renesas-rzg2l: Enhance driver to support interrupt affinity setting") 021a8ca ("genirq/generic-chip: Fix the irq_chip name for /proc/interrupts") 6260ecd ("irqdomain: Annotate struct irq_domain with __counted_by") Signed-off-by: Ingo Molnar <[email protected]>
# New commits in locking/core: c73801a ("futex: Don't include process MM in futex key on no-MMU") 184fdf9 ("locking/seqlock: Fix grammar in comment") dcc1345 ("alpha: Fix up new futex syscall numbers") 886ee55 ("locking/seqlock: Propagate 'const' pointers within read-only methods, remove forced type casts") ac8b60b ("locking/lockdep: Fix string sizing bug that triggers a format-truncation compiler-warning") e6115c6 ("locking/seqlock: Change __seqprop() to return the function pointer") f995443 ("locking/seqlock: Simplify SEQCOUNT_LOCKNAME()") 4fbf8b1 ("locking/atomics: Use atomic_try_cmpxchg_release() to micro-optimize rcuref_put_slowpath()") ad0a2e4 ("locking/atomic, xen: Use sync_try_cmpxchg() instead of sync_cmpxchg()") 636d6a8 ("locking/atomic/x86: Introduce arch_sync_try_cmpxchg()") e01cc1e ("locking/atomic: Add generic support for sync_try_cmpxchg() and its fallback") 0cff993 ("locking/seqlock: Fix typo in comment") 01a99a7 ("futex/requeue: Remove unnecessary ‘NULL’ initialization from futex_proxy_trylock_atomic()") 5e0eb67 ("locking/local, arch: Rewrite local_add_unless() as a static inline function") 8788c6c ("locking/debug: Fix debugfs API return value checks to use IS_ERR()") cfa92b6 ("locking/ww_mutex/test: Make sure we bail out instead of livelock") bccdd80 ("locking/ww_mutex/test: Fix potential workqueue corruption") 4812c54 ("locking/ww_mutex/test: Use prng instead of rng to avoid hangs at bootup") 0f4b5f9 ("futex: Add sys_futex_requeue()") 27b88f3 ("futex: Add flags2 argument to futex_requeue()") 3b63a55 ("futex: Propagate flags into get_futex_key()") cb8c431 ("futex: Add sys_futex_wait()") 43adf84 ("futex: FLAGS_STRICT") 9f6c532 ("futex: Add sys_futex_wake()") 698eb82 ("futex: Validate futex value against futex size") 5694289 ("futex: Flag conversion") d6d08d2 ("futex: Extend the FUTEX2 flags") 4923954 ("futex: Clarify FUTEX2 flags") c6f4a90 ("asm-generic: ticket-lock: Optimize arch_spin_value_unlocked()") fbeb558 ("futex/pi: Fix recursive rt_mutex waiter state") 45f67f3 ("locking/rtmutex: Add a lockdep assert to catch potential nested blocking") d14f9e9 ("locking/rtmutex: Use rt_mutex specific scheduler helpers") 6b596e6 ("sched: Provide rt_mutex specific scheduler helpers") de1474b ("sched: Extract __schedule_loop()") af9f006 ("locking/rtmutex: Avoid unconditional slowpath for DEBUG_RT_MUTEXES") 28bc55f ("sched: Constrain locks in sched_submit_work()") a432b7c ("locking/lockref/x86: Enable ARCH_USE_CMPXCHG_LOCKREF for X86_CMPXCHG64") e35a6cf ("futex: Use a folio instead of a page") 85be6d8 ("cleanup: Make no_free_ptr() __must_check") Signed-off-by: Ingo Molnar <[email protected]>
# New commits in objtool/core: 60fd39a ("scripts/faddr2line: Skip over mapping symbols in output from readelf") 86bf86e ("scripts/faddr2line: Use LLVM addr2line and readelf if LLVM=1") 180af1a ("scripts/faddr2line: Don't filter out non-function symbols from readelf") f404a58 ("objtool: Remove max symbol name length limitation") e959c27 ("objtool: Propagate early errors") 758a743 ("objtool: Use 'the fallthrough' pseudo-keyword") b8ec60e ("x86/speculation, objtool: Use absolute relocations for annotations") fef44eb ("x86/unwind/orc: Remove redundant initialization of 'mid' pointer in __orc_find()") Signed-off-by: Ingo Molnar <[email protected]>
…git/krisman/unicode.git
…rnel/git/vbabka/slab.git
…el/git/mcgrof/linux.git
…kernel/git/kees/linux.git
…git/pateldipen1984/linux.git # Conflicts: # drivers/hte/Kconfig
…rnel/git/kees/linux.git
…git/jgg/iommufd.git # Conflicts: # drivers/iommu/iommufd/selftest.c # include/linux/iommu.h
interacting with "net/tcp: Introduce TCP_AO setsockopt()s" Signed-off-by: Stephen Rothwell <[email protected]>
Signed-off-by: Stephen Rothwell <[email protected]>
This makes it easier to deal with nested objects or arrays. Signed-off-by: Matthew Maurer <[email protected]>
Some configurations, such as enabled sanitizers, are arrays Signed-off-by: Matthew Maurer <[email protected]>
On newer clang, a flag is available which makes KCFI compatibility with rustc possible without significant contortions. Signed-off-by: Matthew Maurer <[email protected]>
This was referenced Apr 4, 2024
ojeda
force-pushed
the
rust-next
branch
3 times, most recently
from
October 9, 2024 22:37
c9b5ce6
to
ce1c54f
Compare
ojeda
force-pushed
the
rust-next
branch
3 times, most recently
from
October 15, 2024 21:11
9ee7197
to
6ce162a
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This won't currently work with existing stable Rust releases. It does work with
rustc-1.72
with some modifications:Anti-ICE patches:
KCFI disablement :( (Currently trying to figure out how to avoid this, will likely need to generate stubs in the compiler.)