Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp1344355imm; Tue, 2 Oct 2018 06:51:22 -0700 (PDT) X-Google-Smtp-Source: ACcGV60hbl2NoS47kZHsIof04T3IlbwenVTgBvv6VpEq2F0U6d3cw2L8wVdYrz9A5ABFcdBjsIOT X-Received: by 2002:a62:6c48:: with SMTP id h69-v6mr16478038pfc.61.1538488282693; Tue, 02 Oct 2018 06:51:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538488282; cv=none; d=google.com; s=arc-20160816; b=AE6FO3UKvqe/uH7/TA0Y1eIyLLq2ccuKuqXSmq8b0f4EoIxr2/ECJv6F5GJGeFLq5w rYNQx0XIwV1ICkFGTTrA+m14yUUEbaURYEevk8CAyLk8emBGI8Z6Tvpv5QQ5ADWaUUZV DpiIoVAXTCBKlPjJ239wl3oGTZlRYP9+ecKkpPhtCVnEncG7tUQqkFFjBAiTuwRYlnFz Mip799nXwcGfmVOh5bW1C+o5vPGTqXRZyykuVz62JNDZqgXm+xyltYC8dlduEJXVCGyi 8dVsSP/U16rGfTVFKxZLnxFNkMZyaCRGCWPJSb26oUERMVe5rNlPEdMcJ5oQsFpee3dq 6R4w== 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; bh=Bi1w8lKLHVKHfyZix8qlHGT/e/brZwfvO2I6nbF1bXA=; b=lUgYtRa/Na5KQv2mD7s5S6N8lzB30EhB+A8M6wzC1sZFf+KjastITm993kHJYaulEc RvJz2Rmu+GKaSpxPDMh7h4HfnjneGyJJG4D8zwIuMLM6BHDnrHucPIm7BuzXFJ/s2jCX OJlBDorM3IEvYNpu+AcN/yb5ppHbPqQErZ70uTwYMDUS4v7yG0j88wF7yNRVDcEHN0Ye KsBV/nSJPsWMeuP0pZH0yI7uzTOcfVbjogvVI1cAXjsz501nlFQZ4VjeE0TKYCCnvR7l xeITDgWPp1h5dPhsIwbqIKgEE8pRcaMVx6+DndMzB+WzvmBSCRN0Y1gFsMkX0YzOMrHq 2bWw== ARC-Authentication-Results: i=1; mx.google.com; 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 33-v6si16873803plv.241.2018.10.02.06.51.07; Tue, 02 Oct 2018 06:51:22 -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; 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 S1732006AbeJBURO (ORCPT + 99 others); Tue, 2 Oct 2018 16:17:14 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:35078 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731957AbeJBURN (ORCPT ); Tue, 2 Oct 2018 16:17:13 -0400 Received: from localhost (24-104-73-23-ip-static.hfc.comcastbusiness.net [24.104.73.23]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 4220D5AA; Tue, 2 Oct 2018 13:33:50 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Stefan Agner Subject: [PATCH 4.14 085/137] tty: serial: lpuart: avoid leaking struct tty_struct Date: Tue, 2 Oct 2018 06:24:46 -0700 Message-Id: <20181002132504.463816141@linuxfoundation.org> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181002132458.446916963@linuxfoundation.org> References: <20181002132458.446916963@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: Stefan Agner commit 3216c622a24b0ebb9c159a8d1daf7f17a106b3f5 upstream. The function tty_port_tty_get() gets a reference to the tty. Since the code is not using tty_port_tty_set(), the reference is kept even after closing the tty. Avoid using tty_port_tty_get() by directly access the tty instance. Since lpuart_start_rx_dma() is called from the .startup() and .set_termios() callback, it is safe to assume the tty instance is valid. Cc: stable@vger.kernel.org # v4.9+ Fixes: 5887ad43ee02 ("tty: serial: fsl_lpuart: Use cyclic DMA for Rx") Signed-off-by: Stefan Agner Signed-off-by: Greg Kroah-Hartman --- drivers/tty/serial/fsl_lpuart.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -983,7 +983,8 @@ static inline int lpuart_start_rx_dma(st struct circ_buf *ring = &sport->rx_ring; int ret, nent; int bits, baud; - struct tty_struct *tty = tty_port_tty_get(&sport->port.state->port); + struct tty_port *port = &sport->port.state->port; + struct tty_struct *tty = port->tty; struct ktermios *termios = &tty->termios; baud = tty_get_baud_rate(tty);