[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20151116191150.GA3434@thunk.org>
Date: Mon, 16 Nov 2015 14:11:50 -0500
From: Theodore Ts'o <tytso@....edu>
To: Andreas Dilger <andreas.dilger@...el.com>
Cc: linux-ext4@...r.kernel.org
Subject: Re: [PATCH 3/4] libext2fs: fix block-mapped file punch
On Fri, Nov 13, 2015 at 06:10:28PM -0700, Andreas Dilger wrote:
> If ext2fs_punch() is called with "end = ~0U" (which is natural from
> a programming POV) it tries to compute "count" based on "start" and
> "end", but doesn't quite get it right.
I don't object to ext2fs_punch handling 32-bit overflows correctly if
it is being called on an indirect mapped file (where the logical block
numbers are limited to 2**32). But it would be good if the patch
description actually said that. Also, arguably this is still a bug in
the caller, which should use ~0ULL to mean the end of the file.
> Fix ext2fs_punch() if "end" is anywhere beyond the 2^32 block limit
> so that the 32-bit calculations don't overflow. Pass "count=~0"
> in this case, and also handle that explicitly in ext2_punch_ind().
> Since ext2_punch_ind() is itself a public function, so it makes
> sense to fix this in both places.
Um, ext2_punch_ind() is a static function....
> @@ -119,6 +119,9 @@ static errcode_t ext2fs_punch_ind(ext2_filsys fs, struct ext2_inode *inode,
Cheers,
- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists