[libcamera-devel] [PATCH 2/2] media-libs/libcamera: Do not strip IPA binaries
Tomasz Figa
tfiga at chromium.org
Tue Nov 10 11:08:53 CET 2020
Hi Niklas,
On Mon, Nov 9, 2020 at 10:17 AM Niklas Söderlund
<niklas.soderlund at ragnatech.se> wrote:
>
> Libcamera signs its IPA modules (.so files) after they are built. The
> signature is later verified when loading the IPA modules and if they do
> not match the IPA is treated as a untrusted module. The CrOS build
> system by default strips all binaries after the build step and modify
> the IPA .so files in so they fail the signature check.
>
> The build system inject hooks after the post_src_install hook that
> strips binaries and creates the packet that is installed on target. It
> is therefor not possible to to generate the IPA module signature for the
> stripped modules without also packeting the private key and doing so in
> pre_pkg_preinst. Stripping and generating signatures for the IPA .so
> files in src_install is not possible as the exact method for stripping
> them may differ between the ebuild and the build system hook.
>
> Safest route is to never stripp the IPA modules. Instead of restricting
> stripping of all libcamera binaries use dostrip to only disable
> stripping of the IPA modules. The EAPI needs to be increased to version
> 7 to support dostrip.
>
Could we just disable the extra signing and signature verification on
Chrome OS? We have integrity enforced for the whole file system by
dm-verity, so there is no need to verify anything in particular
components of the stack anymore.
Best regards,
Tomasz
> Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
> media-libs/libcamera/libcamera-9999.ebuild | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/media-libs/libcamera/libcamera-9999.ebuild b/media-libs/libcamera/libcamera-9999.ebuild
> index 57ff00337309f30c..ce4183a89ef095de 100644
> --- a/media-libs/libcamera/libcamera-9999.ebuild
> +++ b/media-libs/libcamera/libcamera-9999.ebuild
> @@ -1,7 +1,7 @@
> # Copyright 2019 The Chromium OS Authors. All rights reserved.
> # Distributed under the terms of the GNU General Public License v2
>
> -EAPI=6
> +EAPI=7
>
> CROS_WORKON_PROJECT="chromiumos/third_party/libcamera"
> CROS_WORKON_INCREMENTAL_BUILD="1"
> @@ -49,4 +49,6 @@ src_install() {
> meson_src_install
>
> dosym ../libcamera.so "/usr/$(get_libdir)/camera_hal/libcamera.so"
> +
> + dostrip -x /usr/$(get_libdir)/libcamera/
> }
> --
> 2.25.1
>
More information about the libcamera-devel
mailing list