Commit Graph

486 Commits

Author SHA1 Message Date
Mingli Yu
5a8d5924a2 meta-efi-secure-boot: check efi-secure-boot DISTRO_FEATURES
Fix the below yocto compliance issue:
  INFO: ======================================================================
  INFO: FAIL: test_signatures (common.CommonCheckLayer)
  INFO: ----------------------------------------------------------------------
  INFO: Traceback (most recent call last):
   File "/build/layers/oe-core/scripts/lib/checklayer/cases/common.py", line 81, in test_signatures
    self.fail('Adding layer %s changed signatures.\n%s' % (self.tc.layer['name'], msg))
AssertionError: Adding layer meta-efi-secure-boot changed signatures.
17 signatures changed, initial differences (first hash before, second after):
   ovmf-native:do_configure: 98621d634860b524863c76c61a3b48d7aa4080bbe87b02a848ae6574ca349b5e -> 51b7ed0cd68914fe2a74e7db489ee0251fde1feab3ff4826e6df8a8be6f710bc
      bitbake-diffsigs --task ovmf-native do_configure --signature 98621d634860b524863c76c61a3b48d7aa4080bbe87b02a848ae6574ca349b5e 51b7ed0cd68914fe2a74e7db489ee0251fde1feab3ff4826e6df8a8be6f710bc
      NOTE: Starting bitbake server...
      basehash changed from 8b274e0d376c63104cbbcc0004a3758f2673d9e7f959854a0ffaa82ea04a9653 to d53127a75e96264ab92cffc956f93864435d48d1a0bf22899b35f78f1daf3bb3
      Variable PACKAGECONFIG value changed:
      @@ -1,3 +1,3 @@
      - ${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'tpm', '', d)} ${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'tpm', '', d)}
      + ${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'tpm', '', d)} ${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'tpm', '', d)} secureboot
       MACHINE_FEATURES{tpm} = Unset
       MACHINE_FEATURES{tpm2} = Unset

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
2022-12-06 09:16:14 +08:00
Mingli Yu
f0b4bfd65d meta-tpm2: check the tpm2 DISTRO_FEATURES
Fix the below yocto compliance issue:
  INFO: test_signatures (common.CommonCheckLayer)
  INFO:  ... FAIL

  Stdout:
  Loading cache...done.
  Loaded 1645 entries from dependency cache.
  INFO: Traceback (most recent call last):
   File "/build/layers/oe-core/scripts/lib/checklayer/cases/common.py", line 81, in test_signatures
    self.fail('Adding layer %s changed signatures.\n%s' % (self.tc.layer['name'], msg))
AssertionError: Adding layer meta-tpm2 changed signatures.
107 signatures changed, initial differences (first hash before, second after):
   linux-yocto:do_fetch: c57d21fe3def6c9959bbfd487420c6845d4c720d7e72aa5cf1e11af324ba5d45 -> 3b1f37d37a491287fa36bc0f1e3d65d6ff2af899d173f684600a8fbff643b695
      bitbake-diffsigs --task linux-yocto do_fetch --signature c57d21fe3def6c9959bbfd487420c6845d4c720d7e72aa5cf1e11af324ba5d45 3b1f37d37a491287fa36bc0f1e3d65d6ff2af899d173f684600a8fbff643b695
      NOTE: Starting bitbake server...
      basehash changed from 847e3bff305906a9ad386dc76de2fc2dfdaf7bc2b7dfb15bb2cd17dd9ba1f8bd to a522d659617359c730eac2f149a171ddd030959af67d1d3c3606cc9adba7db08
      Variable SRC_URI value changed:
      @@ -1 +1,2 @@
      -git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH};            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}
      +git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH};            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.15;destsuffix=${KMETA}     ${@bb.utils.contains('DISTRO_FEATURES', 'tpm2',                          'file://tpm2.scc file://tpm2.cfg', '', d)}
      +DISTRO_FEATURES{tpm2} = Unset

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
2022-12-06 09:16:14 +08:00
Mingli Yu
39a46d6b15 meta-secure-core: update the README
Fix the below yocto compliance issue:
  INFO: test_readme (common.CommonCheckLayer)
  INFO:  ... FAIL
  INFO: Traceback (most recent call last):
    File "/build/layers/oe-core/scripts/lib/checklayer/cases/common.py", line 34, in test_readme
      self.assertIn('maintainer', data.lower())
    AssertionError: 'maintainer' not found

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
2022-12-06 09:16:14 +08:00
Yi Zhao
fa438247c3 grub-efi: remove build host references from modinfo.sh
Fix buildpaths warning:
WARNING: grub-efi-2.06-r0 do_package_qa: QA Issue: File
/boot/efi/EFI/BOOT/x86_64-efi/modinfo.sh in package grub-efi contains
reference to TMPDIR [buildpaths]

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2022-11-03 09:48:02 +08:00
Yi Zhao
225076287f layer.conf: add langdale to LAYERSERIES_COMPAT
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2022-11-03 09:47:47 +08:00
Kai Kang
1a74be5b36 cryptfs-tpm2: fix ld warnings with binutils 2.39
Add ld option '-z noexecstack' for cryptfs-tpm2 to fix link warnings:

  ld: warning: secret_area.o: missing .note.GNU-stack section implies executable stack
  ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Signed-off-by: Kai Kang <kai.kang@windriver.com>
2022-08-24 21:22:50 +08:00
He Zhe
def57bd5e0 ima: Remove disabling CONFIG_IMA_TEMPLATE
CONFIG_IMA_TEMPLATE has been removed from kernel since v5.15.46
http://lxgit.wrs.com/cgit/linux-yocto.git/commit/?h=v5.15/standard/base&id=3892794a18136452101fc86cebc5c6d69ac93683

Remove it here to avoid
[INFO]: the following symbols were not found in the active configuration:
	- CONFIG_IMA_TEMPLATE

Signed-off-by: He Zhe <zhe.he@windriver.com>
2022-08-14 17:15:37 +08:00
Yi Zhao
d0a0285971 kernel-initramfs: fix typo for ALTERNATIVE
ALTERNATIVES_${PN} -> ALTERNATIVE:${PN}

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2022-07-02 17:45:13 +08:00
Jia Zhang
2ccf4aa4e3 meta-secure-core: support kirkstone
Signed-off-by: Jia Zhang <zhang.jia@linux.alibaba.com>
2022-06-05 14:51:31 +08:00
Peter Hatina
5526d1d647 Set weak default value for VENDOR_UUID
This fixes the required order of layers.

Signed-off-by: Peter Hatina <peter@hatina.eu>
2022-05-31 13:05:45 +08:00
corey cothrum
b4522579c0 (conditionally) add 'tpm' to list of grub built-in modules
If tpm/tpm2 is enabled in DISTRO features, add the grub 'tpm' module to
GRUB_BUILDIN.

This is now required for secureboot to work w/ TPM is also enabled in a
BIOS.
2022-04-12 08:34:09 +08:00
Yi Zhao
bbd671ca72 meta-secure-core: Handle bitbake variable renaming
This is the result of automated script conversion:
poky/scripts/contrib/convert-variable-renames.py meta-secure-core

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2022-04-08 09:05:06 +08:00
Yi Zhao
56731a69db recipes: Update LICENSE variable to use SPDX license identifiers
Fix QA warnings:
WARNING: efitools-1.9.2+gitAUTOINC+392836a46c-r0 do_package_qa: QA Issue: Recipe LICENSE includes obsolete licenses GPLv2 [obsolete-license]
WARNING: mokutil-0.3.0+gitAUTOINC+e19adc575c-r0 do_package_qa: QA Issue: Recipe LICENSE includes obsolete licenses GPLv3 [obsolete-license]

This is the result of automated script conversion:
poky/scripts/contrib/convert-spdx-licenses.py meta-secure-core

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2022-04-08 09:05:06 +08:00
Hongxu Jia
5d274050c7 grub-efi: split grub serure builtin option from GRUB_BUILDIN
Use variable GRUB_SECURE_BUILDIN to split grub secure
builtin option from GRUB_BUILDIN, then GRUB_BUILDIN will
not contain secure option for others grub-mkimage to
create no secure grub even though secure boot is enabled

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2022-03-15 10:02:19 +08:00
Changqing Li
c2029ebb5a mtree: update LICENSE variant
Fix warning:
WARNING: QA Issue: mtree: No generic license file exists for: BSD in any provider [license-exists]

Signed-off-by: Changqing Li <changqing.li@windriver.com>
2022-02-20 08:31:00 +08:00
richard
4f0cadf438 added newline 2021-11-19 21:25:00 +08:00
richard
ca4ead2536 changed init file from the secure-core-image-initramfs to not load an unencrypted rootfs when using full disk encryption. 2021-11-19 21:25:00 +08:00
Yi Zhao
2bd48852e2 meta-secure-core: fix wrong operator combination
Operations like XXX:append += "YYY" are almost always wrong and this
is a common mistake made in the metadata. Improve them to use the
standard format.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-11-18 13:58:20 +08:00
Yi Zhao
fea6a37625 recipes: update SRC_URI branch and protocols
Update SRC_URIs using git to include branch=master if no branch is set
and also to use protocol=https for github urls.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-11-15 09:56:02 +08:00
Changqing Li
c14c00f483 rpm-native: disable audit plugin
enable this plugin will cause undeterministic build. whether to build
audit plugin depends on whether libaudit exists on the host

Signed-off-by: Changqing Li <changqing.li@windriver.com>
2021-11-12 16:53:12 +08:00
Yi Zhao
4ddcbda60d cryptfs-tpm2: upgrade to latest git rev
Drop backported patches.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-11-12 16:52:32 +08:00
Yi Zhao
8226df83a6 tpm2-tools: upgrade 4.1.3 -> 4.3.2
* Drop backported CVE patch.
* License-Update: Add Copyrights and move it to doc directory.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-11-12 16:52:32 +08:00
Yi Zhao
1d1bd5934b tpm2-abrmd: upgrade 2.3.2 -> 2.3.3
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-11-12 16:52:32 +08:00
Yi Zhao
d3a025a3d5 tpm2-tss: backport fixes for openssl 3.0
Backport 3 patches from master branch for openssl 3.0:
73d25d6834
362fda1daa
e5bb5fb9f0

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-11-12 16:52:32 +08:00
Yi Zhao
59a7c40fe7 tpm2-tss: upgrade 2.3.3 -> 2.4.6
Add PACKAGECONFIG[fapi] to enable/disable FAPI.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-11-12 16:52:32 +08:00
Peter Hatina
5fcb2f0e67 grub-efi: Remove $cmdpath from configuration for for grub-mkimage
Signed-off-by: Peter Hatina <peter@hatina.eu>
2021-10-29 15:37:21 +08:00
Yi Zhao
3fa3fc6dcb efitools: fix openssl.cnf path for openssl 3.0
Fix openssl.cnf path for openssl 3.0 to make sure openssl command can
find it.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-10-21 15:57:54 +08:00
Yi Zhao
4caca5b780 tpm2-tools: fix build with openssl 3.0
Backport a patch to disable '-Werror' to fix build error until upstream
addresses openssl 3.0 compatibility issue.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-10-21 15:57:54 +08:00
Yi Zhao
b308dc89ac sbsigntool: fix openssl-3.0 issue involving ASN1_ITEM TYPE_it
Use ASN1_ITEM_rptr() instead of taking the address of IDC_PEID_it.

Openssl-3.0 changed the type of TYPE_it from `const ASN1_ITEM TYPE_it`
to `const ASN1_ITEM *TYPE_it(void)`. This was previously hidden behind
OPENSSL_EXPORT_VAR_AS_FUNCTION but in 3.0 only the function version is
available. This change should have been transparent to the application,
but only if the `ASN1_ITEM_rptr()` macro is used.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-10-21 15:57:54 +08:00
Yi Zhao
4dc1be23d9 sbsigntool: fix build with openssl 3.0
Disable '-Werror' to prevent openssl 3.0 deprecation warnings turning
into errors until upstream addresses openssl 3.0 compatibility issue.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-10-21 15:57:54 +08:00
Yi Zhao
cb56933902 sbsigntool: fix commented-out override syntax
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-26 18:35:42 +08:00
Mathieu Dubois-Briand
5a3129c901 trousers: fix init script with multi-tpm systems
Signed-off-by: Mathieu Dubois-Briand <mbriand@witekio.com>
2021-08-21 16:50:40 +08:00
Yi Zhao
b988150cf3 cryptfs-tpm2: fix encrypt_secret.py for python3
Fixes:
encrypt_secret.py -i "H31i05" > "primary_key.secret" || exit 1
ERROR: Unable to encrypt the secret

Suggested-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-20 18:36:08 +08:00
Yi Zhao
62b388cf72 libsign: fix LDFLAGS expansion
When LDFLAGS expands, The -fmacro-prefix-map and -fdebug-prefix-map will
be prefixed with -Wl, which will cause compilation error:
ld: -f may not be used without -shared

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-20 15:59:51 +08:00
Yi Zhao
dad89db9b9 libsign: fix build reproducibility issue
Fixes:
| selsign.c: In function 'show_banner':
| selsign.c:57:62: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
|    57 |         info_cont("Build Time: " __DATE__ " " __TIME__ "\n\n");
|       |                                                              ^
| selsign.c:57:34: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
|    57 |         info_cont("Build Time: " __DATE__ " " __TIME__ "\n\n");
|       |                                  ^~~~~~~~
| cc1: all warnings being treated as errors

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-20 15:59:51 +08:00
Yi Zhao
e004d37650 cryptfs-tpm2: fix LDFLAGS expansion
When LDFLAGS expands, The -fmacro-prefix-map and -fdebug-prefix-map will
be prefixed with -Wl, which will cause compilation error:
ld: -f may not be used without -shared

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-20 15:59:51 +08:00
Yi Zhao
66a1d0582c README: fix typos
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-20 15:59:51 +08:00
Chen Qi
438190a471 layer.conf: add back append to BB_HASHBASE_WHITELIST
Add back the append override, as the '+=' operator will make the
default value of BB_HASHBASE_WHITELIST in oe-core not have any
effect.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
2021-08-16 20:39:40 +08:00
Yi Zhao
626750b839 README: update
The image-prelink feature has been disabled by default in oe-core commit
f9719cc1c3fe9d380336e7af418daf27473b2e8b. We don't need to remove it
explicitly in local.conf.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-09 18:51:13 +08:00
Yi Zhao
0e475df858 secure-core-image: pass encrypted password rather than plaintext password to usermod
In oe-core commit 759df7395908f18b3b68f28d043ac9ebd42dd0c8, the
plaintext password setting function was dropped because of the security
issue. So the plaintext password setting method "usermod -P 'password'
user" is not available. Now we should pass the encrypted password to
usermod via -p option.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-09 18:51:13 +08:00
Yi Zhao
9f03a89db8 layer.conf: add honister to LAYERSERIES_COMPAT
Drop other releases since they are not compatible anymore.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-09 18:51:13 +08:00
Yi Zhao
4042043742 meta-secure-core: Convert to new override syntax
Converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-09 18:51:13 +08:00
Yi Zhao
6768abc7d4 cryptfs-tpm2: fix build reproducibility issue
Fixes:
| main.c: In function 'show_banner':
| main.c:43:62: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
|    43 |         info_cont("Build Time: " __DATE__ " " __TIME__ "\n\n");
|       |                                                              ^
| main.c:43:34: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
|    43 |         info_cont("Build Time: " __DATE__ " " __TIME__ "\n\n");
|       |                                  ^~~~~~~~
| cc1: all warnings being treated as errors

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-08-09 18:51:13 +08:00
Mingli Yu
b84dc32e1d shim_git: fix the do_fetch warning
Fixes:
WARNING: shim-12+gitAUTOINC+5202f80c32-r0 do_fetch: Failed to fetch URL git://github.com/rhboot/shim.git, attempting MIRRORS if available

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
2021-07-29 18:44:07 +08:00
Yi Zhao
c38e155c36 sbsigntool: update PV
The current latest version is 0.9.4 rather than 0.9.2.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-07-07 14:26:51 +08:00
Yi Zhao
31502fb8f2 sbsigntool: fix compile error when enable DEBUG_BUILD
Fixes the following errors when set DEBUG_BUILD = "1":
fileio.c: In function ‘__fileio_read_file’:
fileio.c:179:12: error: ‘len’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  179 |   *out_len = len;
      |   ~~~~~~~~~^~~~~
fileio.c:178:12: error: ‘buf’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  178 |   *out_buf = buf;
      |   ~~~~~~~~~^~~~~

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-07-07 14:26:51 +08:00
Robert Yang
551137d4eb sbsigntool: Fix for target build
* Remove unnecessary inherit native
This is a target recipe, the "inherit native" is not needed, the
sbsigntool-native is extended by BBCLASSEXTEND which is already present.

Fixed when multilib is enabled:
$ bitbake lib32-sbsigntool
ERROR: Nothing PROVIDES 'lib32-sbsigntool'.

* Add util-linux-libuuid to DEPENDS since it is required by target build

* Add read_write_all.c to common_SOURCES to fix build errors.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2021-07-07 14:26:51 +08:00
Yi Zhao
0e8603b1ea tpm2-tools: fix CVE-2021-3565
CVE-2021-3565:
A flaw was found in tpm2-tools in versions before 5.1.1 and before
4.3.2. tpm2_import used a fixed AES key for the inner wrapper,
potentially allowing a MITM attacker to unwrap the inner portion and
reveal the key being imported. The highest threat from this
vulnerability is to data confidentiality.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2021-3565

Patch from:
c069e4f179

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-07-07 14:26:45 +08:00
Yi Zhao
ba04fbba71 create-user-key-store.sh: use grub2-mkpasswd-pbkdf2 rather than grub-mkpasswd-pbkdf2 on RHEL/CentOS/Fedora
On RHEL/CentOS/Fedora, there is no grub-mkpasswd-pbkdf2 command but
grub2-mkpasswd-pbkdf2. Update the script to locate the appropriate
command.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
2021-06-11 15:43:47 +08:00
jbouchard
b9f183a416 prevent contamining the cache with embeded cfg 2021-05-01 09:29:19 +08:00