[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