On 01/26/2014 05:34 PM, Ren Qiaowei wrote:Ok. I will update it in next version.I agree with you and we should suppress all the warnings as possible. If
I use (unsgined long) to cast like the following code, what do you think
about it? sizeof(long) will be 4 for 32-bit.
info->si_lower = (void __user *)(unsigned long)
(xsave_buf->bndregs.bndregs[2*bndregno]);
info->si_upper = (void __user *)(unsigned long)
(~xsave_buf->bndregs.bndregs[2*bndregno+1]);
That is the way it is usually done, yes. Add a comment saying something
like:
/* Note: the upper 32 bits are ignored in 32-bit mode. */
It is worth watching out a bit here, though, because you could be
running a 32-bit process on top of a 64-bit kernel.