[Intel-gfx] [PATCH] drm/i915/gem: Report error for vmap() failure

Matthew Auld matthew.auld at intel.com
Wed Dec 2 09:45:53 UTC 2020


On 01/12/2020 21:54, Chris Wilson wrote:
> Convert the NULL pointer from a failed vmap() to ERR_PTR(-ENOMEM) for
> propagation.
> 
> <1> [269.830447] BUG: kernel NULL pointer dereference, address: 0000000000000000
> <1> [269.830455] #PF: supervisor write access in kernel mode
> <1> [269.830457] #PF: error_code(0x0002) - not-present page
> <6> [269.830459] PGD 0 P4D 0
> <4> [269.830465] Oops: 0002 [#1] PREEMPT SMP PTI
> <4> [269.830469] CPU: 3 PID: 5789 Comm: i915_selftest Tainted: G     U            5.10.0-rc6-CI-CI_DRM_9412+ #1
> <4> [269.830472] Hardware name: Intel Corp. Geminilake/GLK RVP2 LP4SD (07), BIOS GELKRVPA.X64.0062.B30.1708222146 08/22/2017
> <4> [269.830636] RIP: 0010:igt_client_fill+0x1b9/0x5f0 [i915]
> <4> [269.830640] Code: e8 0c 32 02 00 48 89 c5 48 3d 00 f0 ff ff 0f 87 e9 02 00 00 48 8b 8b 78 06 00 00 44 89 f0 48 89 ef 35 af be ad de 48 c1 e9 02 <f3> ab 0f b6 83 80 03 00 00 89 c2 c0 ea 03 83 e2 02 75 09 83 c8 20
> <4> [269.830642] RSP: 0018:ffffc900007a79e8 EFLAGS: 00010206
> <4> [269.830645] RAX: 00000000df0bf37b RBX: ffff88811d8af3c0 RCX: 00000000010afc00
> <4> [269.830647] RDX: 0000000000000000 RSI: ffffffff822f2b17 RDI: 0000000000000000
> <4> [269.830648] RBP: 0000000000000000 R08: ffff888111c80930 R09: 00000000fffffffe
> <4> [269.830650] R10: 0000000000000000 R11: 00000000ffbc70e4 R12: ffff88811090f700
> <4> [269.830652] R13: ffff88810df60180 R14: 0000000001a64dd4 R15: 0000000000000000
> <4> [269.830655] FS:  00007f137b07de40(0000) GS:ffff88817b980000(0000) knlGS:0000000000000000
> <4> [269.830657] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> <4> [269.830659] CR2: 0000000000000000 CR3: 0000000115984000 CR4: 0000000000350ee0
> <4> [269.830661] Call Trace:
> <4> [269.830780]  __i915_subtests.cold.7+0x42/0x92 [i915]
> <4> [269.830886]  ? __i915_nop_teardown+0x10/0x10 [i915]
> <4> [269.830989]  ? __i915_live_setup+0x30/0x30 [i915]
> <4> [269.831104]  __run_selftests.part.3+0xf7/0x14c [i915]
> <4> [269.831939]  i915_live_selftests.cold.5+0x1f/0x47 [i915]
> <4> [269.832027]  i915_pci_probe+0x93/0x1d0 [i915]
> <4> [269.832037]  ? _raw_spin_unlock_irqrestore+0x2f/0x50
> <4> [269.832043]  pci_device_probe+0x9e/0x110
> <4> [269.832049]  really_probe+0x1c4/0x430
> <4> [269.832053]  driver_probe_device+0xd9/0x140
> <4> [269.832056]  device_driver_attach+0x4a/0x50
> <4> [269.832059]  __driver_attach+0x83/0x140
> <4> [269.832062]  ? device_driver_attach+0x50/0x50
> <4> [269.832064]  ? device_driver_attach+0x50/0x50
> <4> [269.832067]  bus_for_each_dev+0x75/0xc0
> <4> [269.832070]  bus_add_driver+0x14b/0x1f0
> <4> [269.832073]  driver_register+0x66/0xb0
> <4> [269.832160]  i915_init+0x70/0x87 [i915]
> <4> [269.832164]  ? 0xffffffffa05e3000
> <4> [269.832168]  do_one_initcall+0x56/0x2e0
> <4> [269.832174]  ? kmem_cache_alloc_trace+0x6a4/0x770
> <4> [269.832180]  do_init_module+0x55/0x200
> <4> [269.832184]  load_module+0x22a2/0x2480
> <4> [269.832191]  ? __do_sys_finit_module+0xad/0x110
> <4> [269.832194]  __do_sys_finit_module+0xad/0x110
> <4> [269.832199]  do_syscall_64+0x33/0x80
> <4> [269.832202]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
> <4> [269.832204] RIP: 0033:0x7f137a718839
> <4> [269.832208] Code: 00 f3 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 1f f6 2c 00 f7 d8 64 89 01 48
> <4> [269.832210] RSP: 002b:00007ffc4267d308 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
> <4> [269.832214] RAX: ffffffffffffffda RBX: 000056288b88f0d0 RCX: 00007f137a718839
> <4> [269.832216] RDX: 0000000000000000 RSI: 000056288b895850 RDI: 0000000000000007
> <4> [269.832218] RBP: 000056288b895850 R08: 312d3d7374736574 R09: 000056288b88c020
> <4> [269.832220] R10: 00007ffc4267d450 R11: 0000000000000246 R12: 0000000000000000
> <4> [269.832222] R13: 000056288b8877a0 R14: 0000000000000020 R15: 0000000000000045
> <4> [269.832226] Modules linked in: i915(+) vgem mei_hdcp snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio x86_pkg_temp_thermal coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel cdc_ether usbnet snd_intel_dspcfg mii snd_hda_codec snd_hwdep snd_hda_core r8169 snd_pcm realtek mei_me mei prime_numbers intel_lpss_pci i2c_hid pinctrl_geminilake [last unloaded: i915]
> <4> [269.832264] CR2: 0000000000000000
> 
> Fixes: cb2ce93e5b05 ("drm/i915/gem: Differentiate oom failures from invalid map types")
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Matthew Auld <matthew.auld at intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.
Reviewed-by: Matthew Auld <matthew.auld at intel.com>


More information about the Intel-gfx mailing list