In the Linux kernel, the following vulnerability has been resolved:
f2fs: fix NULL pointer dereference in f2fssubmitpage_write()
BUG: kernel NULL pointer dereference, address: 0000000000000014 RIP: 0010:f2fssubmitpagewrite+0x6cf/0x780 [f2fs] Call Trace: <TASK> ? showregs+0x6e/0x80 ? _die+0x29/0x70 ? pagefaultoops+0x154/0x4a0 ? prbreadvalid+0x20/0x30 ? _irqworkqueuelocal+0x39/0xd0 ? irqworkqueue+0x36/0x70 ? douseraddrfault+0x314/0x6c0 ? excpagefault+0x7d/0x190 ? asmexcpagefault+0x2b/0x30 ? f2fssubmitpagewrite+0x6cf/0x780 [f2fs] ? f2fssubmitpagewrite+0x736/0x780 [f2fs] dowritepage+0x50/0x170 [f2fs] f2fsoutplacewritedata+0x61/0xb0 [f2fs] f2fsdowritedatapage+0x3f8/0x660 [f2fs] f2fswritesingledatapage+0x5bb/0x7a0 [f2fs] f2fswritecachepages+0x3da/0xbe0 [f2fs] ... It is possible that other threads have added this fio to io->bio and submitted the io->bio before entering f2fssubmitpagewrite(). At this point io->bio = NULL. If isendzoneblkaddr(sbi, fio->newblkaddr) of this fio is true, then an NULL pointer dereference error occurs at bio_get(io->bio). The original code for determining zone end was after "out:", which would have missed some fio who is zone end. I've moved this code before "skip:" to make sure it's done for each fio.