• Dan Williams's avatar
    tools/testing/nvdimm: fix SIGTERM vs hotplug crash · 14651054
    Dan Williams authored
    BugLink: http://bugs.launchpad.net/bugs/1621113
    
    commit d8d378fa upstream.
    
    The unit tests crash when hotplug races the previous probe. This race
    requires that the loading of the nfit_test module be terminated with
    SIGTERM, and the module to be unloaded while the ars scan is still
    running.
    
    In contrast to the normal nfit driver, the unit test calls
    acpi_nfit_init() twice to simulate hotplug, whereas the nominal case
    goes through the acpi_nfit_notify() event handler.  The
    acpi_nfit_notify() path is careful to flush the previous region
    registration before servicing the hotplug event. The unit test was
    missing this guarantee.
    
     BUG: unable to handle kernel NULL pointer dereference at           (null)
     IP: [<ffffffff810cdce7>] pwq_activate_delayed_work+0x47/0x170
     [..]
     Call Trace:
      [<ffffffff810ce186>] pwq_dec_nr_in_flight+0x66/0xa0
      [<ffffffff810ce490>] process_one_work+0x2d0/0x680
      [<ffffffff810ce331>] ? process_one_work+0x171/0x680
      [<ffffffff810ce88e>] worker_thread+0x4e/0x480
      [<ffffffff810ce840>] ? process_one_work+0x680/0x680
      [<ffffffff810ce840>] ? process_one_work+0x680/0x680
      [<ffffffff810d5343>] kthread+0xf3/0x110
      [<ffffffff8199846f>] ret_from_fork+0x1f/0x40
      [<ffffffff810d5250>] ? kthread_create_on_node+0x230/0x230
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: default avatarTim Gardner <tim.gardner@canonical.com>
    Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
    14651054
nfit.c 39.7 KB