Revision d99fbd9aab624fc030934e21655389ab1765dc94 authored by Thomas Hellström on 28 June 2024, 15:38:48 UTC, committed by Thomas Hellström on 04 July 2024, 07:22:04 UTC
Bos can be put with multiple unrelated dma-resv locks held. But
imported bos attempt to grab the bo dma-resv during dma-buf detach
that typically happens during cleanup. That leads to lockde splats
similar to the below and a potential ABBA deadlock.

Fix this by always taking the delayed workqueue cleanup path for
imported bos.

Requesting stable fixes from when the Xe driver was introduced,
since its usage of drm_exec and wide vm dma_resvs appear to be
the first reliable trigger of this.

[22982.116427] ============================================
[22982.116428] WARNING: possible recursive locking detected
[22982.116429] 6.10.0-rc2+ #10 Tainted: G     U  W
[22982.116430] --------------------------------------------
[22982.116430] glxgears:sh0/5785 is trying to acquire lock:
[22982.116431] ffff8c2bafa539a8 (reservation_ww_class_mutex){+.+.}-{3:3}, at: dma_buf_detach+0x3b/0xf0
[22982.116438]
               but task is already holding lock:
[22982.116438] ffff8c2d9aba6da8 (reservation_ww_class_mutex){+.+.}-{3:3}, at: drm_exec_lock_obj+0x49/0x2b0 [drm_exec]
[22982.116442]
               other info that might help us debug this:
[22982.116442]  Possible unsafe locking scenario:

[22982.116443]        CPU0
[22982.116444]        ----
[22982.116444]   lock(reservation_ww_class_mutex);
[22982.116445]   lock(reservation_ww_class_mutex);
[22982.116447]
                *** DEADLOCK ***

[22982.116447]  May be due to missing lock nesting notation

[22982.116448] 5 locks held by glxgears:sh0/5785:
[22982.116449]  #0: ffff8c2d9aba58c8 (&xef->vm.lock){+.+.}-{3:3}, at: xe_file_close+0xde/0x1c0 [xe]
[22982.116507]  #1: ffff8c2e28cc8480 (&vm->lock){++++}-{3:3}, at: xe_vm_close_and_put+0x161/0x9b0 [xe]
[22982.116578]  #2: ffff8c2e31982970 (&val->lock){.+.+}-{3:3}, at: xe_validation_ctx_init+0x6d/0x70 [xe]
[22982.116647]  #3: ffffacdc469478a8 (reservation_ww_class_acquire){+.+.}-{0:0}, at: xe_vma_destroy_unlocked+0x7f/0xe0 [xe]
[22982.116716]  #4: ffff8c2d9aba6da8 (reservation_ww_class_mutex){+.+.}-{3:3}, at: drm_exec_lock_obj+0x49/0x2b0 [drm_exec]
[22982.116719]
               stack backtrace:
[22982.116720] CPU: 8 PID: 5785 Comm: glxgears:sh0 Tainted: G     U  W          6.10.0-rc2+ #10
[22982.116721] Hardware name: ASUS System Product Name/PRIME B560M-A AC, BIOS 2001 02/01/2023
[22982.116723] Call Trace:
[22982.116724]  <TASK>
[22982.116725]  dump_stack_lvl+0x77/0xb0
[22982.116727]  __lock_acquire+0x1232/0x2160
[22982.116730]  lock_acquire+0xcb/0x2d0
[22982.116732]  ? dma_buf_detach+0x3b/0xf0
[22982.116734]  ? __lock_acquire+0x417/0x2160
[22982.116736]  __ww_mutex_lock.constprop.0+0xd0/0x13b0
[22982.116738]  ? dma_buf_detach+0x3b/0xf0
[22982.116741]  ? dma_buf_detach+0x3b/0xf0
[22982.116743]  ? ww_mutex_lock+0x2b/0x90
[22982.116745]  ww_mutex_lock+0x2b/0x90
[22982.116747]  dma_buf_detach+0x3b/0xf0
[22982.116749]  drm_prime_gem_destroy+0x2f/0x40 [drm]
[22982.116775]  xe_ttm_bo_destroy+0x32/0x220 [xe]
[22982.116818]  ? __mutex_unlock_slowpath+0x3a/0x290
[22982.116821]  drm_exec_unlock_all+0xa1/0xd0 [drm_exec]
[22982.116823]  drm_exec_fini+0x12/0xb0 [drm_exec]
[22982.116824]  xe_validation_ctx_fini+0x15/0x40 [xe]
[22982.116892]  xe_vma_destroy_unlocked+0xb1/0xe0 [xe]
[22982.116959]  xe_vm_close_and_put+0x41a/0x9b0 [xe]
[22982.117025]  ? xa_find+0xe3/0x1e0
[22982.117028]  xe_file_close+0x10a/0x1c0 [xe]
[22982.117074]  drm_file_free+0x22a/0x280 [drm]
[22982.117099]  drm_release_noglobal+0x22/0x70 [drm]
[22982.117119]  __fput+0xf1/0x2d0
[22982.117122]  task_work_run+0x59/0x90
[22982.117125]  do_exit+0x330/0xb40
[22982.117127]  do_group_exit+0x36/0xa0
[22982.117129]  get_signal+0xbd2/0xbe0
[22982.117131]  arch_do_signal_or_restart+0x3e/0x240
[22982.117134]  syscall_exit_to_user_mode+0x1e7/0x290
[22982.117137]  do_syscall_64+0xa1/0x180
[22982.117139]  ? lock_acquire+0xcb/0x2d0
[22982.117140]  ? __set_task_comm+0x28/0x1e0
[22982.117141]  ? find_held_lock+0x2b/0x80
[22982.117144]  ? __set_task_comm+0xe1/0x1e0
[22982.117145]  ? lock_release+0xca/0x290
[22982.117147]  ? __do_sys_prctl+0x245/0xab0
[22982.117149]  ? lockdep_hardirqs_on_prepare+0xde/0x190
[22982.117150]  ? syscall_exit_to_user_mode+0xb0/0x290
[22982.117152]  ? do_syscall_64+0xa1/0x180
[22982.117154]  ? __lock_acquire+0x417/0x2160
[22982.117155]  ? reacquire_held_locks+0xd1/0x1f0
[22982.117156]  ? do_user_addr_fault+0x30c/0x790
[22982.117158]  ? lock_acquire+0xcb/0x2d0
[22982.117160]  ? find_held_lock+0x2b/0x80
[22982.117162]  ? do_user_addr_fault+0x357/0x790
[22982.117163]  ? lock_release+0xca/0x290
[22982.117164]  ? do_user_addr_fault+0x361/0x790
[22982.117166]  ? trace_hardirqs_off+0x4b/0xc0
[22982.117168]  ? clear_bhb_loop+0x45/0xa0
[22982.117170]  ? clear_bhb_loop+0x45/0xa0
[22982.117172]  ? clear_bhb_loop+0x45/0xa0
[22982.117174]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[22982.117176] RIP: 0033:0x7f943d267169
[22982.117192] Code: Unable to access opcode bytes at 0x7f943d26713f.
[22982.117193] RSP: 002b:00007f9430bffc80 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
[22982.117195] RAX: fffffffffffffe00 RBX: 0000000000000000 RCX: 00007f943d267169
[22982.117196] RDX: 0000000000000000 RSI: 0000000000000189 RDI: 00005622f89579d0
[22982.117197] RBP: 00007f9430bffcb0 R08: 0000000000000000 R09: 00000000ffffffff
[22982.117198] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
[22982.117199] R13: 0000000000000000 R14: 0000000000000000 R15: 00005622f89579d0
[22982.117202]  </TASK>

Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Cc: Christian König <christian.koenig@amd.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v6.8+
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240628153848.4989-1-thomas.hellstrom@linux.intel.com
1 parent 740b8da
History
File Mode Size
842
crypto
dim
fonts
kunit
lz4
lzo
math
pldmfw
raid6
reed_solomon
test_fortify
vdso
xz
zlib_deflate
zlib_dfltcc
zlib_inflate
zstd
.gitignore -rw-r--r-- 174 bytes
Kconfig -rw-r--r-- 17.5 KB
Kconfig.debug -rw-r--r-- 99.6 KB
Kconfig.kasan -rw-r--r-- 7.5 KB
Kconfig.kcsan -rw-r--r-- 10.0 KB
Kconfig.kfence -rw-r--r-- 3.5 KB
Kconfig.kgdb -rw-r--r-- 5.6 KB
Kconfig.kmsan -rw-r--r-- 2.3 KB
Kconfig.ubsan -rw-r--r-- 6.5 KB
Makefile -rw-r--r-- 14.6 KB
alloc_tag.c -rw-r--r-- 6.0 KB
argv_split.c -rw-r--r-- 2.1 KB
ashldi3.c -rw-r--r-- 541 bytes
ashrdi3.c -rw-r--r-- 565 bytes
asn1_decoder.c -rw-r--r-- 13.2 KB
asn1_encoder.c -rw-r--r-- 10.3 KB
assoc_array.c -rw-r--r-- 51.9 KB
atomic64.c -rw-r--r-- 4.5 KB
atomic64_test.c -rw-r--r-- 6.4 KB
audit.c -rw-r--r-- 1.9 KB
base64.c -rw-r--r-- 2.4 KB
bcd.c -rw-r--r-- 297 bytes
bch.c -rw-r--r-- 36.8 KB
bitfield_kunit.c -rw-r--r-- 4.4 KB
bitmap-str.c -rw-r--r-- 14.9 KB
bitmap.c -rw-r--r-- 26.6 KB
bitrev.c -rw-r--r-- 1.9 KB
bootconfig-data.S -rw-r--r-- 275 bytes
bootconfig.c -rw-r--r-- 21.7 KB
bsearch.c -rw-r--r-- 1.2 KB
btree.c -rw-r--r-- 19.2 KB
bucket_locks.c -rw-r--r-- 1.4 KB
bug.c -rw-r--r-- 6.1 KB
build_OID_registry -rwxr-xr-x 4.6 KB
buildid.c -rw-r--r-- 5.0 KB
bust_spinlocks.c -rw-r--r-- 632 bytes
check_signature.c -rw-r--r-- 635 bytes
checksum.c -rw-r--r-- 4.1 KB
checksum_kunit.c -rw-r--r-- 34.9 KB
closure.c -rw-r--r-- 5.5 KB
clz_ctz.c -rw-r--r-- 899 bytes
clz_tab.c -rw-r--r-- 891 bytes
cmdline.c -rw-r--r-- 5.8 KB
cmdline_kunit.c -rw-r--r-- 4.2 KB
cmpdi2.c -rw-r--r-- 501 bytes
cmpxchg-emu.c -rw-r--r-- 1.1 KB
codetag.c -rw-r--r-- 6.0 KB
compat_audit.c -rw-r--r-- 1002 bytes
cpu_rmap.c -rw-r--r-- 8.2 KB
cpumask.c -rw-r--r-- 5.5 KB
cpumask_kunit.c -rw-r--r-- 4.9 KB
crc-ccitt.c -rw-r--r-- 2.9 KB
crc-itu-t.c -rw-r--r-- 2.7 KB
crc-t10dif.c -rw-r--r-- 3.2 KB
crc16.c -rw-r--r-- 2.7 KB
crc32.c -rw-r--r-- 9.3 KB
crc32defs.h -rw-r--r-- 1.6 KB
crc32test.c -rw-r--r-- 37.4 KB
crc4.c -rw-r--r-- 1003 bytes
crc64-rocksoft.c -rw-r--r-- 3.2 KB
crc64.c -rw-r--r-- 2.6 KB
crc7.c -rw-r--r-- 2.5 KB
crc8.c -rw-r--r-- 2.4 KB
ctype.c -rw-r--r-- 1.4 KB
debug_info.c -rw-r--r-- 782 bytes
debug_locks.c -rw-r--r-- 1.2 KB
debugobjects.c -rw-r--r-- 35.9 KB
dec_and_lock.c -rw-r--r-- 2.0 KB
decompress.c -rw-r--r-- 1.8 KB
decompress_bunzip2.c -rw-r--r-- 23.5 KB
decompress_inflate.c -rw-r--r-- 4.8 KB
decompress_unlz4.c -rw-r--r-- 4.2 KB
decompress_unlzma.c -rw-r--r-- 15.8 KB
decompress_unlzo.c -rw-r--r-- 6.4 KB
decompress_unxz.c -rw-r--r-- 10.9 KB
decompress_unzstd.c -rw-r--r-- 10.3 KB
devmem_is_allowed.c -rw-r--r-- 705 bytes
devres.c -rw-r--r-- 10.2 KB
dhry.h -rw-r--r-- 14.3 KB
dhry_1.c -rw-r--r-- 7.9 KB
dhry_2.c -rw-r--r-- 4.4 KB
dhry_run.c -rw-r--r-- 1.7 KB
digsig.c -rw-r--r-- 5.5 KB
dump_stack.c -rw-r--r-- 3.4 KB
dynamic_debug.c -rw-r--r-- 37.7 KB
dynamic_queue_limits.c -rw-r--r-- 6.6 KB
earlycpio.c -rw-r--r-- 3.6 KB
errname.c -rw-r--r-- 3.8 KB
error-inject.c -rw-r--r-- 5.3 KB
errseq.c -rw-r--r-- 6.6 KB
extable.c -rw-r--r-- 2.9 KB
fault-inject-usercopy.c -rw-r--r-- 823 bytes
fault-inject.c -rw-r--r-- 11.3 KB
fdt.c -rw-r--r-- 69 bytes
fdt_addresses.c -rw-r--r-- 79 bytes
fdt_empty_tree.c -rw-r--r-- 80 bytes
fdt_ro.c -rw-r--r-- 72 bytes
fdt_rw.c -rw-r--r-- 72 bytes
fdt_strerror.c -rw-r--r-- 78 bytes
fdt_sw.c -rw-r--r-- 72 bytes
fdt_wip.c -rw-r--r-- 73 bytes
find_bit.c -rw-r--r-- 7.5 KB
find_bit_benchmark.c -rw-r--r-- 4.9 KB
flex_proportions.c -rw-r--r-- 5.4 KB
fortify_kunit.c -rw-r--r-- 39.3 KB
fw_table.c -rw-r--r-- 6.1 KB
gen_crc32table.c -rw-r--r-- 3.3 KB
gen_crc64table.c -rw-r--r-- 2.1 KB
genalloc.c -rw-r--r-- 26.4 KB
generic-radix-tree.c -rw-r--r-- 6.5 KB
glob.c -rw-r--r-- 3.5 KB
globtest.c -rw-r--r-- 4.2 KB
group_cpus.c -rw-r--r-- 11.0 KB
hashtable_test.c -rw-r--r-- 8.0 KB
hexdump.c -rw-r--r-- 8.5 KB
hweight.c -rw-r--r-- 1.9 KB
idr.c -rw-r--r-- 17.5 KB
inflate.c -rw-r--r-- 38.7 KB
interval_tree.c -rw-r--r-- 4.2 KB
interval_tree_test.c -rw-r--r-- 3.4 KB
iomap.c -rw-r--r-- 11.0 KB
iomap_copy.c -rw-r--r-- 2.2 KB
iommu-helper.c -rw-r--r-- 755 bytes
iov_iter.c -rw-r--r-- 41.9 KB
irq_poll.c -rw-r--r-- 5.6 KB
irq_regs.c -rw-r--r-- 394 bytes
is_signed_type_kunit.c -rw-r--r-- 1.5 KB
is_single_threaded.c -rw-r--r-- 1.2 KB
kasprintf.c -rw-r--r-- 1.4 KB
kfifo.c -rw-r--r-- 12.3 KB
klist.c -rw-r--r-- 10.4 KB
kobject.c -rw-r--r-- 27.8 KB
kobject_uevent.c -rw-r--r-- 18.8 KB
kstrtox.c -rw-r--r-- 10.8 KB
kstrtox.h -rw-r--r-- 411 bytes
kunit_iov_iter.c -rw-r--r-- 18.7 KB
libcrc32c.c -rw-r--r-- 1.9 KB
linear_ranges.c -rw-r--r-- 8.1 KB
list-test.c -rw-r--r-- 35.1 KB
list_debug.c -rw-r--r-- 2.3 KB
list_sort.c -rw-r--r-- 8.2 KB
llist.c -rw-r--r-- 3.3 KB
locking-selftest-hardirq.h -rw-r--r-- 246 bytes
locking-selftest-mutex.h -rw-r--r-- 159 bytes
locking-selftest-rlock-hardirq.h -rw-r--r-- 74 bytes
locking-selftest-rlock-softirq.h -rw-r--r-- 74 bytes
locking-selftest-rlock.h -rw-r--r-- 197 bytes
locking-selftest-rsem.h -rw-r--r-- 202 bytes
locking-selftest-rtmutex.h -rw-r--r-- 162 bytes
locking-selftest-softirq.h -rw-r--r-- 246 bytes
locking-selftest-spin-hardirq.h -rw-r--r-- 73 bytes
locking-selftest-spin-softirq.h -rw-r--r-- 73 bytes
locking-selftest-spin.h -rw-r--r-- 157 bytes
locking-selftest-wlock-hardirq.h -rw-r--r-- 74 bytes
locking-selftest-wlock-softirq.h -rw-r--r-- 74 bytes
locking-selftest-wlock.h -rw-r--r-- 197 bytes
locking-selftest-wsem.h -rw-r--r-- 202 bytes
locking-selftest.c -rw-r--r-- 64.5 KB
lockref.c -rw-r--r-- 3.9 KB
logic_iomem.c -rw-r--r-- 7.2 KB
logic_pio.c -rw-r--r-- 8.4 KB
lru_cache.c -rw-r--r-- 17.5 KB
lshrdi3.c -rw-r--r-- 559 bytes
lwq.c -rw-r--r-- 3.6 KB
maple_tree.c -rw-r--r-- 192.0 KB
memcat_p.c -rw-r--r-- 753 bytes
memcpy_kunit.c -rw-r--r-- 14.9 KB
memory-notifier-error-inject.c -rw-r--r-- 1.1 KB
memregion.c -rw-r--r-- 429 bytes
memweight.c -rw-r--r-- 1.0 KB
muldi3.c -rw-r--r-- 1.7 KB
net_utils.c -rw-r--r-- 697 bytes
netdev-notifier-error-inject.c -rw-r--r-- 1.5 KB
nlattr.c -rw-r--r-- 27.9 KB
nmi_backtrace.c -rw-r--r-- 3.4 KB
notifier-error-inject.c -rw-r--r-- 2.5 KB
notifier-error-inject.h -rw-r--r-- 653 bytes
objagg.c -rw-r--r-- 28.2 KB
objpool.c -rw-r--r-- 4.8 KB
of-reconfig-notifier-error-inject.c -rw-r--r-- 1.3 KB
oid_registry.c -rw-r--r-- 4.4 KB
once.c -rw-r--r-- 2.2 KB
overflow_kunit.c -rw-r--r-- 46.4 KB
packing.c -rw-r--r-- 6.3 KB
parman.c -rw-r--r-- 10.6 KB
parser.c -rw-r--r-- 9.1 KB
percpu-refcount.c -rw-r--r-- 15.3 KB
percpu_counter.c -rw-r--r-- 9.7 KB
percpu_test.c -rw-r--r-- 3.2 KB
plist.c -rw-r--r-- 5.9 KB
pm-notifier-error-inject.c -rw-r--r-- 1.2 KB
polynomial.c -rw-r--r-- 3.6 KB
radix-tree.c -rw-r--r-- 43.1 KB
radix-tree.h -rw-r--r-- 244 bytes
random32.c -rw-r--r-- 9.1 KB
ratelimit.c -rw-r--r-- 1.8 KB
rbtree.c -rw-r--r-- 17.1 KB
rbtree_test.c -rw-r--r-- 9.4 KB
rcuref.c -rw-r--r-- 9.5 KB
ref_tracker.c -rw-r--r-- 6.7 KB
refcount.c -rw-r--r-- 4.8 KB
rhashtable.c -rw-r--r-- 29.9 KB
sbitmap.c -rw-r--r-- 18.0 KB
scatterlist.c -rw-r--r-- 35.1 KB
seq_buf.c -rw-r--r-- 10.9 KB
sg_pool.c -rw-r--r-- 4.0 KB
sg_split.c -rw-r--r-- 5.0 KB
siphash.c -rw-r--r-- 11.6 KB
siphash_kunit.c -rw-r--r-- 7.2 KB
slub_kunit.c -rw-r--r-- 4.3 KB
smp_processor_id.c -rw-r--r-- 1.4 KB
sort.c -rw-r--r-- 9.2 KB
stackdepot.c -rw-r--r-- 22.2 KB
stackinit_kunit.c -rw-r--r-- 14.3 KB
stmp_device.c -rw-r--r-- 1.9 KB
string.c -rw-r--r-- 18.0 KB
string_helpers.c -rw-r--r-- 24.4 KB
string_helpers_kunit.c -rw-r--r-- 15.8 KB
string_kunit.c -rw-r--r-- 21.2 KB
strncpy_from_user.c -rw-r--r-- 3.9 KB
strnlen_user.c -rw-r--r-- 3.4 KB
syscall.c -rw-r--r-- 2.7 KB
test-kstrtox.c -rw-r--r-- 17.3 KB
test_bitmap.c -rw-r--r-- 44.1 KB
test_bitops.c -rw-r--r-- 3.0 KB
test_bits.c -rw-r--r-- 1.8 KB
test_blackhole_dev.c -rw-r--r-- 2.5 KB
test_bpf.c -rw-r--r-- 363.3 KB
test_debug_virtual.c -rw-r--r-- 981 bytes
test_dynamic_debug.c -rw-r--r-- 3.7 KB
test_firmware.c -rw-r--r-- 37.4 KB
test_fprobe.c -rw-r--r-- 6.9 KB
test_fpu.h -rw-r--r-- 118 bytes
test_fpu_glue.c -rw-r--r-- 1.5 KB
test_fpu_impl.c -rw-r--r-- 663 bytes
test_free_pages.c -rw-r--r-- 1003 bytes
test_hash.c -rw-r--r-- 6.5 KB
test_hexdump.c -rw-r--r-- 6.3 KB
test_hmm.c -rw-r--r-- 37.9 KB
test_hmm_uapi.h -rw-r--r-- 2.9 KB
test_ida.c -rw-r--r-- 5.3 KB
test_kmod.c -rw-r--r-- 29.5 KB
test_kprobes.c -rw-r--r-- 10.1 KB
test_linear_ranges.c -rw-r--r-- 7.4 KB
test_list_sort.c -rw-r--r-- 3.3 KB
test_lockup.c -rw-r--r-- 16.5 KB
test_maple_tree.c -rw-r--r-- 103.8 KB
test_memcat_p.c -rw-r--r-- 2.2 KB
test_meminit.c -rw-r--r-- 10.2 KB
test_min_heap.c -rw-r--r-- 4.3 KB
test_module.c -rw-r--r-- 794 bytes
test_objagg.c -rw-r--r-- 24.6 KB
test_objpool.c -rw-r--r-- 16.1 KB
test_parman.c -rw-r--r-- 11.2 KB
test_printf.c -rw-r--r-- 19.5 KB
test_ref_tracker.c -rw-r--r-- 3.1 KB
test_rhashtable.c -rw-r--r-- 19.9 KB
test_scanf.c -rw-r--r-- 28.9 KB
test_sort.c -rw-r--r-- 907 bytes
test_static_key_base.c -rw-r--r-- 1.6 KB
test_static_keys.c -rw-r--r-- 5.6 KB
test_sysctl.c -rw-r--r-- 6.8 KB
test_ubsan.c -rw-r--r-- 3.1 KB
test_user_copy.c -rw-r--r-- 9.1 KB
test_uuid.c -rw-r--r-- 3.4 KB
test_vmalloc.c -rw-r--r-- 11.7 KB
test_xarray.c -rw-r--r-- 56.5 KB
textsearch.c -rw-r--r-- 9.3 KB
timerqueue.c -rw-r--r-- 2.3 KB
trace_readwrite.c -rw-r--r-- 1.5 KB
ts_bm.c -rw-r--r-- 5.3 KB
ts_fsm.c -rw-r--r-- 10.4 KB
ts_kmp.c -rw-r--r-- 4.1 KB
ubsan.c -rw-r--r-- 13.4 KB
ubsan.h -rw-r--r-- 4.0 KB
ucmpdi2.c -rw-r--r-- 568 bytes
ucs2_string.c -rw-r--r-- 3.9 KB
usercopy.c -rw-r--r-- 2.5 KB
uuid.c -rw-r--r-- 2.9 KB
vsprintf.c -rw-r--r-- 87.8 KB
win_minmax.c -rw-r--r-- 3.4 KB
xarray.c -rw-r--r-- 59.6 KB
xxhash.c -rw-r--r-- 12.7 KB

back to top