1. 22 Feb, 2021 4 commits
  2. 16 Feb, 2021 12 commits
  3. 15 Feb, 2021 18 commits
  4. 14 Feb, 2021 5 commits
    • Tom Rini's avatar
      Merge tag 'efi-2021-04-rc2-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi · a6ba5958
      Tom Rini authored
      Pull request for UEFI sub-system for efi-2021-04-rc2-2
      Bug fixes:
      * fix stack smashing in UEFI capsule updates
      * correct loading of UEFI binaries where Virtual size is not a
        multiple of FileAlignment
      * simplify detection of capsule files.
      * buildman: use threading.is_alive() instead of removed method IsAlive()
    • Heinrich Schuchardt's avatar
      buildman: 'Thread' object has no attribute 'isAlive' · fd434f47
      Heinrich Schuchardt authored
      The isAlive() method was deprecated in Python 3.8 and has been removed in
      Python 3.9. See https://bugs.python.org/issue37804
      . Use is_alive() instead.
      Since Python 2.6 is_alive() has been a synonym for isAlive(). So there
      should be no problems for users using elder Python 3 versions.
      Signed-off-by: Heinrich Schuchardt's avatarHeinrich Schuchardt <xypron.glpk@gmx.de>
      Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    • Heinrich Schuchardt's avatar
      efi_loader: fix get_last_capsule() · 15bbcafa
      Heinrich Schuchardt authored
      fix get_last_capsule() leads to writes beyond the stack allocated buffer.
      This was indicated when enabling the stack protector.
      utf16_utf8_strcpy() only stops copying when reaching '\0'. The current
      invocation always writes beyond the end of value[].
      The output length of utf16_utf8_strcpy() may be longer than the number of
      UTF-16 tokens. E.g has "CapsuleКиев" has 11 UTF-16 tokens but 15 UTF-8
      tokens. Hence, using utf16_utf8_strcpy() without checking the input may
      lead to further writes beyond value[].
      The current invocation of strict_strtoul() reads beyond the end of value[].
      A non-hexadecimal value after "Capsule" (e.g. "CapsuleZZZZ") must result in
      an error. We cat catch this by checking the return value of strict_strtoul().
      A value that is too short after "Capsule" (e.g. "Capsule0") must result in
      an error. We must check the string length of value[].
      Signed-off-by: Heinrich Schuchardt's avatarHeinrich Schuchardt <xypron.glpk@gmx.de>
    • Heinrich Schuchardt's avatar
      efi_loader: '.' and '..' are directories · 841f7a4e
      Heinrich Schuchardt authored
      '.' and '..' are directories. So when looking for capsule files it is
      sufficient to check that the attribute EFI_FILE_DIRECTORY is not set. We
      don't have to check for these special names.
      Signed-off-by: Heinrich Schuchardt's avatarHeinrich Schuchardt <xypron.glpk@gmx.de>
    • Asherah Connor's avatar
      efi_loader: don't load beyond VirtualSize · 9d30a941
      Asherah Connor authored and Heinrich Schuchardt's avatar Heinrich Schuchardt committed
      PE section table entries' SizeOfRawData must be a multiple of
      FileAlignment, and thus may be rounded up and larger than their
      We should not load beyond the VirtualSize, which is "the total size of
      the section when loaded into memory" -- we may clobber real data at the
      target in some other section, since we load sections in reverse order
      and sections are usually laid out sequentially.
      Signed-off-by: default avatarAsherah Connor <ashe@kivikakk.ee>
      Reviewed-by: Heinrich Schuchardt's avatarHeinrich Schuchardt <xypron.glpk@gmx.de>
  5. 12 Feb, 2021 1 commit