]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
firmware_class: make sure fw requests contain a name
authorKees Cook <keescook@chromium.org>
Thu, 18 Sep 2014 18:25:37 +0000 (11:25 -0700)
committerZefan Li <lizefan@huawei.com>
Mon, 2 Feb 2015 09:04:39 +0000 (17:04 +0800)
commit 471b095dfe0d693a8d624cbc716d1ee4d74eb437 upstream.

An empty firmware request name will trigger warnings when building
device names. Make sure this is caught earlier and rejected.

The warning was visible via the test_firmware.ko module interface:

echo -ne "\x00" > /sys/devices/virtual/misc/test_firmware/trigger_request

Reported-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Tested-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
drivers/base/firmware_class.c

index 5401814c874df066833c8b5c3ac2dc28e2842490..b7a4fe586f8a34ee1f1157fdf1876160efd222ec 100644 (file)
@@ -588,6 +588,9 @@ request_firmware(const struct firmware **firmware_p, const char *name,
        struct firmware_priv *fw_priv;
        int ret;
 
+       if (!name || name[0] == '\0')
+               return -EINVAL;
+
        fw_priv = _request_firmware_prepare(firmware_p, name, device, true,
                                            false);
        if (IS_ERR_OR_NULL(fw_priv))