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 eb4085b92ad4c894b40c73ae1a4b7ad08c70bcfc..d95b5fe5f700cdedbe32f2cfdedcd754fcd7ce20 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;