From: Andy Shevchenko > Sent: 16 February 2018 15:40 > > kasprintf() does the job of two: kmalloc() and sprintf(). > Replace two calls with one. ... > - buf = kmalloc(strlen(wdriver->driver.name) + 5, GFP_KERNEL); > + buf = kasprintf(GFP_KERNEL, "wmi/%s", wdriver->driver.name); ... Except that kasprintf() has no idea how long a buffer is needed. It might even do the printf twice just to get the length. David