summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2014-09-18 22:25:37 +0400
committerJiri Slaby <jslaby@suse.cz>2014-10-31 17:11:13 +0300
commit7c77b7f1a637718d4acdc6dd09e56b3016a5f42b (patch)
treed19308f7649c3ac83dbff63a00f8d39ac122abb0 /drivers/base
parent9235aef181b7c3829630cdfeef1b75c0f0cbe2db (diff)
downloadlinux-7c77b7f1a637718d4acdc6dd09e56b3016a5f42b.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: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'drivers/base')
-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 701212ba38b7..ec85b816fd5a 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -1063,6 +1063,9 @@ _request_firmware(const struct firmware **firmware_p, const char *name,
if (!firmware_p)
return -EINVAL;
+ if (!name || name[0] == '\0')
+ return -EINVAL;
+
ret = _request_firmware_prepare(&fw, name, device);
if (ret <= 0) /* error or already assigned */
goto out;