Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > On Mon, May 23, 2022 at 02:31:48PM +0300, Kalle Valo wrote: >> (adding Johannes) >> >> duoming@xxxxxxxxxx writes: >> >> >> > --- a/lib/kobject.c >> >> > +++ b/lib/kobject.c >> >> > @@ -254,7 +254,7 @@ int kobject_set_name_vargs(struct kobject *kobj, const char *fmt, >> >> > if (kobj->name && !fmt) >> >> > return 0; >> >> > >> >> > - s = kvasprintf_const(GFP_KERNEL, fmt, vargs); >> >> > + s = kvasprintf_const(GFP_ATOMIC, fmt, vargs); >> >> > if (!s) >> >> > return -ENOMEM; >> >> > >> >> > @@ -267,7 +267,7 @@ int kobject_set_name_vargs(struct kobject *kobj, const char *fmt, >> >> > if (strchr(s, '/')) { >> >> > char *t; >> >> > >> >> > - t = kstrdup(s, GFP_KERNEL); >> >> > + t = kstrdup(s, GFP_ATOMIC); >> >> > kfree_const(s); >> >> > if (!t) >> >> > return -ENOMEM; >> >> >> >> Please no, you are hurting the whole kernel because of one odd user. >> >> Please do not make these calls under atomic context. >> > >> > Thanks for your time and suggestions. I will remove the gfp_t >> > parameter of dev_coredumpv in order to show it could not be used in >> > atomic context. >> >> In a way it would be nice to be able to call dev_coredump from atomic >> contexts, though I don't know how practical it actually is. > > Dumping core information from atomic context feels very very wrong to > me. > > Why not just not do that? I was wondering why dev_coredumpm() has the gfp parameter in the first place. But yeah, removing gfp from devcoredump API altogether sounds like the best thing to do. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches