| From 471b095dfe0d693a8d624cbc716d1ee4d74eb437 Mon Sep 17 00:00:00 2001 |
| From: Kees Cook <keescook@chromium.org> |
| Date: Thu, 18 Sep 2014 11:25:37 -0700 |
| Subject: firmware_class: make sure fw requests contain a name |
| |
| From: Kees Cook <keescook@chromium.org> |
| |
| 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> |
| |
| --- |
| drivers/base/firmware_class.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/base/firmware_class.c |
| +++ b/drivers/base/firmware_class.c |
| @@ -1021,6 +1021,9 @@ _request_firmware(const struct firmware |
| 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; |