diff options
author | John Garry <john.garry@huawei.com> | 2019-07-30 21:29:52 +0800 |
---|---|---|
committer | Wei Xu <xuwei5@hisilicon.com> | 2019-08-13 14:48:54 +0800 |
commit | 06709e81c668f5f56c65b806895b278517bd44e0 (patch) | |
tree | 0e75ab1e01c0636634df8bcfcc062d55eee73ac4 /scripts/kallsyms.c | |
parent | 5f9e832c137075045d15cd6899ab0505cfb2ca4b (diff) | |
download | linux-06709e81c668f5f56c65b806895b278517bd44e0.tar.bz2 |
lib: logic_pio: Fix RCU usage
The traversing of io_range_list with list_for_each_entry_rcu()
is not properly protected by rcu_read_lock() and rcu_read_unlock(),
so add them.
These functions mark the critical section scope where the list is
protected for the reader, it cannot be "reclaimed". Any updater - in
this case, the logical PIO registration functions - cannot update the
list until the reader exits this critical section.
In addition, the list traversing used in logic_pio_register_range()
does not need to use the rcu variant.
This is because we are already using io_range_mutex to guarantee mutual
exclusion from mutating the list.
Cc: stable@vger.kernel.org
Fixes: 031e3601869c ("lib: Add generic PIO mapping method")
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
Diffstat (limited to 'scripts/kallsyms.c')
0 files changed, 0 insertions, 0 deletions