Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP5:GA
grub2.22047
0007-verifiers-Move-verifiers-API-to-kernel-ima...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0007-verifiers-Move-verifiers-API-to-kernel-image.patch of Package grub2.22047
From ea5950d8597278ba9066f24d7abcee403f825668 Mon Sep 17 00:00:00 2001 From: Marco A Benatto <mbenatto@redhat.com> Date: Wed, 23 Sep 2020 11:33:33 -0400 Subject: [PATCH 07/46] verifiers: Move verifiers API to kernel image Move verifiers API from a module to the kernel image, so it can be used there as well. There are no functional changes in this patch. Signed-off-by: Marco A Benatto <mbenatto@redhat.com> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> --- grub-core/Makefile.am | 1 + grub-core/Makefile.core.def | 6 +----- grub-core/kern/main.c | 4 ++++ grub-core/{commands => kern}/verifiers.c | 8 ++------ include/grub/verify.h | 9 ++++++--- 5 files changed, 14 insertions(+), 14 deletions(-) rename grub-core/{commands => kern}/verifiers.c (97%) diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am index 5ff3afd62..3569b7101 100644 --- a/grub-core/Makefile.am +++ b/grub-core/Makefile.am @@ -91,6 +91,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/parser.h KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/partition.h KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/term.h KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/time.h +KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/verify.h KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm_private.h KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/net.h KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/memory.h diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def index 072b1628c..5cb869f5b 100644 --- a/grub-core/Makefile.core.def +++ b/grub-core/Makefile.core.def @@ -140,6 +140,7 @@ kernel = { common = kern/rescue_parser.c; common = kern/rescue_reader.c; common = kern/term.c; + common = kern/verifiers.c; noemu = kern/compiler-rt.c; noemu = kern/mm.c; @@ -943,11 +944,6 @@ module = { cppflags = '-I$(srcdir)/lib/posix_wrap'; }; -module = { - name = verifiers; - common = commands/verifiers.c; -}; - module = { name = shim_lock; common = commands/efi/shim_lock.c; diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c index 9cad0c448..73967e2f5 100644 --- a/grub-core/kern/main.c +++ b/grub-core/kern/main.c @@ -29,6 +29,7 @@ #include <grub/command.h> #include <grub/reader.h> #include <grub/parser.h> +#include <grub/verify.h> #ifdef GRUB_MACHINE_PCBIOS #include <grub/machine/memory.h> @@ -274,6 +275,9 @@ grub_main (void) grub_printf ("Welcome to GRUB!\n\n"); grub_setcolorstate (GRUB_TERM_COLOR_STANDARD); + /* Init verifiers API. */ + grub_verifiers_init (); + grub_load_config (); grub_boot_time ("Before loading embedded modules."); diff --git a/grub-core/commands/verifiers.c b/grub-core/kern/verifiers.c similarity index 97% rename from grub-core/commands/verifiers.c rename to grub-core/kern/verifiers.c index 7b9297cd3..3d19bffd1 100644 --- a/grub-core/commands/verifiers.c +++ b/grub-core/kern/verifiers.c @@ -218,12 +218,8 @@ grub_verify_string (char *str, enum grub_verify_string_type type) return GRUB_ERR_NONE; } -GRUB_MOD_INIT(verifiers) +void +grub_verifiers_init (void) { grub_file_filter_register (GRUB_FILE_FILTER_VERIFY, grub_verifiers_open); } - -GRUB_MOD_FINI(verifiers) -{ - grub_file_filter_unregister (GRUB_FILE_FILTER_VERIFY); -} diff --git a/include/grub/verify.h b/include/grub/verify.h index ea0491433..cd129c398 100644 --- a/include/grub/verify.h +++ b/include/grub/verify.h @@ -64,7 +64,10 @@ struct grub_file_verifier grub_err_t (*verify_string) (char *str, enum grub_verify_string_type type); }; -extern struct grub_file_verifier *grub_file_verifiers; +extern struct grub_file_verifier *EXPORT_VAR (grub_file_verifiers); + +extern void +grub_verifiers_init (void); static inline void grub_verifier_register (struct grub_file_verifier *ver) @@ -78,7 +81,7 @@ grub_verifier_unregister (struct grub_file_verifier *ver) grub_list_remove (GRUB_AS_LIST (ver)); } -grub_err_t -grub_verify_string (char *str, enum grub_verify_string_type type); +extern grub_err_t +EXPORT_FUNC (grub_verify_string) (char *str, enum grub_verify_string_type type); #endif /* ! GRUB_VERIFY_HEADER */ -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor