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 <nhorman@xxxxxxxxxxxxx>
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
--
To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html