summaryrefslogtreecommitdiff
path: root/drivers/connector
diff options
context:
space:
mode:
authorLuis Chamberlain <mcgrof@kernel.org>2021-09-17 21:22:13 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-11-25 11:48:27 +0300
commitc37f9ee2bb9fa1a474ddfa6b1e7e545b6c9d4fbf (patch)
tree290a7b647e538ae6a1a207e9b5bc9d05870e0a76 /drivers/connector
parent966e4def900156c074e064381d70c546234a4061 (diff)
downloadlinux-c37f9ee2bb9fa1a474ddfa6b1e7e545b6c9d4fbf.tar.xz
firmware_loader: fix pre-allocated buf built-in firmware use
[ Upstream commit f7a07f7b96033df7709042ff38e998720a3f7119 ] The firmware_loader can be used with a pre-allocated buffer through the use of the API calls: o request_firmware_into_buf() o request_partial_firmware_into_buf() If the firmware was built-in and present, our current check for if the built-in firmware fits into the pre-allocated buffer does not return any errors, and we proceed to tell the caller that everything worked fine. It's a lie and no firmware would end up being copied into the pre-allocated buffer. So if the caller trust the result it may end up writing a bunch of 0's to a device! Fix this by making the function that checks for the pre-allocated buffer return non-void. Since the typical use case is when no pre-allocated buffer is provided make this return successfully for that case. If the built-in firmware does *not* fit into the pre-allocated buffer size return a failure as we should have been doing before. I'm not aware of users of the built-in firmware using the API calls with a pre-allocated buffer, as such I doubt this fixes any real life issue. But you never know... perhaps some oddball private tree might use it. In so far as upstream is concerned this just fixes our code for correctness. Signed-off-by: Luis Chamberlain <mcgrof@kernel.org> Link: https://lore.kernel.org/r/20210917182226.3532898-2-mcgrof@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/connector')
0 files changed, 0 insertions, 0 deletions