The creds are allocated via prepare_kernel_cred() which has already taken a reference. Signed-off-by: Christian Brauner <brauner@xxxxxxxxxx> --- drivers/base/firmware_loader/main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/base/firmware_loader/main.c b/drivers/base/firmware_loader/main.c index 96a2c3011ca82148b4ba547764a1f92e252dbf5f..740ef6223a62ca37e776d1558f840f09c7c46c95 100644 --- a/drivers/base/firmware_loader/main.c +++ b/drivers/base/firmware_loader/main.c @@ -912,7 +912,7 @@ _request_firmware(const struct firmware **firmware_p, const char *name, ret = -ENOMEM; goto out; } - old_cred = override_creds(get_new_cred(kern_cred)); + old_cred = override_creds(kern_cred); ret = fw_get_filesystem_firmware(device, fw->priv, "", NULL); @@ -945,7 +945,6 @@ _request_firmware(const struct firmware **firmware_p, const char *name, ret = assign_fw(fw, device); put_cred(revert_creds(old_cred)); - put_cred(kern_cred); out: if (ret < 0) { -- 2.45.2