summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2014-09-18 22:25:37 +0400
committerZefan Li <lizefan@huawei.com>2015-02-02 12:04:39 +0300
commit0bd172d1db29b8379fc8a78dd384c462fe833183 (patch)
treef6f9ae8e60615f3f078485e6d73ea504a07f037a
parenteea5a87d270e8d6925063019c3b0f3ff61fcb49a (diff)
downloadlinux-0bd172d1db29b8379fc8a78dd384c462fe833183.tar.xz
firmware_class: make sure fw requests contain a name
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>
-rw-r--r--drivers/base/firmware_class.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 5401814c874d..b7a4fe586f8a 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -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))