diff options
author | Kees Cook <keescook@chromium.org> | 2014-09-18 14:25:37 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-09-24 02:26:58 -0400 |
commit | 471b095dfe0d693a8d624cbc716d1ee4d74eb437 (patch) | |
tree | 567180943a6b52e6029a30b6799520a341a990bb /drivers/base/firmware_class.c | |
parent | 41575335ed026339e07f265ede3a21e995bee8e6 (diff) |
firmware_class: make sure fw requests contain a name
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>
Cc: stable@vger.kernel.org
Tested-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/firmware_class.c')
-rw-r--r-- | drivers/base/firmware_class.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index bf424305f3dc..3d785ebb48d3 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c | |||
@@ -1105,6 +1105,9 @@ _request_firmware(const struct firmware **firmware_p, const char *name, | |||
1105 | if (!firmware_p) | 1105 | if (!firmware_p) |
1106 | return -EINVAL; | 1106 | return -EINVAL; |
1107 | 1107 | ||
1108 | if (!name || name[0] == '\0') | ||
1109 | return -EINVAL; | ||
1110 | |||
1108 | ret = _request_firmware_prepare(&fw, name, device); | 1111 | ret = _request_firmware_prepare(&fw, name, device); |
1109 | if (ret <= 0) /* error or already assigned */ | 1112 | if (ret <= 0) /* error or already assigned */ |
1110 | goto out; | 1113 | goto out; |