From: "Paul Taysom" <Paul.Taysom@novell.com>
To: <ak@muc.de>, <hbryan@us.ibm.com>
Cc: <linux-fsdevel@vger.kernel.org>, <viro@www.linux.org.uk>
Subject: Re: negative seek offsets in VFS
Date: Thu, 26 May 2005 08:29:09 -0600 [thread overview]
Message-ID: <s29588e0.090@sinclair.provo.novell.com> (raw)
The addresses returned from /proc/kallsyms on the x86_64 are negative and when
I print the address of a kernel variable with "%p" it comes out negative.
Paul Taysom
>>> Bryan Henderson <hbryan@us.ibm.com> 5/25/2005 6:56:26 PM >>>
>My x86-64 users are complaining again that they cannot reach kernel
>text addresses in /dev/kmem. The reason is that they are negative and
>the the VFS read and seek code just EINVALs them.
Come now -- the kernel addresses are not negative, and neither is any file
offset.
You apparently mean that when you coerce a kernel address which exceeds
the range of a file offset type into a file offset type, it comes out
negative.
>I dont quite get why they are there anyways, the super block has
>max file size field and checking against that should be enough for
>all the filesystems, no?
But this isn't about exceeding a maximum file size -- it's about exceeding
the range of offsets that is representable in this C data type.
So I guess the real question is why is the loff_t type signed, thereby
making it incapable of representing sufficiently large offsets? The
answer is that there are POSIX interfaces that overload a single data
structure as both a file offset or size and a status code. If a loff_t
value is positive, it is a file offset, but if it's negative, it's a
status code. Consider lseek -- if you allowed a negative offset and just
declared that it stands for the large positive offset you'd get if you
coerced it to an unsigned 64 bit integer, then how would you tell a
success from a failure in the return code?
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next reply other threads:[~2005-05-26 14:29 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-26 14:29 Paul Taysom [this message]
[not found] <s29588e0.089@sinclair.provo.novell.com>
2005-05-26 17:49 ` negative seek offsets in VFS Bryan Henderson
2005-05-26 19:23 ` Andi Kleen
2005-05-26 21:17 ` Bryan Henderson
2005-05-27 10:43 ` Andi Kleen
2005-05-27 18:39 ` Bryan Henderson
2005-05-28 12:41 ` Jamie Lokier
2005-05-31 18:08 ` Bryan Henderson
2005-05-30 9:36 ` Andi Kleen
2005-05-31 18:33 ` Bryan Henderson
2005-05-28 12:37 ` Jamie Lokier
2005-05-30 9:32 ` Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2005-05-25 16:39 Andi Kleen
2005-05-25 16:56 ` Trond Myklebust
2005-05-25 18:48 ` Andi Kleen
2005-05-26 0:56 ` Bryan Henderson
2005-05-26 19:20 ` Andi Kleen
2005-05-26 15:15 ` Al Viro
2005-05-26 15:29 ` Linus Torvalds
2005-05-26 19:25 ` Andi Kleen
2005-05-26 19:39 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=s29588e0.090@sinclair.provo.novell.com \
--to=paul.taysom@novell.com \
--cc=ak@muc.de \
--cc=hbryan@us.ibm.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=viro@www.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.