Details

[Home]

Issue of the Implementation # F0004

Brief

ext4: deadlocks after allocation failure in ext4_init_io_end()

Detailed Description

If call to ext4_init_io_end() is failed under memory pressure, mpage_da_submit_io() just returns -ENOMEM and left all pages from the extent locked. That leads to a deadlock as soon as callers of mpage_da_submit_io() expect it unlocks all the pages. If call to ext4_init_io_end() is failed under memory pressure, ext4_writepage() calls redirty_page_for_writepage() but left the page locked. That leads to a deadlock since it is expected the page is unlocked after writepage().

Component

linux-kernel 3.9

Accepted

https://lkml.org/lkml/2013/5/13/426
commit

Status

Fixed in kernel 3.10-rc3

[Home]