Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp2342570imm; Thu, 11 Oct 2018 08:48:35 -0700 (PDT) X-Google-Smtp-Source: ACcGV60bw9fZsXZeEl5eJRtYbALxAMI2cwuYVZb4RYl42pKUd45ENUJq8auRf8qTVp6CjN1lvh0K X-Received: by 2002:a62:9888:: with SMTP id d8-v6mr2088589pfk.97.1539272915800; Thu, 11 Oct 2018 08:48:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539272915; cv=none; d=google.com; s=arc-20160816; b=YpE07FHqyYBMgUu5BiOfCZgbsiiS6gLugLWRRRWQebrIHwBSH+AWl3fNc0qzNuuOkL 5cn1F2RGnB13+cm9r1iv95cX/2lFCa+e2XcYhvZ4yJGEV+EG92HYKVcb3+zxjgszezvC CO6iTcUzEel/VdImkEYmNcnrhuBKXKBqRsJlw9gInz6mWcgvmEnKgz44KkRg29A+PS8G rprTL+cgvt/3gc6j8gszrHnlwPae0Sx6h4bF+2U9fr3dQLeu+5s/GwrRVqCZtcB5Mphs FRAhUHBVaOo1JYhF9tm7eP86JzCWSSiPte7Wm34wGuWS2tW4gV8yLQCU/lrnR+IN5k7s 2TMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=CYwZOTBihWfXKLLsQGv5hbtU5NAPoY+ke62aZcDFusU=; b=tScQBQn2OsC4kgJ3+WdDf2EYPYnphfDe2KtaV2gZhHHpx0M3kvIRS3AUhQN0QhmpkA Wp5YkHy3NVNX6WpmhpdV406YCZNzVVCGswXq+TlQJWK8DLzqnv6xasH74V9jwerhXnU4 1rKHiHgJcp5kXhqH953Fkkj00VW477IM6YzL+qYB0+b6airOHzCzctHuBZz3Da7UeXhK 6djGlTCINuRt4jSf8gbq9mo7w1XIAh7/5YOb7i4Rtz1hlXTAhzz26qFrtQESyW8encFi xoY+fnBExpqPcHYzRT0jMArPBFaBI38EyHaPTC6Rze7GM9t7fNho5kyzElXokT35qrgV Sjkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kgLDWTld; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g7-v6si26807699pgj.116.2018.10.11.08.48.20; Thu, 11 Oct 2018 08:48:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=kgLDWTld; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731426AbeJKXNg (ORCPT + 99 others); Thu, 11 Oct 2018 19:13:36 -0400 Received: from mail.kernel.org ([198.145.29.99]:46212 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726700AbeJKXNf (ORCPT ); Thu, 11 Oct 2018 19:13:35 -0400 Received: from localhost (ip-213-127-77-176.ip.prioritytelecom.net [213.127.77.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 368E42085B; Thu, 11 Oct 2018 15:45:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1539272749; bh=kz34PnX3Z7/G3iaSg5Tu4KZD9ENt0wns2xvKv/PfVg0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kgLDWTldTg6xRIbdx/C5jo39vlz2P2V9sKAH9uaBvjo6AYepBiOvYbK/cPRNj1ToD AfxcYUfEqBWSwS4QjgxhvYnzgUOSYW43oJrY49t3MfNxIBZjMzNR7rhXcL76tDxbeR 4OarrEZhfH70rocd5Nj/XT2lfDHgtgLCtVr/YLRc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jiri Slaby , Jiri Slaby , Mark Rutland , Tetsuo Handa , Dmitry Safonov Subject: [PATCH 4.14 25/45] tty: Drop tty->count on tty_reopen() failure Date: Thu, 11 Oct 2018 17:39:52 +0200 Message-Id: <20181011152509.959180033@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181011152508.885515042@linuxfoundation.org> References: <20181011152508.885515042@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dmitry Safonov commit fe32416790093b31364c08395727de17ec96ace1 upstream. In case of tty_ldisc_reinit() failure, tty->count should be decremented back, otherwise we will never release_tty(). Tetsuo reported that it fixes noisy warnings on tty release like: pts pts4033: tty_release: tty->count(10529) != (#fd's(7) + #kopen's(0)) Fixes: commit 892d1fa7eaae ("tty: Destroy ldisc instance on hangup") Cc: stable@vger.kernel.org # v4.6+ Cc: Greg Kroah-Hartman Cc: Jiri Slaby Reviewed-by: Jiri Slaby Tested-by: Jiri Slaby Tested-by: Mark Rutland Tested-by: Tetsuo Handa Signed-off-by: Dmitry Safonov Signed-off-by: Greg Kroah-Hartman --- drivers/tty/tty_io.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -1254,6 +1254,7 @@ static void tty_driver_remove_tty(struct static int tty_reopen(struct tty_struct *tty) { struct tty_driver *driver = tty->driver; + int retval; if (driver->type == TTY_DRIVER_TYPE_PTY && driver->subtype == PTY_TYPE_MASTER) @@ -1267,10 +1268,14 @@ static int tty_reopen(struct tty_struct tty->count++; - if (!tty->ldisc) - return tty_ldisc_reinit(tty, tty->termios.c_line); + if (tty->ldisc) + return 0; - return 0; + retval = tty_ldisc_reinit(tty, tty->termios.c_line); + if (retval) + tty->count--; + + return retval; } /**