summaryrefslogtreecommitdiffstats
tag nameaccess_once (899f3be6dd0f9da704a0a0c9616f9da4b6295956)
tag date2014-11-26 19:54:41 +0100
tagged byChristian Borntraeger <borntraeger@de.ibm.com>
tagged objectcommit fbb7eba5b7...
downloadlinux-access_once.tar.gz
As discussed on LKML http://marc.info/?i=54611D86.4040306%40de.ibm.com
ACCESS_ONCE might fail with specific compiler for non-scalar accesses. Here is a set of patches to tackle that problem. We first introduce READ_ONCE/ASSIGN_ONCE as suggested by Linus. These wrappers will make all accesses via scalar wrappers and will also check that accesses are <= the word size of the system. The next changes will modify current users of ACCESS_ONCE on non-scalar types to use READ_ONCE/ASSIGN_ONCE or barrier where necessary. The 2nd to last patch will force ACCESS_ONCE to error-out if it is used on non-scalar accesses. The series is cross-compiled the resulting kernel with defconfig for microblaze, m68k, alpha, s390,x86_64, i686, sparc, sparc64, mips, ia64, arm and arm64. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) iQIcBAABAgAGBQJUdiIGAAoJEBF7vIC1phx8Vh4QAJxUXjY6YsLcD5Di1ADep3YC 0fhulv8WbK4mq8kCw7fqTLQXyG5n9nEjlzQ94iiPFKbonpxr7Y++ccpfpfRr0aiy moE5XYpCS+/fRODpCPhZbcWvkOMG1xgGVMUgsxBL0d7d1Lt3AQhVgbzKMSH9C6AN FJ6vhdZlmdqFRw+kORxR5FErb6xIxx0wtJLcHWAmDQAEZvnOR+/n1T6BK37UiMgX tSLcTwpcbLuywk/I6kl66Z0kMcxEVBqnAMRBGw/T9JMajTse6/cJbTNXVOFyiAL4 9CTuBNeNCm1cvCvOq4Qk55CoWYOlw6IW7w9NcMCS1SDgDiqJgb1vMppgHBoyN4Ux 5xI4MnF0iziVIk1qKlMgUh7rNt7LNqf3/w697JQqno2/DEuy3ZJIQbOZbLx41+r1 239XsCXOnMb4n7PkNsYip4LMYXg6ZP5oY8RoGdkBoPeKGWX0VFYICwCuVG9BsnQd EWOFSVIlGm28+KBCnCd9qXlWCrN0wbcpCbTOU+WbIC1eSaX2VzQuc07pzpS0sS86 8YZcb1othPH/TD7/aaajCz7CbYVr3JtlNvMbupDRotL1F+6Urh691O+vYDDADECK B1dXVYNj/hnuc9JpLQTDtb4lscaJa29MM9xhjifqHrKDJ3iF67NT06FjMQ/OETjp yK3dk7KbwkJGGh6cfrdQ =lZPO -----END PGP SIGNATURE-----