[lkml]   [2013]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/4] treewide: add missing put_device calls

This is just the beginning of patchset-set that aims to fix possible
problems caused by not calling put_device() if device_register() fails.

The root cause for the need to call put_device() is that the underlying
kobject still has a reference count of 1. Thus, device.release() will not
be called and the device will just sit there waiting for a put_device().
Adding the put_device() also removes the need for the call to kfree() as most
release functions already call kfree() on the container of the device.

While these have not been experienced, they are potential issues and thus
they need to be fixed. Also, they are a few more files that have the same
kind of issue, those will be fixed if these are accepted.

(Sorry for the noise, I messed up my SMTP server so it didn't reach LKML)

The patchset consists of the following patches:

net: phy: call put_device on device_register() failure
eisa: call put_device if device_register fails
backlight: lcd: call put_device if device_register fails
w1: call put_device if device_register fails

diffstat as follows:

drivers/eisa/eisa-bus.c | 4 +++-
drivers/net/phy/mdio_bus.c | 1 +
drivers/video/backlight/lcd.c | 2 +-
drivers/w1/w1_int.c | 5 ++---
4 files changed, 7 insertions(+), 5 deletions(-)

Levente Kurusa

 \ /
  Last update: 2013-12-13 21:01    [W:0.088 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site