[PATCH 1/2] dma-buf: add dma_fence_unwrap

Christian König christian.koenig at amd.com
Fri Mar 25 15:28:01 UTC 2022


Am 25.03.22 um 16:25 schrieb Ville Syrjälä:
> On Fri, Mar 11, 2022 at 12:02:43PM +0100, Christian König wrote:
>> Add a general purpose helper to deep dive into dma_fence_chain/dma_fence_array
>> structures and iterate over all the fences in them.
>>
>> This is useful when we need to flatten out all fences in those structures.
>>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
> One of the dma-buf patches took down Intel CI. Looks like every
> machine oopses in some sync_file thing now:
> <1>[  260.470008] BUG: kernel NULL pointer dereference, address: 0000000000000010
> <1>[  260.470020] #PF: supervisor read access in kernel mode
> <1>[  260.470025] #PF: error_code(0x0000) - not-present page
> <6>[  260.470030] PGD 0 P4D 0
> <4>[  260.470035] Oops: 0000 [#1] PREEMPT SMP NOPTI
> <4>[  260.470040] CPU: 0 PID: 5306 Comm: core_hotunplug Not tainted 5.17.0-CI-CI_DRM_11405+ #1
> <4>[  260.470049] Hardware name: Intel Corporation Jasper Lake Client Platform/Jasperlake DDR4 SODIMM RVP, BIOS JSLSFWI1.R00.2385.D02.2010160831 10/16/2020
> <4>[  260.470058] RIP: 0010:dma_fence_array_first+0x19/0x20
> <4>[  260.470068] Code: c3 31 c0 c3 0f 1f 00 66 2e 0f 1f 84 00 00 00 00 00 48 85 ff 74 18 48 89 f8 48 81 7f 08 60 7f 0a 82 75 0d 48 8b 87 88 00 00 00 <48> 8b 00 c3 31 c0 c3 31 c0 48 85 ff 74 20 48 81 7f 08 60 7f 0a 82
> <4>[  260.470080] RSP: 0018:ffffc900009a7e40 EFLAGS: 00010246
> <4>[  260.470086] RAX: 0000000000000010 RBX: 000000000000000b RCX: 0000000000000000
> <4>[  260.470100] RDX: 0000000000000001 RSI: 0000000000000001 RDI: ffff888109a796b8
> <4>[  260.470106] RBP: ffff888109a796b8 R08: 0000000000000002 R09: 0000000000000000
> <4>[  260.470112] R10: 0000000000000001 R11: 0000000000000000 R12: ffff888109a796b8
> <4>[  260.470118] R13: 00007ffc5d21f750 R14: ffff8881065be340 R15: 0000000000000000
> <4>[  260.470124] FS:  00007f08bd6d04c0(0000) GS:ffff88885fc00000(0000) knlGS:0000000000000000
> <4>[  260.470131] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> <4>[  260.470137] CR2: 0000000000000010 CR3: 000000010e690000 CR4: 0000000000350ef0
> <4>[  260.470143] Call Trace:
> <4>[  260.470146]  <TASK>
> <4>[  260.470149]  sync_file_ioctl+0x2eb/0xc90
> <4>[  260.470157]  __x64_sys_ioctl+0x6a/0xa0
> <4>[  260.470164]  do_syscall_64+0x37/0xb0
> <4>[  260.470170]  entry_SYSCALL_64_after_hwframe+0x44/0xae
> <4>[  260.470176] RIP: 0033:0x7f08c047750b
> <4>[  260.470182] Code: 0f 1e fa 48 8b 05 85 39 0d 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 55 39 0d 00 f7 d8 64 89 01 48
> <4>[  260.470195] RSP: 002b:00007ffc5d21f748 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
> <4>[  260.470202] RAX: ffffffffffffffda RBX: 000000000000000a RCX: 00007f08c047750b
> <4>[  260.470208] RDX: 00007ffc5d21f750 RSI: 00000000c0303e03 RDI: 000000000000000a
> <4>[  260.470214] RBP: 0000000000000005 R08: 0000000000000000 R09: 00007ffc5d21ebb0
> <4>[  260.470219] R10: 00007f08c0a6170e R11: 0000000000000246 R12: 0000000000000000
> <4>[  260.470225] R13: 00007ffc5d21f840 R14: 000055e80d13d1b0 R15: 0000000000000009
> <4>[  260.470233]  </TASK>
> <4>[  260.470239] Modules linked in: vgem drm_shmem_helper fuse snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio i915 snd_hda_intel snd_intel_dspcfg snd_hda_codec x86_pkg_temp_thermal coretemp crct10dif_pclmul crc32_pclmul snd_hwdep ghash_clmulni_intel snd_hda_core ttm drm_buddy drm_dp_helper snd_pcm drm_kms_helper i2c_i801 r8169 i2c_smbus syscopyarea realtek sysfillrect sysimgblt fb_sys_fops prime_numbers intel_lpss_pci
> <4>[  260.470289] CR2: 0000000000000010
> <4>[  260.470312] ---[ end trace 0000000000000000 ]---
>
> Can we please start running dma-buf stuff through CI so this
> kind of stuff doesn't keep happening so often?

I've did ran it through CI, but since the most recent patches didn't 
applied on top of drm-tip for some reason the result was just garbage.

Going to take a look into this immediately, looks like something which 
I've seen during development maybe the wrong patch was pushed to 
drm-misc-next-fixes or something like this.

Thanks for letting me know,
Christian.


More information about the dri-devel mailing list