lkml.org 
[lkml]   [1999]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Ok, making ready for pre-2.4 and code-freeze..
Date
From
Tigran Aivazian wrote:
> On Tue, 21 Dec 1999, Rogier Wolff wrote:
> > Tigran Aivazian wrote:
> > > > The return code for unix system calls should be defined as "negative"
> > > > for error, and not "-1".
> > >
> > > I beg to differ because lseek(2) has the right to return negative offsets
> > > on some implementations (of UNIX) on some architectures (notably i386).
> >
> > I beg to differ: lseek has no right to return a position before the
> > start of the file.
> >
> > * Upon successful completion, lseek returns the resulting
> > * offset location as measured in bytes from the beginning of
> > * the file.
> >
> > Maybe, some OSes are "breaking the rules" a bit by allowing larger
> > files than a 31-bit return value for lseek(2) allows, but that's their
> > problem.
>
> Dear Rogier,
>
> have a look at Stevens' APUE, the page that describes lseek(2) (it is not

Sorry, I don't have that book. I only have TCP/IP illustrated Part 1.

> at hand and I can't remember page number) it will tell you which
> particular flavour (AT&T SVR3 or something similar) did that. I definitely
> (but vaguely, 5-6 years ago or so) remember situations where negative
> offsets off /dev/kmem were valid and useful.

Tigran,

I can immagine 2G - 4G offsets being functional as offsets into
"/dev/kmem".

However, "lseek" behaviour is then undefined. I mean, Linux has taken
the approach to disable (normal) files larger than 2G for this reason,
just to prevent lseek from having to return negative numbers.

Whenever you're dealing with an application that is legitimately
messing around with the 2G-4G area of a /dev/kmem file, it better be
very careful. Which officially means: "lseek doesn't return valid
values". On Linux at least the errno value will be set to preposterous
values, whenever you enter the "negative" area of "kmem".

Roger.

--
** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
"I didn't say it was your fault. I said I was going to blame it on you."

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

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