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> |
||
|---|---|---|
| .. | ||
| atomic.S | ||
| bitops.S | ||
| bzero.S | ||
| checksum.S | ||
| clear_page.S | ||
| copy_in_user.S | ||
| copy_page.S | ||
| csum_copy.S | ||
| csum_copy_from_user.S | ||
| csum_copy_to_user.S | ||
| delay.c | ||
| iomap.c | ||
| ipcsum.S | ||
| Makefile | ||
| mcount.S | ||
| memcmp.S | ||
| memmove.S | ||
| memscan.S | ||
| NGbzero.S | ||
| NGcopy_from_user.S | ||
| NGcopy_to_user.S | ||
| NGmemcpy.S | ||
| NGpage.S | ||
| NGpatch.S | ||
| PeeCeeI.c | ||
| rwsem.S | ||
| strlen.S | ||
| strlen_user.S | ||
| strncmp.S | ||
| strncpy_from_user.S | ||
| U1copy_from_user.S | ||
| U1copy_to_user.S | ||
| U1memcpy.S | ||
| U3copy_from_user.S | ||
| U3copy_to_user.S | ||
| U3memcpy.S | ||
| U3patch.S | ||
| user_fixup.c | ||
| VISsave.S | ||
| xor.S | ||