Re: mount -o loop with truncated dosdisk.img uses 100% cpu and can't be killed

From: Jeff Moyer
Date: Fri Jul 13 2012 - 11:52:27 EST


Jan Kara <jack@xxxxxxx> writes:

>> It looks like the bug of __getblk_slow(). If requested block was beyond
>> end of device, __find_get_block() will find buffer_mapped()'s buffer,
>> but block >= end_block is unmapped. So, it can be loop.
>>
>> The following patch fixes it? If it fix, there are some options to check
>> it.
>>
>> a) Check it like this patch and warn.
>> b) (a), but without warn.
>> c) Check it in init_page_buffers() and return -EIO or such
>>
>> Well, anyway, Cc to Jens.
>>
>> Signed-off-by: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
> I think Jeff Moyer has sent a similar fix recently. It may even be
> already queued in Jens' tree. Jeff?

I haven't heard a peep from Jens (I believe he's been on vacation), so I
forwarded the patch along to Linus (but haven't heard anything from him,
either).

See my email with Subject: [patch] block: fix infinite loop in __getblk_slow
https://lkml.org/lkml/2012/6/26/252

Cheers,
Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/