> kasprintf() returns a pointer to dynamically allocated memory > which can be NULL upon failure. Ensure the allocation was successful > by checking the pointer validity. … > +++ b/arch/x86/xen/smp.c > @@ -61,10 +61,14 @@ void xen_smp_intr_free(unsigned int cpu) > > int xen_smp_intr_init(unsigned int cpu) > { > - int rc; > + int rc = 0; I find the indication of a successful function execution sufficient by the statement “return 0;” at the end. How do you think about to omit such an extra variable initialisation? > char *resched_name, *callfunc_name, *debug_name; > > resched_name = kasprintf(GFP_KERNEL, "resched%d", cpu); > + if (!resched_name) { > + rc = -ENOMEM; > + goto fail; > + } > per_cpu(xen_resched_irq, cpu).name = resched_name; > rc = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR, > cpu, You propose to apply the same error code in four if branches. I suggest to avoid the specification of duplicate assignment statements for this purpose. How do you think about to use another label like “e_nomem”? Regards, Markus