Re: [PATCH] tty: timbuart: Check for null res pointer

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

 



On 20. 12. 21, 9:21, Jiasheng Jiang wrote:
The return value of platform_get_resource() needs to be checked.
To avoid use of error pointer in case that there is no suitable
resource.

Fixes: ab4382d27412 ("tty: move drivers/serial/ to drivers/tty/serial/")

Barely.

Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx>
---
  drivers/tty/serial/timbuart.c | 9 +++++++--
  1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/serial/timbuart.c b/drivers/tty/serial/timbuart.c
index 08941eabe7b1..262154d2f40f 100644
--- a/drivers/tty/serial/timbuart.c
+++ b/drivers/tty/serial/timbuart.c
@@ -312,9 +312,14 @@ static const char *timbuart_type(struct uart_port *port)
   */
  static void timbuart_release_port(struct uart_port *port)
  {
+	struct resource *res;
+	int size;
  	struct platform_device *pdev = to_platform_device(port->dev);
-	int size =
-		resource_size(platform_get_resource(pdev, IORESOURCE_MEM, 0));
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!res)
+		size = 0;

How can this happen and what happens when you pass zero size to release_mem_region?

+	else
+		size = resource_size(res);
if (port->flags & UPF_IOREMAP) {
  		iounmap(port->membase);


--
js
suse labs



[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