In the Linux kernel, the following vulnerability has been resolved:
ftrace: Fix invalid address access in lookup_rec() when index is 0
KASAN reported follow problem:
BUG: KASAN: use-after-free in lookuprec Read of size 8 at addr ffff000199270ff0 by task modprobe CPU: 2 Comm: modprobe Call trace: kasanreport _asanload8 lookuprec ftracelocation archcheckftracelocation checkkprobeaddresssafe register_kprobe
When checking pg->records[pg->index - 1].ip in lookuprec(), it can get a pg which is newly added to ftracepagesstart in ftraceprocess_locs(). Before the first pg->index++, index is 0 and accessing pg->records[-1].ip will cause this problem.
Don't check the ip when pg->index is 0.