Simple enough - queued for v22-dev. Oren On 09/09/2010 06:25 PM, Dan Smith wrote: > The explicit decrement of obj->users isn't correct for all cases of > SOCK_DEAD, so this patch changes it to the result of ref_users() to > avoid the false positive in the leak check. I have confirmed with > sockets in both SOCK_DEAD situations that we don't leak them with > this change. > > Signed-off-by: Dan Smith <danms@xxxxxxxxxx> > --- > kernel/checkpoint/objhash.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/checkpoint/objhash.c b/kernel/checkpoint/objhash.c > index a7b8b7d..62c34ff 100644 > --- a/kernel/checkpoint/objhash.c > +++ b/kernel/checkpoint/objhash.c > @@ -546,7 +546,7 @@ static void ckpt_obj_users_inc(struct ckpt_ctx *ctx, void *ptr, int increment) > * obj_sock_adjust_users - remove implicit reference on DEAD sockets > * @obj: CKPT_OBJ_SOCK object to adjust > * > - * Sockets that have been disconnected from their struct file have > + * Sockets that have been disconnected from their struct file may have > * a reference count one less than normal sockets. The objhash's > * assumption of such a reference is therefore incorrect, so we correct > * it here. > @@ -556,7 +556,7 @@ static inline void obj_sock_adjust_users(struct ckpt_obj *obj) > struct sock *sk = (struct sock *)obj->ptr; > > if (sock_flag(sk, SOCK_DEAD)) { > - obj->users--; > + obj->users = obj->ops->ref_users(obj->ptr); > ckpt_debug("Adjusting SOCK %i count to %i\n", > obj->objref, obj->users); > } _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers