[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] kanoj-mm21-2.3.23 alow larger sizes to shmget()



Hi Kanoj,

This is probably breaking user space applications since shmid_ds is
shared with user space in shmctl(2).  On 32bit machines this does not
matter, since sizeof(int) == sizeof(size_t), but on 64bit this will
break.

How do we handle this?

Greetings
         Christoph

kanoj@google.engr.sgi.com (Kanoj Sarcar) writes:

> Linus,
> 
> Per our previous discussion, this is the patch to change the shmget()
> api to permit larger shm segments (now that larger user address spaces,
> as well as large memory machines are possible).
> 
> Note that I have defined shmget() as
> 	shmget(key_t, size_t, int)
> instead of as
> 	shmget(key_t, unsigned int, int)
> or as
> 	shmget(key_t, unsigned long, int).
> 
> This is because the single unix spec sets down the first definition
> (http://www.opengroup.org/onlinepubs/007908799/xsh/shmget.html).
> This becomes interesting, because size_t is of different sizes on
> different architectures, so the shmfs code has to do careful formatting.
> (This logic is also probably needed in the ipcs command).
> 
> Let me know if the patch looks okay.
> 
> Thanks.
> 
> Kanoj
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/