On Fri, 2025-03-21 at 09:56 +0100, Philipp Stanner wrote:
> I see two small memory leaks on a Fedora 41 desktop with a custom
> built
> kernel @ commit:
> 
> 27d4815149ba drm/sched: Group exported prototypes by object type
> 
> GPU is an RTX 5000 Ada
> 
> The leaks are there immediately after booting the machine. They don't
> seem to reoccur, although I have not verified this very strictly.
> 
> 
> cat /sys/kernel/debug/kmemleak 
> unreferenced object 0xff11000102304380 (size 8):
>   comm "kworker/0:2", pid 222, jiffies 4294714878
>   hex dump (first 8 bytes):
>     00 00 00 00 00 00 00 00                          ........
>   backtrace (crc 0):
>     __kmalloc_cache_noprof+0x355/0x450
>     r535_gsp_oneinit+0x48e2/0x8bc0 [nouveau]
>     nvkm_subdev_oneinit_+0x10c/0x230 [nouveau]
>     nvkm_subdev_init_+0x86/0x1f0 [nouveau]
>     nvkm_subdev_init+0xa4/0xc0 [nouveau]
>     nvkm_device_init+0x347/0x530 [nouveau]
>     nvkm_udevice_init+0x8e/0xe0 [nouveau]
>     nvkm_object_init+0xc6/0x3f0 [nouveau]
>     nvkm_ioctl_new+0x383/0x6f0 [nouveau]
>     nvkm_ioctl+0x239/0x4f0 [nouveau]
>     nvif_object_ctor+0x3db/0x740 [nouveau]
>     nvif_device_ctor+0x32/0x100 [nouveau]
>     nouveau_drm_device_new+0x3c9/0xa50 [nouveau]
>     nouveau_drm_probe+0x119/0x440 [nouveau]
>     local_pci_probe+0xdc/0x180
>     work_for_cpu_fn+0x52/0xa0
> unreferenced object 0xff11000102304aa0 (size 8):
>   comm "kworker/0:2", pid 222, jiffies 4294714878
>   hex dump (first 8 bytes):
>     00 00 00 00 00 00 00 00                          ........
>   backtrace (crc 0):
>     __kmalloc_cache_noprof+0x355/0x450
>     r535_gsp_oneinit+0x4bdf/0x8bc0 [nouveau]
>     nvkm_subdev_oneinit_+0x10c/0x230 [nouveau]
>     nvkm_subdev_init_+0x86/0x1f0 [nouveau]
>     nvkm_subdev_init+0xa4/0xc0 [nouveau]
>     nvkm_device_init+0x347/0x530 [nouveau]
>     nvkm_udevice_init+0x8e/0xe0 [nouveau]
>     nvkm_object_init+0xc6/0x3f0 [nouveau]
>     nvkm_ioctl_new+0x383/0x6f0 [nouveau]
>     nvkm_ioctl+0x239/0x4f0 [nouveau]
>     nvif_object_ctor+0x3db/0x740 [nouveau]
>     nvif_device_ctor+0x32/0x100 [nouveau]
>     nouveau_drm_device_new+0x3c9/0xa50 [nouveau]
>     nouveau_drm_probe+0x119/0x440 [nouveau]
>     local_pci_probe+0xdc/0x180
>     work_for_cpu_fn+0x52/0xa0
> 
I probably should have provided the decoded stacktrace, shouldn't I.
Here we go:

backtrace (crc 0):
__kmalloc_cache_noprof (/home/imperator/linux/./include/linux/kmemleak.h:43 
/home/imperator/linux/mm/slub.c:4119 /home/imperator/linux/mm/slub.c:4164 
/home/imperator/linux/mm/slub.c:4320) 
r535_gsp_oneinit 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1743 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1868 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1894 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:3316) 
nouveau 
nvkm_subdev_oneinit_ 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/subdev.c:112) nouveau 
nvkm_subdev_init_ 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/subdev.c:139) nouveau 
nvkm_subdev_init 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/subdev.c:169) nouveau 
nvkm_device_init 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:2960) 
nouveau 
nvkm_udevice_init 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c:247) 
nouveau 
nvkm_object_init 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/object.c:197) nouveau 
nvkm_ioctl_new 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c:135) nouveau 
nvkm_ioctl (/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c:278 
(discriminator 1) 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c:300 
(discriminator 1)) nouveau 
nvif_object_ctor 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvif/object.c:46 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvif/object.c:269) nouveau 
nvif_device_ctor 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvif/device.c:61) nouveau 
nouveau_drm_device_new 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nouveau_drm.c:761) nouveau 
nouveau_drm_probe 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nouveau_drm.c:879) nouveau 
local_pci_probe (/home/imperator/linux/drivers/pci/pci-driver.c:324) 
work_for_cpu_fn (/home/imperator/linux/kernel/workqueue.c:6731) 
unreferenced object 0xff11000102304aa0 (size 8):
comm "kworker/0:2", pid 222, jiffies 4294714878
hex dump (first 8 bytes):
00 00 00 00 00 00 00 00                          ........

backtrace (crc 0):
__kmalloc_cache_noprof (/home/imperator/linux/./include/linux/kmemleak.h:43 
/home/imperator/linux/mm/slub.c:4119 /home/imperator/linux/mm/slub.c:4164 
/home/imperator/linux/mm/slub.c:4320) 
r535_gsp_oneinit 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1708 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1869 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:1894 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c:3316) 
nouveau 
nvkm_subdev_oneinit_ 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/subdev.c:112) nouveau 
nvkm_subdev_init_ 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/subdev.c:139) nouveau 
nvkm_subdev_init 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/subdev.c:169) nouveau 
nvkm_device_init 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c:2960) 
nouveau 
nvkm_udevice_init 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c:247) 
nouveau 
nvkm_object_init 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/object.c:197) nouveau 
nvkm_ioctl_new 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c:135) nouveau 
nvkm_ioctl (/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c:278 
(discriminator 1) 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c:300 
(discriminator 1)) nouveau 
nvif_object_ctor 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvif/object.c:46 
/home/imperator/linux/drivers/gpu/drm/nouveau/nvif/object.c:269) nouveau 
nvif_device_ctor 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nvif/device.c:61) nouveau 
nouveau_drm_device_new 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nouveau_drm.c:761) nouveau 
nouveau_drm_probe 
(/home/imperator/linux/drivers/gpu/drm/nouveau/nouveau_drm.c:879) nouveau 
local_pci_probe (/home/imperator/linux/drivers/pci/pci-driver.c:324) 
work_for_cpu_fn (/home/imperator/linux/kernel/workqueue.c:6731) 


r535.c:3316 seems to be:

        ret = r535_gsp_rpc_set_system_info(gsp);
        if (WARN_ON(ret))
                return ret;

Reply via email to