Re: [PATCH] vme: remove unneeded kfree

From: Martyn Welch
Date: Fri Sep 07 2018 - 04:33:13 EST


On Thu, 2018-09-06 at 22:04 -0700, Linus Torvalds wrote:
> On Thu, Sep 6, 2018 at 1:51 AM Ding Xiang
> <dingxiang@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > put_device will call vme_dev_release to free vdev, kfree is
> > unnecessary here.
>
> That does seem to be the case.ÂÂI think "unnecessary" is overly kind,
> it does seem to be a double free.
>
> Looks like the issue was introduced back in 2013 by commit
> def1820d25fa ("vme: add missing put_device() after device_register()
> fails").
>
> It seems you should *either* kfree() the vdev, _or_ do put_device(),
> but doing both seems wrong.
>
> I presume the device_register() has never failed, and this being
> vme-only I'm guessing there isn't a vibrant testing community.
>

I think that is also overly kind :-)

I currently lack access to suitable hardware to test fully myself and I
need to find some time to (re)implement some automated testing, after I
lost access to the bits I had when I left a previous employer. That and
see if I can get access to some hardware again...

Manohar, do you still have access/interest in the VME stuff? You've
been very quiet for a long time now.

Martyn