[lkml]   [2014]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [regression] fix 32-bit breakage in block device read(2) (was Re: 32-bit bug in iovec iterator changes)
On Mon, Jun 23, 2014 at 08:44:40 +0100,
Al Viro <> wrote:
>blkdev_read_iter() wants to cap the iov_iter by the amount of
>data remaining to the end of device. That's what iov_iter_truncate()
>is for (trim iter->count if it's above the given limit). So far,
>so good, but the argument of iov_iter_truncate() is size_t, so on
>32bit boxen (in case of a large device) we end up with that upper
>limit truncated down to 32 bits *before* comparing it with iter->count.

This seems to fix a problem I had
( with a partition device
(/dev/sda3) being zero size on 3.16 kernels. However I am having some
other issues with 3.16 on i686 and the amount of testing was the raid
array using /dev/sda3 appeared to start (which it hadn't previously), but
the system hung before finishing the boot process.

 \ /
  Last update: 2014-06-26 18:01    [W:0.115 / U:0.820 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site