xfs
[Top] [All Lists]

Re: [PATCH v3] xfs: fix possible overflow in xfs_ioc_trim()

To: Lukas Czerner <lczerner@xxxxxxxxxx>
Subject: Re: [PATCH v3] xfs: fix possible overflow in xfs_ioc_trim()
From: Alex Elder <aelder@xxxxxxx>
Date: Fri, 23 Sep 2011 12:08:55 -0500
Cc: <xfs@xxxxxxxxxxx>, <hch@xxxxxxxxxxxxx>
In-reply-to: <1316598150-12447-1-git-send-email-lczerner@xxxxxxxxxx>
References: <1316598150-12447-1-git-send-email-lczerner@xxxxxxxxxx>
Reply-to: <aelder@xxxxxxx>
On Wed, 2011-09-21 at 11:42 +0200, Lukas Czerner wrote:
> In xfs_ioc_trim it is possible that computing the last allocation group
> to discard might overflow for big start & len values, because the result
> might be bigger then xfs_agnumber_t which is 32 bit long. Fix this by not
> allowing the start and end block of the range to be beyond the end of the
> file system.
> 
> Note that if the start is beyond the end of the file system we have to
> return -EINVAL, but in the "end" case we have to truncate it to the fs
> size.
> 
> Also introduce "end" variable, rather than using start+len which which
> might be more confusing to get right as this bug shows.
> 
> Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>

There are cases where we're (still) not trimming
blocks within the range specified when we could.
I have an idea about how to do that but I'll send
it out later and will commit this as-is.

Reviewed-by: Alex Elder <aelder@xxxxxxx>



<Prev in Thread] Current Thread [Next in Thread>