From: kernel test robot <lkp@xxxxxxxxx> This function is called from ipc_addid with a spin lock held so change GFP_KERNEL to GFP_ATOMIC. Generated by: scripts/coccinelle/locks/call_kern.cocci Fixes: dc996261c060 ("ipc: convert ipcs_idr to XArray") CC: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> Signed-off-by: kernel test robot <lkp@xxxxxxxxx> Signed-off-by: Julia Lawall <julia.lawall@xxxxxxxx> --- tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 842221d073a88c9cd1aa01777c4b69020c28e7a4 commit: dc996261c060f06e1f20f580e203b81a4ddfe301 [16130/16374] ipc: convert ipcs_idr to XArray :::::: branch date: 17 hours ago :::::: commit date: 3 days ago Please take the patch only if it's a positive warning. Thanks! util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/ipc/util.c +++ b/ipc/util.c @@ -241,7 +241,7 @@ static inline int ipc_id_alloc(struct ip xas.xa_index; xas_store(&xas, new); xas_clear_mark(&xas, XA_FREE_MARK); - } while (__xas_nomem(&xas, GFP_KERNEL)); + } while (__xas_nomem(&xas, GFP_ATOMIC)); xas_unlock(&xas); err = xas_error(&xas); @@ -250,7 +250,7 @@ static inline int ipc_id_alloc(struct ip new->id = get_restore_id(ids); new->seq = ipcid_to_seqx(new->id); idx = ipcid_to_idx(new->id); - err = xa_insert(&ids->ipcs, idx, new, GFP_KERNEL); + err = xa_insert(&ids->ipcs, idx, new, GFP_ATOMIC); if (err == -EBUSY) err = -ENOSPC; set_restore_id(ids, -1);