Enable Address Sanitizer on physical simulators
- install libasan in physim containers - run physim containers with SYS_CAP_PTRACE capability - remove static-libasan: not available in RHEL8: The physims are tested in a container environment on top of RHEL8. To my knowledge, no package provides the static ASan library there. Therefore, remove it here to be able to run these tests.
This commit is contained in:
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ podSecurityContext:
|
|||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
# capabilities:
|
capabilities:
|
||||||
|
add:
|
||||||
|
- SYS_CAP_PTRACE
|
||||||
# drop:
|
# drop:
|
||||||
# - ALL
|
# - ALL
|
||||||
# readOnlyRootFilesystem: true
|
# readOnlyRootFilesystem: true
|
||||||
|
|||||||
@@ -343,8 +343,8 @@ set(CMAKE_CXX_FLAGS
|
|||||||
|
|
||||||
|
|
||||||
if (SANITIZE_ADDRESS)
|
if (SANITIZE_ADDRESS)
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer -static-libasan -fno-common")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fno-omit-frame-pointer -fno-common")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer -static-libasan -fno-common")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer -fno-common")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
add_definitions("-DASN_DISABLE_OER_SUPPORT")
|
add_definitions("-DASN_DISABLE_OER_SUPPORT")
|
||||||
|
|||||||
@@ -31,11 +31,14 @@ RUN rm -Rf /oai-ran
|
|||||||
WORKDIR /oai-ran
|
WORKDIR /oai-ran
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
#only install address sanitizer for this container, the others don't need it
|
||||||
|
RUN yum install -y libasan
|
||||||
|
|
||||||
#run build_oai to build the target image
|
#run build_oai to build the target image
|
||||||
RUN /bin/sh oaienv && \
|
RUN /bin/sh oaienv && \
|
||||||
cd cmake_targets && \
|
cd cmake_targets && \
|
||||||
mkdir -p log && \
|
mkdir -p log && \
|
||||||
./build_oai --phy_simulators --ninja --verbose-ci
|
./build_oai --phy_simulators -g --ninja --verbose-ci --sanitize-address
|
||||||
|
|
||||||
#start from scratch for target executable
|
#start from scratch for target executable
|
||||||
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-physim
|
FROM registry.access.redhat.com/ubi8/ubi:latest as oai-physim
|
||||||
@@ -85,6 +88,7 @@ COPY --from=phy-sim-build \
|
|||||||
/lib64/liblapack.so.3 \
|
/lib64/liblapack.so.3 \
|
||||||
/lib64/libexslt.so.0 \
|
/lib64/libexslt.so.0 \
|
||||||
/lib64/libxslt.so.1 \
|
/lib64/libxslt.so.1 \
|
||||||
|
/usr/lib64/libasan.so.5 \
|
||||||
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
|
/oai-ran/cmake_targets/ran_build/build/libdfts.so \
|
||||||
/oai-ran/cmake_targets/ran_build/build/libSIMU.so \
|
/oai-ran/cmake_targets/ran_build/build/libSIMU.so \
|
||||||
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
|
/oai-ran/cmake_targets/ran_build/build/libldpc.so \
|
||||||
|
|||||||
Reference in New Issue
Block a user