static char *composite_default_mfr(struct usb_gadget *gadget)
 {
-       char *mfr;
-       int len;
-
-       len = snprintf(NULL, 0, "%s %s with %s", init_utsname()->sysname,
-                       init_utsname()->release, gadget->name);
-       len++;
-       mfr = kmalloc(len, GFP_KERNEL);
-       if (!mfr)
-               return NULL;
-       snprintf(mfr, len, "%s %s with %s", init_utsname()->sysname,
-                       init_utsname()->release, gadget->name);
-       return mfr;
+       return kasprintf(GFP_KERNEL, "%s %s with %s", init_utsname()->sysname,
+                        init_utsname()->release, gadget->name);
 }
 
 void usb_composite_overwrite_options(struct usb_composite_dev *cdev,