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

> Hello!
> Quoting r. Christoph Hellwig ( "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
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:08    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean