Jamie Heilman wrote: > Ben Skeggs wrote: > > On 7/9/25 09:16, Jamie Heilman wrote: > > > Rui Salvaterra wrote: > > > > Unfortunately, bisecting is not feasible for me. > > > That looks pretty similar to the problem I posted > > > (https://lore.kernel.org/lkml/aeljio9_se6ta...@audible.transient.net/) > > > that I bisected to 862450a85b85 ("drm/nouveau/gf100-: track chan > > > progress with non-WFI semaphore release"). It still reverts cleanly > > > as of v6.16-rc5 so you might want to give that a shot. > > > > Hi, > > > > Thank you for bisecting! Are you able to try the attached patch? > > Yeah that got graphics visible again for me, though there's something > else horrible going on now (still? I'm not sure if its new behavior or > not) and it blows out my dmesg ringbuffer with errors or warnings of > some kind, that I was just about to start trying to debug that when > some power event seems to have fried my PSU. Combined with a bunch of > filesystem corruption, its going to be a while a before I can get that > system back up to that spot where I can troubleshoot it again, the > root volume is fried and I'm going to have rebuild. Anyway, I think > whatever it is was probably an entirely separate issue.
OK, validated, this solves the problem for me completely too. (The other traces were a byproduct of my userspace doing the wrong thing when putting together a partitioned-md / lvm stack and the resulting filesystem corruption.) > > From 6987c1c254285305fdc20270e21709a313632e0d Mon Sep 17 00:00:00 2001 > > From: Ben Skeggs <bske...@nvidia.com> > > Date: Wed, 9 Jul 2025 10:54:15 +1000 > > Subject: [PATCH] drm/nouveau/nvif: fix null ptr deref on pre-fermi boards > > > > Check that gpfifo.post() exists before trying to call it. > > > > Fixes: 862450a85b85 ("drm/nouveau/gf100-: track chan progress with non-WFI > > semaphore release") > > Signed-off-by: Ben Skeggs <bske...@nvidia.com> > > --- > > drivers/gpu/drm/nouveau/nvif/chan.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/gpu/drm/nouveau/nvif/chan.c > > b/drivers/gpu/drm/nouveau/nvif/chan.c > > index baa10227d51a..80c01017d642 100644 > > --- a/drivers/gpu/drm/nouveau/nvif/chan.c > > +++ b/drivers/gpu/drm/nouveau/nvif/chan.c > > @@ -39,6 +39,9 @@ nvif_chan_gpfifo_post(struct nvif_chan *chan) > > const u32 pbptr = (chan->push.cur - map) + chan->func->gpfifo.post_size; > > const u32 gpptr = (chan->gpfifo.cur + 1) & chan->gpfifo.max; > > > > + if (!chan->func->gpfifo.post) > > + return 0; > > + > > return chan->func->gpfifo.post(chan, gpptr, pbptr); > > } > > > > -- > > 2.49.0 -- Jamie Heilman http://audible.transient.net/~jamie/