>>> + graph->graph = audioreach_alloc_graph_pkt(apm, &info->sg_list, >>> graph_id); >>> + if (IS_ERR(graph->graph)) { >>> + kfree(graph); >>> + return ERR_PTR(-ENOMEM); >>> + } >>> + >>> + spin_lock(&apm->lock); >>> + idr_alloc(&apm->graph_idr, graph, graph_id, >>> + graph_id + 1, GFP_ATOMIC); >> >> does this need to be ATOMIC? > > We are inside spinlock. but this is not used in an interrupt handler or anything that isn't in a process context, is it?