Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755152Ab3GYIPL (ORCPT ); Thu, 25 Jul 2013 04:15:11 -0400 Received: from smtp207.alice.it ([82.57.200.103]:44306 "EHLO smtp207.alice.it" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751745Ab3GYIPF (ORCPT ); Thu, 25 Jul 2013 04:15:05 -0400 Date: Thu, 25 Jul 2013 10:14:36 +0200 From: Gianluca Anzolin To: Jiri Slaby Cc: gregkh@linuxfoundation.org, gustavo@padovan.org, peter@hurleysoftware.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH] tty_port: Fix refcounting leak in tty_port_tty_hangup() Message-ID: <20130725081436.GA8057@sottospazio.it> References: <1374729977-7164-1-git-send-email-gianluca@sottospazio.it> <51F0C525.8080506@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <51F0C525.8080506@suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1269 Lines: 39 On Thu, Jul 25, 2013 at 08:26:45AM +0200, Jiri Slaby wrote: > On 07/25/2013 07:26 AM, Gianluca Anzolin wrote: > > The function tty_port_tty_hangup() could leak a reference to the tty_struct: > > > > struct tty_struct *tty = tty_port_tty_get(port); > > > > if (tty && (!check_clocal || !C_CLOCAL(tty))) { > > tty_hangup(tty); > > tty_kref_put(tty); > > } > > > > If tty != NULL and the second condition is false we never call tty_kref_put and > > the reference is leaked. > > > > Fix by always calling tty_kref_put() which accepts a NULL argument. > > > > The patch fixes a regression introduced by commit aa27a094. > > > > Acked-by: Gustavo Padovan > > Signed-off-by: Gianluca Anzolin > > Acked-by: Jiri Slaby > > Thanks for the fix. > Hi, I sent this morning a newer fix changed following the instructions of Peter Hurley. Could you apply that fix instead? Thank you, Gianluca -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/