diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c index 558ea7ac35..28c6e9d3ac 100644 --- a/xen/common/spinlock.c +++ b/xen/common/spinlock.c @@ -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,