Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 24.04 LTS (noble) part 2 #1904

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open

Ubuntu 24.04 LTS (noble) part 2 #1904

wants to merge 19 commits into from

Commits on Sep 25, 2024

  1. [PAL] Fix memory PAL regression test for UBSan

    Newer Clang versions (v17 and newer) added more UBSan checks for C code
    that started triggering UBSan on PAL regression tests. In particular,
    UBSan added the check "Indirect call of a function through a function
    pointer of the wrong type". UBSan expects all functions which can be
    indirectly called to be instrumented with two magic metadata values,
    located right-before the function in address space.
    
    The `memory` test however does *not* add this required metadata to a
    dummy generated-on-the-fly function (it simply allocates some pages and
    copies the asm code at the beginning of the first page). Instead of
    adding UBSan-required metadata, we simply disable this particular check
    (it's a test after all, not core Gramine functionality).
    
    Signed-off-by: Dmitrii Kuvaiskii <[email protected]>
    dimakuv authored and woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    a9a02f4 View commit details
    Browse the repository at this point in the history
  2. [PAL] Fix attestation LibOS regression test for UBSan

    UBSan detects an uninitialized boolean variable on a DCAP SGX machine on
    the remote attestation example, failing with the message:
    
        error: ubsan: load of invalid value for bool or enum: 100
        error: ubsan: ../pal/src/host/linux-sgx/pal_misc.c:724:43
    
    This happens because `bool linkable` variable is assigned only in the
    EPID attestation scheme, but left unassigned in the DCAP scheme. This
    commit fixes this (though it's not a bug since DCAP never uses
    `linkable` anyway). Hence, UBSan doesn't complain anymore.
    
    Signed-off-by: Dmitrii Kuvaiskii <[email protected]>
    dimakuv authored and woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    6f4417d View commit details
    Browse the repository at this point in the history
  3. [tests] Add -Wno-implicit-function-declaration for LTP build

    Currently used version of LTP has a bug that results in the following
    build error, e.g. when using Clang v18 on Ubuntu 24.04:
    
        clone301.c:136:8: error: call to undeclared function 'pidfd_send_signal'
    
    This is because Clang promoted "implicit function declaration" check
    from a warning to an error starting from Clang v16. This commit adds
    `-Wno-implicit-function-declaration` flag to CFLAGS during LTP build.
    
    Newer LTP releases fixed this bug, so in the future, when Gramine uses
    newer LTP, this commit should be reverted.
    
    Signed-off-by: Dmitrii Kuvaiskii <[email protected]>
    dimakuv authored and woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    de07601 View commit details
    Browse the repository at this point in the history
  4. [CI] Make 'dcap' the default RA_TYPE

    This is a leftover from changing the default driver to upstream.
    
    Fixes: 12e5d9a ("[CI] Change default SGX driver to upstream")
    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    9b6552d View commit details
    Browse the repository at this point in the history
  5. [CI-Examples] busybox: Use system busybox

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    bb3f0f0 View commit details
    Browse the repository at this point in the history
  6. [CI-Examples] lighttpd: Increase sgx.max_threads to 8

    Dmitrii Kuvaiskii explained it this way:
    
        3 threads is nothing, given that:
        - There is one main app thread
        - There is one IPC helper thread
        - There is one Async helper thread
        - When a pipe is created, another helper thread is created for a brief moment
    
        [...] technically 4 is a tight bound. There can't be more than that
        (at least in the current state of Gramine, until we add more helper
        threads).
    
    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    5226bba View commit details
    Browse the repository at this point in the history
  7. [CI-Examples] Rework benchmark-http.sh for less external dependencies

    - Make wrk2 dependency optional. The wrk2 tool adds -R option to wrk
      tool, however, wrk2 is not packaged for Debian/Ubuntu, but wrk is. If
      wrk2 is not available, then we can just use vanilla wrk tool.
    
    - Convert bc arithmetic to python3 -c. This removes bc dependency in
      favour of python3, which is always available, because it's
      a dependency of both Gramine tooling and build system.
    
      (POSIX shell arithmetic substitution does not support decimal, so it's
      not suitable).
    
    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    0556d53 View commit details
    Browse the repository at this point in the history
  8. [CI] Add bookworm (Debian 12) and noble (Ubuntu 24.04 LTS) to check-p…

    …ython-platlib
    
    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    5e21c83 View commit details
    Browse the repository at this point in the history
  9. [CI] Add missing dependencies to ubuntu24.04.dockerfile

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    ff5f5b1 View commit details
    Browse the repository at this point in the history
  10. [CI] Increase CI-Examples/python (SGX) timeout to 10 min

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    5478300 View commit details
    Browse the repository at this point in the history
  11. [LibOS/tests] Increase timeout on certain LTP tests

    - epoll01  300 -> 600 s
    - pipe      30 -> 60 s
    
    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    b9fe26c View commit details
    Browse the repository at this point in the history
  12. [CI] Fix memcached test harness

    For some reason memcached-tool sometimes outputs more than 2 lines,
    which I guess is fine, it means that there is data in the server, so
    it's working.
    
    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    db2f9c2 View commit details
    Browse the repository at this point in the history
  13. [CI] Add linux-direct-ubuntu24.04-gcc-debug.jenkinsfile

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    caec2cb View commit details
    Browse the repository at this point in the history
  14. [CI] Add linux-direct-ubuntu24.04-gcc-release.jenkinsfile

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    bb7bfda View commit details
    Browse the repository at this point in the history
  15. [CI] Add linux-sgx-ubuntu24.04-edmm.jenkinsfile

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    4591dd9 View commit details
    Browse the repository at this point in the history
  16. [CI] Add linux-sgx-ubuntu24.04-gcc-release-apps.jenkinsfile

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    e403ea5 View commit details
    Browse the repository at this point in the history
  17. [CI] Add linux-sgx-ubuntu24.04-musl.jenkinsfile

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    dc83661 View commit details
    Browse the repository at this point in the history
  18. [CI] Add linux-direct-ubuntu24.04-sanitizers.jenkinsfile

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    b90e9a3 View commit details
    Browse the repository at this point in the history
  19. [CI] Add linux-sgx-ubuntu24.04-sanitizers.jenkinsfile

    Signed-off-by: Wojtek Porczyk <[email protected]>
    woju committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    0e91e6e View commit details
    Browse the repository at this point in the history