Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d60d540a authored by Kalesh Singh's avatar Kalesh Singh Committed by Automerger Merge Worker
Browse files

Merge "trusty: Remove explicit page-alignment of mmap and dmabuf allocations"...

Merge "trusty: Remove explicit page-alignment of mmap and dmabuf allocations" into main am: d469fdcd am: 6753ae01 am: 3de2c63a am: 678b9465 am: c6611a2e

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2747074



Change-Id: I9c3b63cbb6889ac9fc28fd92252f93dcb958ad88
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 98830e61 c6611a2e
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -43,10 +43,6 @@ static struct uuid apploader_uuid = {
        {0xb5, 0xe8, 0xa7, 0xe9, 0xef, 0x17, 0x3a, 0x97},
};

static inline uintptr_t RoundPageUp(uintptr_t val) {
    return (val + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
}

static bool SendLoadMsg(int chan, int dma_buf, size_t dma_buf_size) {
    apploader_header hdr = {
            .cmd = APPLOADER_CMD_LOAD_APPLICATION,
@@ -107,7 +103,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
        android::trusty::fuzz::Abort();
    }

    uint64_t shm_len = size ? RoundPageUp(size) : PAGE_SIZE;
    uint64_t shm_len = size ? size : 4096;
    BufferAllocator alloc;
    unique_fd dma_buf(alloc.Alloc(kDmabufSystemHeapName, shm_len));
    if (dma_buf < 0) {
+1 −5
Original line number Diff line number Diff line
@@ -30,10 +30,6 @@ namespace confirmationui {

using ::android::base::unique_fd;

static inline uintptr_t RoundPageUp(uintptr_t val) {
    return (val + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
}

ssize_t TrustyApp::TrustyRpc(const uint8_t* obegin, const uint8_t* oend, uint8_t* ibegin,
                             uint8_t* iend) {
    uint32_t olen = oend - obegin;
@@ -99,7 +95,7 @@ TrustyApp::TrustyApp(const std::string& path, const std::string& appname)
        return;
    }

    uint32_t shm_len = RoundPageUp(CONFIRMATIONUI_MAX_MSG_SIZE);
    uint32_t shm_len = CONFIRMATIONUI_MAX_MSG_SIZE;
    BufferAllocator allocator;
    unique_fd dma_buf(allocator.Alloc("system", shm_len));
    if (dma_buf < 0) {
+1 −5
Original line number Diff line number Diff line
@@ -43,10 +43,6 @@ using std::string;
using std::to_string;
using std::unique_ptr;

static inline uintptr_t RoundPageUp(uintptr_t val) {
    return (val + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
}

CoverageRecord::CoverageRecord(string tipc_dev, struct uuid* uuid)
    : tipc_dev_(std::move(tipc_dev)),
      coverage_srv_fd_(-1),
@@ -136,7 +132,7 @@ Result<void> CoverageRecord::Open() {
        return Error() << "failed to open coverage client: " << ret.error();
    }
    record_len_ = resp.open_args.record_len;
    shm_len_ = RoundPageUp(record_len_);
    shm_len_ = record_len_;

    BufferAllocator allocator;

+1 −5
Original line number Diff line number Diff line
@@ -50,10 +50,6 @@ using ::android::base::ErrnoError;
using ::android::base::Error;
using ::std::string;

static inline uintptr_t RoundPageUp(uintptr_t val) {
    return (val + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
}

CoverageRecord::CoverageRecord(string tipc_dev, struct uuid* uuid)
    : tipc_dev_(std::move(tipc_dev)),
      coverage_srv_fd_(-1),
@@ -129,7 +125,7 @@ Result<void> CoverageRecord::Open(int fd) {
        return Error() << "failed to open coverage client: " << ret.error();
    }
    record_len_ = resp.open_args.record_len;
    shm_len_ = RoundPageUp(record_len_);
    shm_len_ = record_len_;

    BufferAllocator allocator;

+3 −8
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#include <sys/mman.h>
#include <trusty/tipc.h>
#include <unistd.h>
#include <algorithm>

#include "acvp_ipc.h"

@@ -42,9 +43,6 @@ using android::base::Result;
using android::base::unique_fd;
using android::base::WriteFully;

static inline size_t AlignUpToPage(size_t size) {
    return (size + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
}

namespace {

@@ -104,15 +102,12 @@ Result<void> ModuleWrapper::SendMessage(bssl::Span<const bssl::Span<const uint8_
    struct acvp_req request;
    request.num_args = args.size();

    size_t total_args_size = 0;
    int total_args_size = 0;
    for (auto arg : args) {
        total_args_size += arg.size();
    }

    shm_size_ = ACVP_MIN_SHARED_MEMORY;
    if (total_args_size > shm_size_) {
        shm_size_ = AlignUpToPage(total_args_size);
    }
    shm_size_ = std::max(ACVP_MIN_SHARED_MEMORY, total_args_size);
    request.buffer_size = shm_size_;

    struct iovec iov = {