diff options
author | Furquan Shaikh <furquan@google.com> | 2015-06-02 10:32:52 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-06-04 11:57:47 +0000 |
commit | 7a1c0d1ec852ee86237aba7f3c87d642ca8e00b0 (patch) | |
tree | 191893fb52afa5fce615f6f1e2ff3929f8c349d6 /firmware/lib/cgptlib | |
parent | 04e2338857e66ee1af7a826e320e6fe755711f65 (diff) | |
download | vboot-7a1c0d1ec852ee86237aba7f3c87d642ca8e00b0.tar.gz |
cgpt: Add a callback to allow override of GPT entry priority
This can be used by implementations that want to request vboot to
favor a particular kernel entry for booting without affecting the
checks for rollback protection and image verification.
CQ-DEPEND=CL:274716, CL:274932, CL:275171
BUG=None
BRANCH=None
TEST=Compiles successfully. make -j runtests successful.
Change-Id: I6a4600020354f5d4118c17f083c353c2585c4181
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/274558
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Commit-Queue: Nicolas Boichat <drinkcat@chromium.org>
Trybot-Ready: Nicolas Boichat <drinkcat@chromium.org>
Diffstat (limited to 'firmware/lib/cgptlib')
-rw-r--r-- | firmware/lib/cgptlib/cgptlib_internal.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/firmware/lib/cgptlib/cgptlib_internal.c b/firmware/lib/cgptlib/cgptlib_internal.c index a389e695..29756308 100644 --- a/firmware/lib/cgptlib/cgptlib_internal.c +++ b/firmware/lib/cgptlib/cgptlib_internal.c @@ -370,6 +370,12 @@ int GetEntrySuccessful(const GptEntry *e) int GetEntryPriority(const GptEntry *e) { + int ret = VbExOverrideGptEntryPriority(e); + + /* Ensure that the override priority is valid. */ + if ((ret > 0) && (ret < 16)) + return ret; + return (e->attrs.fields.gpt_att & CGPT_ATTRIBUTE_PRIORITY_MASK) >> CGPT_ATTRIBUTE_PRIORITY_OFFSET; } |