In the Linux kernel, the following vulnerability has been resolved:
netfs: Fix enomem handling in buffered reads
If netfsreadtopagecache() gets an error from either ->prepareread() or from netfspreparereaditerator(), it needs to decrement ->nroutstanding, cancel the subrequest and break out of the issuing loop. Currently, it only does this for two of the cases, but there are two more that aren't handled.
Fix this by moving the handling to a common place and jumping to it from all four places. This is in preference to inserting a wrapper around netfsprepareread_iterator() as proposed by Dmitry Antipov[1].