Every function should have a type and instance name. Unfortunately in most cases instance name was left unused and unchecked. This may lead to situations like FunctionFS device name identified by "" or some misleading debug messages from TCM like: tcm: Activating To avoid this let's add a check that instance name should have at least one character. Reported-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx> --- drivers/usb/gadget/configfs.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c index aeb9f3c40521..bdc9ec597d6a 100644 --- a/drivers/usb/gadget/configfs.c +++ b/drivers/usb/gadget/configfs.c @@ -548,6 +548,11 @@ static struct config_group *function_make( *instance_name = '\0'; instance_name++; + if (*instance_name == '\0') { + pr_err("Instance name (after .) should not be empty\n"); + return ERR_PTR(-EINVAL); + } + fi = usb_get_function_instance(func_name); if (IS_ERR(fi)) return ERR_CAST(fi); -- 2.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html