[Letux-kernel] [openpvrsgx-devgroup/linux_openpvrsgx] Missing directories (Issue #16)

H. Nikolaus Schaller hns at goldelico.com
Mon Nov 4 22:26:05 CET 2024


> 
> root at letux:~# dmesg|fgrep vmalloc
> [   27.496368] __old_vmalloc_node: size=8192 align=1 start=f0000000 end=ff800000 mask=3266 prot=591 node=-1 caller=bf421ea8
> [   27.513458] __old_vmalloc_node: ret=f01ef000
> [   27.528320] __old_vmalloc_node: size=4096 align=1 start=f0000000 end=ff800000 mask=3266 prot=583 node=-1 caller=bf41f8f0
> [   27.614379] __old_vmalloc_node: ret=f01f2000
> [   27.653503] __old_vmalloc_node: size=12288 align=1 start=f0000000 end=ff800000 mask=3266 prot=583 node=-1 caller=bf41f8f0
> [   27.709259] __old_vmalloc_node: ret=f01ff000
> root at letux:~# 
> 

After some more tests I found that on 6.12 I get three calls to __old_vmalloc_node while on 6.11 there are four.

It turns out that I get a WARNING instead of the fourth call.

[   46.903564] WARNING: CPU: 0 PID: 3202 at drivers/gpu/drm/drm_file.c:312 drm_open_helper+0x7c/0x148 [drm]

this is from

https://elixir.bootlin.com/linux/v6.12-rc6/source/drivers/gpu/drm/drm_file.c#L312

Commit 641bb4394f405c moved/added a new FOP_UNSIGNED_OFFSET which must now be set in drm_gem_object
for drm_open_helper() to succeed.

Most likely the pvrsgx driver isn't aware of this, does not set FOP_UNSIGNED_OFFSET and therefore the test issues a WARN and aborts
instead of doing a fourth __old_vmalloc_node.

Key will be to find this in drivers/gpu/drm/pvrsgx/1.17.4948957/ (and potentially in other DDK releases). 


More information about the Letux-kernel mailing list