In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Fix memory leak in dmswfini()
After destroying dmub_srv, the memory associated with it is not freed, causing a memory leak:
unreferenced object 0xffff896302b45800 (size 1024): comm "(udev-worker)", pid 222, jiffies 4294894636 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc 6265fd77): [<ffffffff993495ed>] kmalloctrace+0x29d/0x340 [<ffffffffc0ea4a94>] dmdmubswinit+0xb4/0x450 [amdgpu] [<ffffffffc0ea4e55>] dmswinit+0x15/0x2b0 [amdgpu] [<ffffffffc0ba8557>] amdgpudeviceinit+0x1417/0x24e0 [amdgpu] [<ffffffffc0bab285>] amdgpudriverloadkms+0x15/0x190 [amdgpu] [<ffffffffc0ba09c7>] amdgpupciprobe+0x187/0x4e0 [amdgpu] [<ffffffff9968fd1e>] localpciprobe+0x3e/0x90 [<ffffffff996918a3>] pcideviceprobe+0xc3/0x230 [<ffffffff99805872>] reallyprobe+0xe2/0x480 [<ffffffff99805c98>] _driverprobedevice+0x78/0x160 [<ffffffff99805daf>] driverprobedevice+0x1f/0x90 [<ffffffff9980601e>] _driverattach+0xce/0x1c0 [<ffffffff99803170>] busforeachdev+0x70/0xc0 [<ffffffff99804822>] busadddriver+0x112/0x210 [<ffffffff99807245>] driverregister+0x55/0x100 [<ffffffff990012d1>] doone_initcall+0x41/0x300
Fix this by freeing dmub_srv after destroying it.