xen/spinlock: use correct pointer

The ->profile member is at different offsets in struct rspinlock and
struct spinlock. When initializing the profiling bits of an rspinlock,
an unrelated member in struct rspinlock was being overwritten, leading
to mild havoc. Use the correct pointer.

Fixes: b053075d1a ("xen/spinlock: make struct lock_profile rspinlock_t aware")
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Stewart Hildebrand authored and Jan Beulich committed 2024-04-26 12:43:24 +02:00
1 parent a505890d81
commit 13893a58e2
1 file changed
+5 -1
+5 -1
View File
@@ -789,7 +789,11 @@ static int __init cf_check lock_prof_init(void)
{
(*q)->next = lock_profile_glb_q.elem_q;
lock_profile_glb_q.elem_q = *q;
(*q)->ptr.lock->profile = *q;
if ( (*q)->is_rlock )
(*q)->ptr.rlock->profile = *q;
else
(*q)->ptr.lock->profile = *q;
}
_lock_profile_register_struct(LOCKPROF_TYPE_GLOBAL,
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.