]> git.baikalelectronics.ru Git - kernel.git/commit
[SPARC64]: store-init needs trailing membar.
authorDavid S. Miller <davem@sunset.davemloft.net>
Mon, 19 Mar 2007 20:27:33 +0000 (13:27 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 19 Mar 2007 20:27:33 +0000 (13:27 -0700)
commitfc6168c537abc2358e28ff4ddd31e0a5618a36e2
treee01419724e2da6c817d525756e92d584d41c03eb
parent33f95efdc747b430f0b459d9212fd3b05cbfb1c0
[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