diff options
| author | John Engel <jhe@us.ibm.com> | 2004-09-22 04:23:06 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-09-22 04:23:06 -0700 |
| commit | 4e14dc19475df6edcb1abe4cf28502432496eaeb (patch) | |
| tree | 5ebff80a697c5c234755230940403d37d5dc6990 /kernel/compat.c | |
| parent | 44bc377da933ee4021a3589db72079c538db1e57 (diff) | |
[PATCH] compat_sys_fcntl64: fix for locking near end of file
Here's a patch to fix a bug in compat_sys_fcntl64 in fs/compat.c. The bug
occurs with a 32 bit app that calls fcntl and checking for a lock near the
end of a file.
struct flock sflp;
sflp.l_start = 2147483345;
sflp.l_len = 302;
/* 2147483345 + 302 == 2147483647 (this should not overflow 31 bits) */
/* 2^31 == 2147483648 */
fcntl_stat = fcntl(fd, F_GETLK, &sflp);
The patch also contains a fix to handle l_len < 0 which is now defined in
POSIX 1003.1-2001 from the fcntl man page.
Signed-off-by: John Engel <jhe@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/compat.c')
0 files changed, 0 insertions, 0 deletions
