RE: [PATCH] zsmalloc: use unsigned long instead of void *
From: Dan Magenheimer <hidden>
Date: 2012-05-21 15:05:29
Also in:
lkml
From: Seth Jennings [mailto:sjenning@linux.vnet.ibm.com] Subject: Re: [PATCH] zsmalloc: use unsigned long instead of void * On 05/20/2012 09:23 PM, Minchan Kim wrote:quoted
We should use unsigned long as handle instead of void * to avoid any confusion. Without this, users may just treat zs_malloc return value as a pointer and try to deference it.I wouldn't have agreed with you about the need for this change as people should understand a void * to be the address of some data with unknown structure. However, I recently discussed with Dan regarding his RAMster project where he assumed that the void * would be an address, and as such, 4-byte aligned. So he has masked two bits into the two LSBs of the handle for RAMster, which doesn't work with zsmalloc since the handle is not an address. So really we do need to convey as explicitly as possible to the user that the handle is an _opaque_ value about which no assumption can be made.
Someone once said: "Opaque is a computer science term and has no meaning in system software and computer engineering." ;-) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>