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.

        -hpa


--
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