On 01/27/2014 09:53 AM, H. Peter Anvin wrote:
On 01/26/2014 05:34 PM, Ren Qiaowei wrote:

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.

Ok. I will update it in next version.

Thanks,
Qiaowei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to