From: Kees Cook <keescook@chromium.org> To: James Morris <jmorris@namei.org> Cc: Kees Cook <keescook@chromium.org>, stable@vger.kernel.org, Luis Chamberlain <mcgrof@kernel.org>, Mimi Zohar <zohar@linux.ibm.com>, Scott Branden <scott.branden@broadcom.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, "Rafael J. Wysocki" <rafael@kernel.org>, Alexander Viro <viro@zeniv.linux.org.uk>, Jessica Yu <jeyu@kernel.org>, Dmitry Kasatkin <dmitry.kasatkin@gmail.com>, "Serge E. Hallyn" <serge@hallyn.com>, Casey Schaufler <casey@schaufler-ca.com>, "Eric W. Biederman" <ebiederm@xmission.com>, Peter Zijlstra <peterz@infradead.org>, Matthew Garrett <matthewgarrett@google.com>, David Howells <dhowells@redhat.com>, Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, Randy Dunlap <rdunlap@infradead.org>, "Joel Fernandes (Google)" <joel@joelfernandes.org>, KP Singh <kpsingh@google.com>, Dave Olsthoorn <dave@bewaar.me>, Hans de Goede <hdegoede@redhat.com>, Peter Jones <pjones@redhat.com>, Andrew Morton <akpm@linux-foundation.org>, Stephen Boyd <stephen.boyd@linaro.org>, Paul Moore <paul@paul-moore.com>, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-integrity@vger.kernel.org, linux-security-module@vger.kernel.org Subject: [PATCH 1/4] firmware_loader: EFI firmware loader must handle pre-allocated buffer Date: Tue, 7 Jul 2020 01:19:23 -0700 [thread overview] Message-ID: <20200707081926.3688096-2-keescook@chromium.org> (raw) In-Reply-To: <20200707081926.3688096-1-keescook@chromium.org> The EFI platform firmware fallback would clobber any pre-allocated buffers. Instead, correctly refuse to reallocate when too small (as already done in the sysfs fallback), or perform allocation normally when needed. Fixes: e4c2c0ff00ec ("firmware: Add new platform fallback mechanism and firm ware_request_platform()") Cc: stable@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> --- drivers/base/firmware_loader/fallback_platform.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/base/firmware_loader/fallback_platform.c b/drivers/base/firmware_loader/fallback_platform.c index cdd2c9a9f38a..685edb7dd05a 100644 --- a/drivers/base/firmware_loader/fallback_platform.c +++ b/drivers/base/firmware_loader/fallback_platform.c @@ -25,7 +25,10 @@ int firmware_fallback_platform(struct fw_priv *fw_priv, u32 opt_flags) if (rc) return rc; /* rc == -ENOENT when the fw was not found */ - fw_priv->data = vmalloc(size); + if (fw_priv->data && size > fw_priv->allocated_size) + return -ENOMEM; + if (!fw_priv->data) + fw_priv->data = vmalloc(size); if (!fw_priv->data) return -ENOMEM; -- 2.25.1
next prev parent reply other threads:[~2020-07-07 8:19 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-07 8:19 [PATCH 0/4] Fix misused kernel_read_file() enums Kees Cook 2020-07-07 8:19 ` Kees Cook [this message] 2020-07-07 8:19 ` [PATCH 2/4] fs: Remove FIRMWARE_PREALLOC_BUFFER from " Kees Cook 2020-07-07 16:42 ` Scott Branden 2020-07-07 21:55 ` Kees Cook 2020-07-08 3:06 ` Scott Branden 2020-07-08 3:14 ` Kees Cook 2020-07-08 1:37 ` [fs] 676800b78f: BUG:unable_to_handle_page_fault_for_address kernel test robot 2020-07-10 21:00 ` [PATCH 2/4] fs: Remove FIRMWARE_PREALLOC_BUFFER from kernel_read_file() enums Scott Branden 2020-07-10 22:04 ` Matthew Wilcox 2020-07-10 22:10 ` Scott Branden 2020-07-10 22:44 ` Kees Cook 2020-07-10 22:58 ` Scott Branden 2020-07-16 20:35 ` Scott Branden 2020-07-16 21:16 ` Kees Cook 2020-07-07 8:19 ` [PATCH 3/4] fs: Remove FIRMWARE_EFI_EMBEDDED " Kees Cook 2020-07-07 8:19 ` [PATCH 4/4] module: Add hook for security_kernel_post_read_file() Kees Cook 2020-07-08 0:47 ` Mimi Zohar 2020-07-08 3:10 ` Kees Cook 2020-07-08 13:47 ` Mimi Zohar 2020-07-07 9:31 ` [PATCH 0/4] Fix misused kernel_read_file() enums Greg Kroah-Hartman 2020-07-07 15:36 ` Mimi Zohar 2020-07-07 21:45 ` Kees Cook 2020-07-08 11:01 ` Hans de Goede 2020-07-08 11:37 ` Hans de Goede 2020-07-08 11:55 ` Luis Chamberlain 2020-07-08 11:58 ` Hans de Goede 2020-07-08 13:30 ` Luis Chamberlain 2020-07-09 2:00 ` Kees Cook
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200707081926.3688096-2-keescook@chromium.org \ --to=keescook@chromium.org \ --cc=akpm@linux-foundation.org \ --cc=casey@schaufler-ca.com \ --cc=dave@bewaar.me \ --cc=dhowells@redhat.com \ --cc=dmitry.kasatkin@gmail.com \ --cc=ebiederm@xmission.com \ --cc=gregkh@linuxfoundation.org \ --cc=hdegoede@redhat.com \ --cc=jeyu@kernel.org \ --cc=jmorris@namei.org \ --cc=joel@joelfernandes.org \ --cc=kpsingh@google.com \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-integrity@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-security-module@vger.kernel.org \ --cc=matthewgarrett@google.com \ --cc=mcgrof@kernel.org \ --cc=mchehab+huawei@kernel.org \ --cc=paul@paul-moore.com \ --cc=peterz@infradead.org \ --cc=pjones@redhat.com \ --cc=rafael@kernel.org \ --cc=rdunlap@infradead.org \ --cc=scott.branden@broadcom.com \ --cc=serge@hallyn.com \ --cc=stable@vger.kernel.org \ --cc=stephen.boyd@linaro.org \ --cc=viro@zeniv.linux.org.uk \ --cc=zohar@linux.ibm.com \ --subject='Re: [PATCH 1/4] firmware_loader: EFI firmware loader must handle pre-allocated buffer' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).