Description
In the Linux kernel, the following vulnerability has been resolved: ovl: keep err zero after successful ovl_cache_get() ovl_iterate_merged() stores PTR_ERR(cache) in err before checking IS_ERR(cache). On success err holds the truncated cache pointer and can be returned as a bogus non-zero error. The syzbot reproducer reaches this through overlay-on-overlay readdir: getdents64 iterate_dir(outer overlay file) ovl_iterate_merged() ovl_cache_get() ovl_dir_read_merged() ovl_dir_read() iterate_dir(inner overlay file) ovl_iterate_merged() Only compute PTR_ERR(cache) on the error path.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d25e4b739f8378419f990983f2542160e79738c5 to < e7051909a01bfb883bfa78b27514854068ac4b85affectedd25e4b739f8378419f990983f2542160e79738c5 to < 1711b6ed6953cee5940ca4c3a6e77f1b3798cee2affected
Linux Linux
Default version status: affected
6.19affected0 to < 6.19unaffected7.0.13 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected