Subject: Re: [PATCH] sctp: Clean up type-punning in sctp_cmd_t union

From: Vlad Yasevich <[email-masked]>
Date: Fri, 26 Oct 2012 22:16:39 -0400

On 10/26/2012 09:42 PM, Neil Horman wrote:
> On Fri, Oct 26, 2012 at 05:10:19PM -0400, David Miller wrote:
>> From: Neil Horman <[email-masked]>
>> Date: Fri, 26 Oct 2012 16:35:04 -0400
>>
>>> On Fri, Oct 26, 2012 at 03:12:11PM -0400, Vlad Yasevich wrote:
>>>> Look at commit 19c7e9ee that introduced this.  I don't remember all
>>>> the details any more, but the problem only occurred on ia64
>>>> (probably due its speculative load handling).
>>>>
>>>> -vlad
>>>>
>>> Thanks Vlad, I'll have a look see.
>>
>> Ok, so this IA64 issue is all about accesses to uninitialized memory.
>>
>> I think Neil's change is thus the most desirable thing to do.  Simple
>> memset the object to zero.
>>
>> Let the compiler optimize or not optimize things as it sees fit, to
>> make sure the object is completely initialized.
>>
>> memset() expands to __builtin_memset(), and therefore the compiler
>> can and will eliminate initializations to overlapping areas if such
>> eliminations are possible.
>>
> If thats the case, then I'll need to duplicate the memset in all three call
> sites.  I've got a busy weekend comming up, but I'll respin this monday barring
> no objections or counter-arguments
>
> Best
> Neil
>

Yes, it should be done in all 3 call sights.  If you are going with 
memset, you can remove .zero element as well.

-vlad