Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1966425pxj; Sun, 9 May 2021 10:26:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwI8NIy9K2FiuSFUroS+c1kmysdUvoMWDKDLSqVY6syDUiiUqQ4zUp4aijnzDt72H17oNEO X-Received: by 2002:a17:906:17ca:: with SMTP id u10mr21279957eje.124.1620581161986; Sun, 09 May 2021 10:26:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620581161; cv=none; d=google.com; s=arc-20160816; b=wZK9KJbholskAN+z4CXW7CTWwxXDx+zPQpVGiS/AEC7f15URXLvbZp51IwYGLrHKxP kKOpoQLWDxicAxDE1eQ5XrYZBWXvKqolA3VUNB5wEUQ73MQ3j/QgWssbZKOcWYHa/ShQ BUNfGDf6nIA1lVQWj3ZWM8fkY8NBgncK+2nHb2wrer2pzrnQTGDHy8YGOuen5wSlQLtE FlvWmBqDMq3qrlFLz0VMUZDVcUeFPiA8XtcWd/9KmHo9HiKlHRB1t5Kka74sHY0mwUTS PzKE1OAmWIK4yKh4P8tj90sfCtEUV4zh0JeVMnXY/UvFMru2huRrztk43FmwIh8n16fT ycvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=Xv+A3aJ47BtemTBmVOpVwEuDLs8lEMs0lqu6rTjJVEI=; b=RdzaWVOh90ju+VWos2NooYT7JOydh1P0GNP3Mbfhy5/NlTY0xIPceCbk8e8IRpW085 oe28xjiLquZe4ecFEar1hvIaOKlxUmWbr5GihN4JzbF/uCDb3LmtTdnKeyVzSuePy0mL k5L3OAeEq/DWcq55TW6Cvwa8m9BkUXE4+XQs3H7TJ3nLqzRKG4848fbqBQv4JSbD3ifd EwqAs2xSpmSEuI32skmTc+uPpCKE/+ugMGnk3R3CqfpZSk21WHVsRNBn4ztfEfmEbr4Y +JTkX/sHurLwCluR5ioHEUR/GZjrctw4y6YXeZPQYvR2j0DH8cQDzdcfzSmt7e9FIMYw cQ4A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l9si11030744eds.412.2021.05.09.10.25.35; Sun, 09 May 2021 10:26:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229726AbhEIRXj (ORCPT + 99 others); Sun, 9 May 2021 13:23:39 -0400 Received: from smtp07.smtpout.orange.fr ([80.12.242.129]:30455 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229666AbhEIRXj (ORCPT ); Sun, 9 May 2021 13:23:39 -0400 Received: from localhost.localdomain ([86.243.172.93]) by mwinf5d87 with ME id 2hNZ2500621Fzsu03hNZsm; Sun, 09 May 2021 19:22:34 +0200 X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sun, 09 May 2021 19:22:34 +0200 X-ME-IP: 86.243.172.93 From: Christophe JAILLET To: gregkh@linuxfoundation.org, jirislaby@kernel.org, akpm@linux-foundation.org, stefani@seibold.net Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] tty: nozomi: Fix a resource leak in an error handling function Date: Sun, 9 May 2021 19:22:33 +0200 Message-Id: <4f0d2b3038e82f081d370ccb0cade3ad88463fe7.1620580838.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A 'request_irq()' call is not balanced by a corresponding 'free_irq()' in the error handling path, as already done in the remove function. Add it. Fixes: 9842c38e9176 ("kfifo: fix warn_unused_result") Signed-off-by: Christophe JAILLET --- I also wonder if the loop above is correct. The 'i < MAX_PORT' looks really spurious to me. 'tty_port_destroy' can be called twice for the same entry (once before branching in the error handling path, and once in here) and 'tty_unregister_device'/'tty_port_destroy' will be called on entries that have not been 'tty_port_init'ed or 'tty_port_register_device'd. I don't know if it may be an issue. --- drivers/tty/nozomi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/tty/nozomi.c b/drivers/tty/nozomi.c index 9a2d78ace49b..b270e137ef9b 100644 --- a/drivers/tty/nozomi.c +++ b/drivers/tty/nozomi.c @@ -1420,6 +1420,7 @@ static int nozomi_card_init(struct pci_dev *pdev, tty_unregister_device(ntty_driver, dc->index_start + i); tty_port_destroy(&dc->port[i].port); } + free_irq(pdev->irq, dc); err_free_kfifo: for (i = 0; i < MAX_PORT; i++) kfifo_free(&dc->port[i].fifo_ul); -- 2.30.2