[<prev] [next>] [day] [month] [year] [list]
Message-ID: <SL2PR06MB30825B984106703CF463791DBD349@SL2PR06MB3082.apcprd06.prod.outlook.com>
Date: Tue, 15 Feb 2022 08:41:18 +0000
From: 王擎 <wangqing@...o.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
CC: Jiri Slaby <jirislaby@...nel.org>,
"linux-serial@...r.kernel.org" <linux-serial@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] tty: serial: add missing pci_dev_put() before return
>>On Mon, Feb 14, 2022 at 06:01:12PM -0800, Qing Wang wrote:
>> From: Wang Qing <wangqing@...o.com>
>>
>> pci_get_slot() increases its reference count, the caller must
>> decrement the reference count by calling pci_dev_put()
>>
>> Signed-off-by: Wang Qing <wangqing@...o.com>
>> ---
>> drivers/tty/serial/pch_uart.c | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c
>> index f0351e6..da5a276
>> --- a/drivers/tty/serial/pch_uart.c
>> +++ b/drivers/tty/serial/pch_uart.c
>> @@ -723,7 +723,7 @@ static void pch_request_dma(struct uart_port *port)
>> if (!chan) {
>> dev_err(priv->port.dev, "%s:dma_request_channel FAILS(Tx)\n",
>> __func__);
>> - return;
>> + goto out;
>> }
>> priv->chan_tx = chan;
>>
>> @@ -739,13 +739,16 @@ static void pch_request_dma(struct uart_port *port)
>> __func__);
>> dma_release_channel(priv->chan_tx);
>> priv->chan_tx = NULL;
>> - return;
>> + goto out;
>> }
>>
>> /* Get Consistent memory for DMA */
>> priv->rx_buf_virt = dma_alloc_coherent(port->dev, port->fifosize,
>> &priv->rx_buf_dma, GFP_KERNEL);
>> priv->chan_rx = chan;
>> +
>> +out:
>> + pci_dev_put(dma_dev);
>> }
>>
>> static void pch_dma_rx_complete(void *arg)
>> --
>> 2.7.4
>>
>
>What tool are you using to find these? As Jiri points out, it is not
>very correct at all, be careful to not cause bugs when you are
>attempting to fix them.
>
>For stuff like this, please always test your changes to verify they
>work.
Got it.
Some tools are taken from the cocci community, some are developed byself,
I will improve the tool and add tests to avoid this situation.
Thanks,
Qing
>
>thanks,
>
>greg k-h
>
Powered by blists - more mailing lists