[SPARC64]: store-init needs trailing membar.
commit24d559cac4d741d60ec85e927974408020a2f060
authorDavid S. Miller <davem@sunset.davemloft.net>
Mon, 19 Mar 2007 20:27:33 +0000 (19 13:27 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 19 Mar 2007 20:27:33 +0000 (19 13:27 -0700)
treee01419724e2da6c817d525756e92d584d41c03eb
parent5851fadce8824d5d4b8fd02c22ae098401f6489e
[SPARC64]: store-init needs trailing membar.

The manual says that it is required and we actually have crash reports
where loads see stale data due to not having membars here.

In one case the networking does:

memset(skb, 0, offsetof(struct sk_buff, truesize));

and then some code later checks skb->nohdr for zero, but it's still
the value that was there before the memset().

Note that arch/sparc64/lib/xor.S already got this right.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/tsb.S
arch/sparc64/lib/NGbzero.S
arch/sparc64/lib/NGmemcpy.S
arch/sparc64/lib/NGpage.S