diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index 55b94532c43a..b399dacbd839 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -1768,6 +1768,7 @@ static int ffs_fs_get_tree(struct fs_context *fc) return invalf(fc, "No source specified"); ffs = ffs_data_new(fc->source); + if (IS_ERR_OR_NULL(ffs)) { if (!ffs) return -ENOMEM; @@ -1775,6 +1776,9 @@ static int ffs_fs_get_tree(struct fs_context *fc) return PTR_ERR(ffs); } + if (IS_ERR(ffs)) + return PTR_ERR(ffs); + ffs->file_perms = ctx->perms; ffs->no_disconnect = ctx->no_disconnect;