sgi-xpc: Use GFP_ATOMIC for kmalloc in atomic context.
authorFuqian Huang <huangfq.daxian@gmail.com>
Mon, 5 Aug 2019 12:56:25 +0000 (20:56 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Aug 2019 16:20:32 +0000 (18:20 +0200)
commit672a749b4df68909e4a9dbb4ff7de3c795affd35
tree6bab02604716863f3c0a24fbc2849cab0d9148d3
parentcd010d9b986f05b17adc02563eef4ebd38e6037f
sgi-xpc: Use GFP_ATOMIC for kmalloc in atomic context.

xpc_send_activate_IRQ_uv is called from
 <-xpc_send_activate_IRQ_part_uv
 <-xpc_indicate_partition_disengaged_uv
  (xpc_arch_ops.indicate_partition_disengaged)
 <-xpc_die_deactivate
 <-xpc_system_die

xpc_system_die is registered by atomic_notifier_chain_register,
which indicates xpc_system_die may be called in atomic context.
So the kmalloc in xpc_send_activate_IRQ_uv may be in atomic context.

Use GFP_ATOMIC instead of GFP_KERNEL in kmalloc.

Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com>
Link: https://lore.kernel.org/r/20190805125625.24963-1-huangfq.daxian@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/sgi-xp/xpc_uv.c