summaryrefslogtreecommitdiff
path: root/.mailmap
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2020-07-16 09:05:53 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-07-23 10:47:13 +0300
commitb34e7e298d7a5ed76b3aa327c240c29f1ef6dd22 (patch)
tree1386eb6469450e813bba9bfe46a81c6129e44354 /.mailmap
parentf867c771f98891841c217fa8459244ed0dd28921 (diff)
downloadlinux-b34e7e298d7a5ed76b3aa327c240c29f1ef6dd22.tar.xz
/dev/mem: Add missing memory barriers for devmem_inode
WRITE_ONCE() isn't the correct way to publish a pointer to a data structure, since it doesn't include a write memory barrier. Therefore other tasks may see that the pointer has been set but not see that the pointed-to memory has finished being initialized yet. Instead a primitive with "release" semantics is needed. Use smp_store_release() for this. The use of READ_ONCE() on the read side is still potentially correct if there's no control dependency, i.e. if all memory being "published" is transitively reachable via the pointer itself. But this pairing is somewhat confusing and error-prone. So just upgrade the read side to smp_load_acquire() so that it clearly pairs with smp_store_release(). Cc: Arnd Bergmann <arnd@arndb.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Kees Cook <keescook@chromium.org> Cc: Matthew Wilcox <willy@infradead.org> Cc: Russell King <linux@arm.linux.org.uk> Cc: Andrew Morton <akpm@linux-foundation.org> Fixes: 3234ac664a87 ("/dev/mem: Revoke mappings when a driver claims the region") Signed-off-by: Eric Biggers <ebiggers@google.com> Cc: stable <stable@vger.kernel.org> Acked-by: Dan Williams <dan.j.williams@intel.com> Link: https://lore.kernel.org/r/20200716060553.24618-1-ebiggers@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to '.mailmap')
0 files changed, 0 insertions, 0 deletions