]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
locking/atomic, kref: Avoid more abuse
authorPeter Zijlstra <peterz@infradead.org>
Mon, 14 Nov 2016 17:25:17 +0000 (18:25 +0100)
committerIngo Molnar <mingo@kernel.org>
Sat, 14 Jan 2017 10:42:46 +0000 (11:42 +0100)
Leak references by unbalanced get, instead of poking at kref
implementation details.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
drivers/usb/mon/mon_main.c

index 33ff49c4cea428b2a257d63ff52a241a2031e2be..46847340b819b4d40e91ba148e295c00dedfc34a 100644 (file)
@@ -409,7 +409,7 @@ static void __exit mon_exit(void)
                        printk(KERN_ERR TAG
                            ": Outstanding opens (%d) on usb%d, leaking...\n",
                            mbus->nreaders, mbus->u_bus->busnum);
-                       atomic_set(&mbus->ref.refcount, 2);     /* Force leak */
+                       kref_get(&mbus->ref); /* Force leak */
                }
 
                mon_dissolve(mbus, mbus->u_bus);