lkml.org 
[lkml]   [2004]   [Dec]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2.4] Fix rlimit check in precheck_file_write()
From
Date
On Mer, 2004-12-22 at 21:57, Jason Uhlenkott wrote:
> Remove a broken assumption that rlimits are 32 bits which can cause
> nasty things to happen on 64-bit machines if we try to write past the
> 2^32-1th character of a file and a larger file size limit exists.
>
> Signed-off-by: Jason Uhlenkott <jasonuhl@sgi.com>
>
> --- linux-2.4.29-pre3.orig/mm/filemap.c 2004-11-17 03:54:22.000000000 -0800
> +++ linux-2.4.29-pre3/mm/filemap.c 2004-12-22 13:41:46.000000000 -0800
> @@ -3088,9 +3088,9 @@
> send_sig(SIGXFSZ, current, 0);
> goto out;
> }
> - if (pos > 0xFFFFFFFFULL || *count > limit - (u32)pos) {
> + if (*count > limit - pos) {
> /* send_sig(SIGXFSZ, current, 0); */
> - *count = limit - (u32)pos;
> + *count = limit - pos;
> }

Are you sure this is safe for all conceivable 32bit cases as well as
your 64bit one ? I don't think it is looking at the overflow cases in
the if that you removed checking of.

Alan

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

\
 
 \ /
  Last update: 2005-03-22 14:09    [W:0.034 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site