diff options
Diffstat (limited to 'kernel/gsp_sema_service.c')
| -rw-r--r-- | kernel/gsp_sema_service.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index ebbe3bd..83ab2db 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -30579,6 +30579,21 @@ static bool svc_gr_ram_ring_scan(struct nv_vgpu_device *vgpu, if (len1 < 4 || len1 > 0x100000) continue; /* + * eng17 (2026-11-13): reject the dense-lookalike class + * directly. The page measured masquerading as the GL + * client's ring (pa 0x10a828000 / 0x10ad3e000, dword + * 0x04000100 repeating) decodes entry0 == entry1 + * (va=0x4000100 len=262144) and passes every + * window/terminus gate, so the pump read a phantom + * 256 KiB push at VA 0x4000100 forever (`sema-rdw ... + * rc=-2`, `sema-entry: unread`, `unregistered + * (submissions=0)`; c271/c285). A real ring does not + * repeat one entry verbatim in slots 0/1 (r908's + * repeat shares the VA but not the len). + */ + if (va0 == va1 && len0 == len1) + continue; + /* * r979: kick-family ring discrimination. Shape alone * admitted a foreign table page ahead of the real ring * on r978 (pa=0x104fa9000, entries naming a bogus |
