Pārlūkot izejas kodu

farsync: add module_put to error path in fst_open()

The fst_open() function, after a successful try_module_get() may return
an error code if hdlc_open() returns it.  However, it does not put the
module on this error path.

This patch adds the necessary module_put() call.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Pavel Shved <shved@ispras.ru>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>
Pavel Shved 14 gadi atpakaļ
vecāks
revīzija
d0fd64c1de
1 mainītis faili ar 3 papildinājumiem un 1 dzēšanām
  1. 3 1
      drivers/net/wan/farsync.c

+ 3 - 1
drivers/net/wan/farsync.c

@@ -2203,8 +2203,10 @@ fst_open(struct net_device *dev)
 
 	if (port->mode != FST_RAW) {
 		err = hdlc_open(dev);
-		if (err)
+		if (err) {
+			module_put(THIS_MODULE);
 			return err;
+		}
 	}
 
 	fst_openport(port);