Messages in this thread |  | | | Date | Wed, 27 Jun 2001 19:56:46 +0200 (CEST) | | From | Martin Wilck <> | | Subject | Re: [PATCH] proc_file_read() (Was: Re: proc_file_read() question) |
| |
> PAGE_OFFSET definitely works for me, but a quick scan of the headers > suggests that non-sun3 m68k builds define PAGE_OFFSET as 0, as does > s390.
Hum - is there no simple way to determine whether a pointer is a valid pointer to something returned by __get_free_pages ()? You are right, S390 in particular seems to allow arbitrary addresses starting from 0.
> Sure, the overloading is self-admittedly hacky, but (again I assume) > the motivation was to avoid breaking the clients, many of which are > not in the kernel.org tree. Your proposed change overloads a third > interpretation on start, namely an arbitrary pointer, outside the > page allocation.
For some reason I was convinced that this was the originally intended use of start. The only quotes I find right now are Ori Pomerantz' Module Programming Guide (http://www.linuxdoc.org/LDP/lkmpg/node16.html) and Rubini's "Writing Device Drivers", chapter 4. Also, the comment in the code if (!start) { /* * For proc files that are less than 4k */ ... } supports this notion somehow (start only set if data size > page size). After all, unless you want to mangle the file position as intended by the hack, there is no point in touching start at all in proc_read (), ppos will be updated automatically.
Perhaps I have misunderstood something here. Who wrote the original code, after all?
Martin
-- Martin Wilck <Martin.Wilck@fujitsu-siemens.com> FSC EP PS DS1, Paderborn Tel. +49 5251 8 15113
- 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/
|  |