@@ -126,7 +126,7 @@ static void rcu_check_gp_start_stall(struct rcu_node *rnp, struct rcu_data *rdp,
#define rcu_eqs_special_exit() do { } while (0)
#endif
-static DEFINE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data) = {
+DEFINE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data) = {
.dynticks_nesting = 1,
.dynticks_nmi_nesting = DYNTICK_IRQ_NONIDLE,
.dynticks = ATOMIC_INIT(RCU_DYNTICK_CTRL_CTR),
@@ -394,3 +394,4 @@ struct rcu_state {
int rcu_dynticks_snap(struct rcu_data *rdp);
void call_rcu(struct rcu_head *head, rcu_callback_t func);
+DECLARE_PER_CPU_SHARED_ALIGNED(struct rcu_data, rcu_data);
Make percpu rcu_data non-static so that it can be mapped into an isolation address space page-table. This will allow address space isolation to use RCU without faulting. Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> --- kernel/rcu/tree.c | 2 +- kernel/rcu/tree.h | 1 + 2 files changed, 2 insertions(+), 1 deletions(-)