In the Linux kernel, the following vulnerability has been resolved: f2fs: fix dereference of stale list iterator after loop body The list iterator variable will be a bogus pointer if no break was hit. Dereferencing it (cur->page in this case) could load an out-of-bounds/undefined value making it unsafe to use that in the comparision to determine if the specific element was found. Since 'cur->page' *can* be out-ouf-bounds it cannot be guaranteed that by chance (or intention of an attacker) it matches the value of 'page' even though the correct element was not found. This is fixed by using a separate list iterator variable for the loop and only setting the original variable if a suitable element was found. Then determing if the element was found is simply checking if the variable is set.
https://git.kernel.org/stable/c/ed7efc472c00986dcd6903ab6ed165c7fa167674
https://git.kernel.org/stable/c/b26e1c777890e4b938136deb8ec07a29f33862e4
https://git.kernel.org/stable/c/5e47a7add3dda7f236548c5ec3017776dc2a729f
https://git.kernel.org/stable/c/51d584704d18e60fa473823654f35611c777b291
https://git.kernel.org/stable/c/45b2b7d7108ae1e25a5036cab04ab9273e792332
https://git.kernel.org/stable/c/385edd3ce5b4b1e9d31f474a5e35a39779ec1110
https://git.kernel.org/stable/c/2aaf51dd39afb6d01d13f1e6fe20b684733b37d5