Re: [PATCH] xfrm: policy: Read seqcount outside of rcu-read side in xfrm_policy_lookup_bytype
From: Varad Gautam <hidden>
Date: 2021-05-28 16:06:24
Also in:
linux-rt-users, lkml, netdev
From: Varad Gautam <hidden>
Date: 2021-05-28 16:06:24
Also in:
linux-rt-users, lkml, netdev
On 5/28/21 5:11 PM, Ahmed S. Darwish wrote:
On Fri, May 28, 2021, Varad Gautam wrote: ...quoted
Thead 1 (xfrm_hash_resize) Thread 2 (xfrm_policy_lookup_bytype) rcu_read_lock(); mutex_lock(&hash_resize_mutex); read_seqcount_begin(&xfrm_policy_hash_generation); mutex_lock(&hash_resize_mutex); // block xfrm_bydst_resize(); synchronize_rcu(); // block <RCU stalls in xfrm_policy_lookup_bytype>...quoted
Fixes: a7c44247f70 ("xfrm: policy: make xfrm_policy_lookup_bytype lockless")Minor note: the 'Fixes' commit should be 77cc278f7b20 ("xfrm: policy: Use sequence counters with associated lock") instead. The reason read_seqcount_begin() is emitting a mutex_lock() on PREEMPT_RT is because of the s/seqcount_t/seqcount_mutex_t/ change.
Thanks, corrected it in v2.
Kind regards, -- Ahmed S. Darwish Linutronix GmbH
-- SUSE Software Solutions Germany GmbH Maxfeldstr. 5 90409 Nürnberg Germany HRB 36809, AG Nürnberg Geschäftsführer: Felix Imendörffer