From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: "H. Nikolaus Schaller" <hns@goldelico.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>,
linux-input@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
Discussions about the Letux Kernel <letux-kernel@openphoenux.org>,
kernel@pyra-handheld.com
Subject: Re: [Kernel] [PATCH 1/5] input: twl6040-vibra: fix DT node memory management
Date: Mon, 9 May 2016 17:02:43 -0700 [thread overview]
Message-ID: <20160510000243.GD15535@dtor-ws> (raw)
In-Reply-To: <3F1CB46B-87AA-4B65-9D2E-56927F2EB9E8@goldelico.com>
On Sun, May 08, 2016 at 08:49:27AM +0200, H. Nikolaus Schaller wrote:
> Hi Dmitry,
>
> > Am 20.04.2016 um 11:03 schrieb H. Nikolaus Schaller <hns@goldelico.com>:
> >
> >
> >> Am 19.04.2016 um 19:06 schrieb Dmitry Torokhov <dmitry.torokhov@gmail.com>:
> >>
> >> On Tue, Apr 19, 2016 at 09:43:08AM +0200, H. Nikolaus Schaller wrote:
> >>>
> >>>> Am 18.04.2016 um 23:22 schrieb Dmitry Torokhov <dmitry.torokhov@gmail.com>:
> >>>>
> >>>> On Mon, Apr 18, 2016 at 09:55:37PM +0200, H. Nikolaus Schaller wrote:
> >>>>> commit e7ec014a47e4 ("Input: twl6040-vibra - update for device tree support")
> >>>>>
> >>>>> made the separate vibra DT node to a subnode of the twl6040.
> >>>>>
> >>>>> It now calls of_find_node_by_name() to locate the "vibra" subnode.
> >>>>> This function has a side effect to call of_node_put on() for the twl6040
> >>>>> parent node passed in as a parameter. This causes trouble later on.
> >>>>>
> >>>>> Solution: we must call of_node_get() before of_find_node_by_name()
> >>>>
> >>>> God, what messed up API.
> >>>
> >>> Yes, indeed. It is opposite to the usual object ownership rule that the code
> >>> fragment that asks for a handle has to release it.
> >>>
> >>> Usually it does not become obvious because often CONFIG_OF_DYNAMIC=n.
> >>> This disables all of_node refcounting completely so such bugs remain unnoticed.
> >>>
> >>>> Any chance we can make it a bit more sane and
> >>>> not drop the reference inside it instead?
> >>>
> >>> Well, if you want to change ~2000 files, test on all platforms and ask Linus
> >>> for agreement?
> >>
> >> It's not that bad, let's see what DT maintainers say to the patch I
> >> posted...
> >
> > Thanks! Would make me more happy a well.
>
> Any progress on this?
I'll apply your patch for now and then will try to get mine worked in.
Thanks.
--
Dmitry
next prev parent reply other threads:[~2016-05-10 0:02 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-18 19:55 [PATCH 0/5] fixes for twl6040-vibra H. Nikolaus Schaller
2016-04-18 19:55 ` [PATCH 1/5] input: twl6040-vibra: fix DT node memory management H. Nikolaus Schaller
2016-04-18 21:22 ` Dmitry Torokhov
2016-04-19 7:43 ` H. Nikolaus Schaller
2016-04-19 17:06 ` Dmitry Torokhov
2016-04-20 9:03 ` H. Nikolaus Schaller
2016-05-08 6:49 ` [Kernel] " H. Nikolaus Schaller
2016-05-10 0:02 ` Dmitry Torokhov [this message]
2016-04-18 19:55 ` [PATCH 2/5] input: twl6040-vibra: add handler to unregister input if module is removed H. Nikolaus Schaller
2016-04-18 21:12 ` Dmitry Torokhov
2016-04-19 7:33 ` H. Nikolaus Schaller
2016-04-19 7:57 ` Dmitry Torokhov
2016-04-19 8:05 ` H. Nikolaus Schaller
2016-04-19 16:53 ` Dmitry Torokhov
2016-04-20 9:12 ` H. Nikolaus Schaller
2016-04-18 19:55 ` [PATCH 3/5] input: twl6040-vibra: fix NULL pointer dereference by removing workqueue H. Nikolaus Schaller
2016-04-18 21:47 ` Dmitry Torokhov
2016-04-18 19:55 ` [PATCH 4/5] input: twl6040-vibra: ignore return value of schedule_work H. Nikolaus Schaller
2016-04-18 21:47 ` Dmitry Torokhov
2016-04-18 19:55 ` [PATCH 5/5] input: twl6040-vibra: remove mutex H. Nikolaus Schaller
2016-04-18 21:20 ` Dmitry Torokhov
2016-04-19 7:49 ` H. Nikolaus Schaller
2016-04-19 8:01 ` Dmitry Torokhov
2016-04-19 8:08 ` H. Nikolaus Schaller
2016-04-20 9:22 ` [Letux-kernel] " H. Nikolaus Schaller
2016-04-20 9:22 ` H. Nikolaus Schaller
2016-04-20 17:49 ` Dmitry Torokhov
2016-04-20 18:10 ` H. Nikolaus Schaller
2016-04-20 18:15 ` Dmitry Torokhov
2016-04-20 19:00 ` H. Nikolaus Schaller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160510000243.GD15535@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=fabio.estevam@freescale.com \
--cc=hns@goldelico.com \
--cc=kernel@pyra-handheld.com \
--cc=letux-kernel@openphoenux.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.