Thread (14 messages) 14 messages, 5 authors, 2015-01-20

Re: [PATCH] i2c: drop ancient protection against sysfs refcounting issues

From: Pantelis Antoniou <hidden>
Date: 2015-01-19 19:00:07
Also in: linux-arm-kernel, linux-mips, lkml

Hi Wolfram,
On Jan 19, 2015, at 20:55 , Wolfram Sang [off-list ref] wrote:
=20
Back in the days, sysfs seemed to have refcounting issues and =
subsystems
needed a completion to be safe. This is not the case anymore, so I2C =
can
get rid of this code. There is noone else besides I2C doing something
like this currently (checked with the attached coccinelle script which
checks if a release function exists and if it contains a completion).
=20
I have been digging through the history of linux.git and
linux-history.git and found that e.g. w1 used to have such a mechanism
and also simply removed it later.
=20
Some more info from Greg Kroah-Hartman:
"Having that call "wait" for the other release call to happen is =
really
old, as Jean points out, from 2003.  We have "fixed" sysfs since then =
to
detach the files from the devices easier, we used to have some nasy
reference count issues in that area."
=20
And some testing from Jean Delvare which matches my results:
"However I just tested unloading an i2c bus driver while its adapter's
new_device attribute was opened and rmmod returned immediately. So it
doesn't look like accessing sysfs attributes actually takes a =
reference
to the underlying i2c_adapter."
=20
Let's get rid of this code before really nobody knows/understands
anymore what this was for and if it has a subtle use.
=20
Hehe, rather obliquely tested by me too :)

Please save the reference counter hackers sanity and merge this :)
Reported-by: Pantelis Antoniou <redacted>
Signed-off-by: Wolfram Sang <redacted>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jean Delvare <redacted>
Cc: Julia Lawall <redacted>
=E2=80=94
=20
Regards

=E2=80=94 Pantelis=
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help