kstrdup_quotable_cmdline takes gfp flags and passes those on to kstrdup_quotable, but before that it has done a kmalloc(PAGE_SIZE) with a hard-coded GFP_KERNEL. There is one caller of kstrdup_quotable_cmdline which passes GFP_ATOMIC, and the commit introducing that (65a3c2748e) conveniently has this piece of history: v2: Use GFP_ATOMIC while holding the rcu lock per Chris Wilson So, should the GFP_KERNEL in kstrdup_quotable_cmdline simply be changed to use the passed-in gfp, or is there some deeper reason for the GFP_KERNEL (in which case it doesn't really make sense to take gfp at all...)? It came from a tree-wide GFP_TEMPORARY -> GFP_KERNEL conversion. Rasmus