RE: [PATCH] tty: serial: add missing pci_dev_put() before return

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>On Mon, Feb 14, 2022 at 06:01:12PM -0800, Qing Wang wrote:
>> From: Wang Qing <wangqing@xxxxxxxx>
>> 
>> 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@xxxxxxxx>
>> ---
>>  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
>




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux