lkml.org 
[lkml]   [2004]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: how to detect a 32 bit process on 64 bit kernel
Michael S. Tsirkin wrote:

> Hello!
> Quoting r. Christoph Hellwig (hch@infradead.org) "Re: how to detect a 32 bit process on 64 bit kernel":
>
>>>If no - would not it make a sence to add e.g. a flag in the
>>>task struct, to make it possible?
>>
>>The kernel code shouldn't know. If your driver needs this information
>>something is seriously wrong with it.
>
>
> A character driver I am working on gets passed a structure
> from user space by implementing a write file operation.
> The structure includes a pointer and so the format varies
> between a 32 and 64 bit processes.

The most portable way to do this is to have the first member of the
structure be a 32-bit value containing the size of the structure. This
can then be used to identify what the structure format is. This also
has the advantage of future-proofing the interface (add a field? no
problem, the new size can be checked for). Just be very careful that
the size from userspace is not trusted (ie. only allow known sizes).

--
Brian Gerst
-
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:08    [from the cache]
©2003-2011 Jasper Spaans