[PATCH] vme: remove unneeded kfree

Linus Torvalds torvalds at linux-foundation.org
Fri Sep 7 05:04:49 UTC 2018


On Thu, Sep 6, 2018 at 1:51 AM Ding Xiang
<dingxiang at cmss.chinamobile.com> 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.

Greg?

              Linus


More information about the devel mailing list