diff mbox series

ipc: fix call_kern.cocci warnings

Message ID alpine.DEB.2.22.394.2006151258170.23306@hadrien (mailing list archive)
State New, archived
Headers show
Series ipc: fix call_kern.cocci warnings | expand

Commit Message

Julia Lawall June 15, 2020, 11:53 a.m. UTC
From: kernel test robot <lkp@intel.com>

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@infradead.org>
Signed-off-by: kernel test robot <lkp@intel.com>
Signed-off-by: Julia Lawall <julia.lawall@inria.fr>
---

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(-)

Comments

Matthew Wilcox (Oracle) June 15, 2020, 11:55 a.m. UTC | #1
On Mon, Jun 15, 2020 at 01:53:54PM +0200, Julia Lawall wrote:
> From: kernel test robot <lkp@intel.com>
> 
> 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")

We're dropping this patch; the problems go far deeper.
diff mbox series

Patch

--- 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);