lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Fri, 28 Apr 2017 08:36:47 -0700
From:   Dan Williams <dan.j.williams@...el.com>
To:     Mika Penttilä <mika.penttila@...tfour.com>
Cc:     LKML <linux-kernel@...r.kernel.org>
Subject: Re: nvdimm/pmem device lifetime

On Thu, Apr 27, 2017 at 9:37 PM, Mika Penttilä
<mika.penttila@...tfour.com> wrote:
> Hi,
>
> Just wondering the pmem struct device vs gendisk lifetimes.. from pmem_attach_disk():
>
>         device_add_disk(dev, disk);
>         devm_add_action_or_reset(dev, pmem_release_disk, disk);
>
>
> where:
> static void pmem_release_disk(void *disk)
> {
>         del_gendisk(disk);
>         put_disk(disk);
> }
>
>
> but device_add_disk() makes disk pin dev (as a parent), and it's unpinned by del_gendisk()
> which is called when dev is released, but it's not because of this circular dependency?

pmem_release_disk() is called when the driver is unbound, well before
the device is released. See the calls to devres_release_all() in the
device_release_driver() path.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ