firmware_loader: add a sanity check for firmware_request_builtin()
authorLuis Chamberlain <mcgrof@kernel.org>
Fri, 17 Sep 2021 18:22:15 +0000 (11:22 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 5 Oct 2021 14:26:49 +0000 (16:26 +0200)
Right now firmware_request_builtin() is used internally only
and so we have control over the callers. But if we want to expose
that API more broadly we should ensure the firmware pointer
is valid.

This doesn't fix any known issue, it just prepares us to later
expose this API to other users.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Link: https://lore.kernel.org/r/20210917182226.3532898-4-mcgrof@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/firmware_loader/main.c

index eb4085b..d95b5fe 100644 (file)
@@ -115,6 +115,9 @@ static bool firmware_request_builtin(struct firmware *fw, const char *name)
 {
        struct builtin_fw *b_fw;
 
+       if (!fw)
+               return false;
+
        for (b_fw = __start_builtin_fw; b_fw != __end_builtin_fw; b_fw++) {
                if (strcmp(name, b_fw->name) == 0) {
                        fw->size = b_fw->size;