• Jia He's avatar
    mm/memory_hotplug: fix unpaired mem_hotplug_begin/done · b4223a51
    Jia He authored
    When check_memblock_offlined_cb() returns failed rc(e.g. the memblock is
    online at that time), mem_hotplug_begin/done is unpaired in such case.
    
    Therefore a warning:
     Call Trace:
      percpu_up_write+0x33/0x40
      try_remove_memory+0x66/0x120
      ? _cond_resched+0x19/0x30
      remove_memory+0x2b/0x40
      dev_dax_kmem_remove+0x36/0x72 [kmem]
      device_release_driver_internal+0xf0/0x1c0
      device_release_driver+0x12/0x20
      bus_remove_device+0xe1/0x150
      device_del+0x17b/0x3e0
      unregister_dev_dax+0x29/0x60
      devm_action_release+0x15/0x20
      release_nodes+0x19a/0x1e0
      devres_release_all+0x3f/0x50
      device_release_driver_internal+0x100/0x1c0
      driver_detach+0x4c/0x8f
      bus_remove_driver+0x5c/0xd0
      driver_unregister+0x31/0x50
      dax_pmem_exit+0x10/0xfe0 [dax_pmem]
    
    Fixes: f1037ec0 ("mm/memory_hotplug: fix remove_memory() lockdep splat")
    Signed-off-by: default avatarJia He <justin.he@arm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
    Acked-by: default avatarMichal Hocko <mhocko@suse.com>
    Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
    Cc: <stable@vger.kernel.org>	[5.6+]
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Chuhong Yuan <hslester96@gmail.com>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Dave Jiang <dave.jiang@intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
    Cc: Kaly Xin <Kaly.Xin@arm.com>
    Cc: Logan Gunthorpe <logang@deltatee.com>
    Cc: Masahiro Yamada <masahiroy@kernel.org>
    Cc: Mike Rapoport <rppt@linux.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Vishal Verma <vishal.l.verma@intel.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Link: http://lkml.kernel.org/r/20200710031619.18762-3-justin.he@arm.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b4223a51
memory_hotplug.c 49.2 KB