On 10/1/25 01:21, Philippe Mathieu-Daudé wrote:
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
include/exec/cputlb.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/exec/cputlb.h b/include/exec/cputlb.h
index 9bec0e78909..db7cbf97826 100644
--- a/include/exec/cputlb.h
+++ b/include/exec/cputlb.h
@@ -31,6 +31,7 @@ void tlb_unprotect_code(ram_addr_t ram_addr);
#endif
#ifndef CONFIG_USER_ONLY
+/* Called with rcu_read_lock held. */
void tlb_reset_dirty(CPUState *cpu, uintptr_t start, uintptr_t length);
void tlb_reset_dirty_range_all(ram_addr_t start, ram_addr_t length);
#endif
I think this is wrong.
tlb_reset_dirty doesn't need to rcu lock.
tlb_reset_dirty_range_all takes the rcu lock so that it can walk the cpu list
itself.
r~