In the Linux kernel, the following vulnerability has been resolved:
jffs2: fix memory leak in jffs2domount_fs
If jffs2buildfilesystem() in jffs2domount_fs() returns an error, we can observe the following kmemleak report:
unreferenced object 0xffff88811b25a640 (size 64): comm "mount", pid 691, jiffies 4294957728 (age 71.952s) 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: [<ffffffffa493be24>] kmemcachealloctrace+0x584/0x880 [<ffffffffa5423a06>] jffs2suminit+0x86/0x130 [<ffffffffa5400e58>] jffs2domountfs+0x798/0xac0 [<ffffffffa540acf3>] jffs2dofillsuper+0x383/0xc30 [<ffffffffa540c00a>] jffs2fillsuper+0x2ea/0x4c0 [...] unreferenced object 0xffff88812c760000 (size 65536): comm "mount", pid 691, jiffies 4294957728 (age 71.952s) hex dump (first 32 bytes): bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................ bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................ backtrace: [<ffffffffa493a449>] _kmalloc+0x6b9/0x910 [<ffffffffa5423a57>] jffs2suminit+0xd7/0x130 [<ffffffffa5400e58>] jffs2domountfs+0x798/0xac0 [<ffffffffa540acf3>] jffs2dofillsuper+0x383/0xc30 [<ffffffffa540c00a>] jffs2fillsuper+0x2ea/0x4c0
This is because the resources allocated in jffs2suminit() are not released. Call jffs2sumexit() to release these resources to solve the problem.