OpenVZ Forum


Home » International » Russian » [SOLVED] WARNING: at kernel/futex.c:537 futex_lock_pi
Re: WARNING: at kernel/futex.c:537 futex_lock_pi [message #35965 is a reply to message #35962] Wed, 06 May 2009 19:33 Go to previous messageGo to previous message
chernomor is currently offline  chernomor
Messages: 7
Registered: October 2008
Location: Moscow
Junior Member
к сожалению, патч наложился наполовину - вторая часть не подходит

Вот то, что есть в kernel/futex.c:
static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q,         
                                struct task_struct *newowner,                 
                                struct rw_semaphore *fshared)                 
{                                                                             
        u32 newtid = task_pid_vnr(newowner) | FUTEX_WAITERS;                  
        struct futex_pi_state *pi_state = q->pi_state;                        
        struct task_struct *oldowner = pi_state->owner;   


а вот вторая часть патча:
@@ -1047,7 +1047,7 @@ static void unqueue_me_pi(struct futex_q                
 static int fixup_pi_state_owner(u32 *uaddr, struct futex_q *q,               
                                struct task_struct *newowner)                 
 {                                                                            
-       u32 newtid = newowner->pid | FUTEX_WAITERS;                           
+       u32 newtid = virt_pid(newowner) | FUTEX_WAITERS;                      
        struct futex_pi_state *pi_state = q->pi_state;                        
        u32 uval, curval, newval;                                             
        int ret;

понять, можно ли task_pid_vnr заменить на virt_pid, я не смог Sad

 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Исчезают маршруты после перезагрузки VE
Next Topic: зависают VPSы на HN
Goto Forum:
  


Current Time: Wed Aug 13 14:16:24 GMT 2025

Total time taken to generate the page: 0.50956 seconds