On 09/10, Eric W. Biederman wrote: > > Oleg Nesterov <oleg at tv-sign.ru> writes: > > > On 09/10, Eric W. Biederman wrote: > >> > >> Updating this old code is painful. > > > > No, no, we shouldn't change the old code, it is fine. > > > So what happens when: > cpu0: cpu1: > kill_pid(vt_pid,....) fn_SAK()->vc_reset()->put_pid(xchg(&vt_pid, NULL)) > > Can't kill_pid dereference vt_pid after put_pid is called? Ah, I didn't consider that patch as 'old code', sorry :) I don't understand drivers/char/vt*, but surely put_pid(xchg()) can't work. Again, unless we have a lock to serialize access to ->vt_pid, but in that case we don't need xchg(). Oleg.