sonic-buildimage/dockers
Oleksandr Ivantsiv 25a0ce5eb1
[asan] Add address sanitizer support. (#9857)
Implement infrastructure that allows enabling address sanitizer
for docker containers. Enable address sanitizer for SWSS container.

- Why I did it
To add a possibility to compile SONiC applications with address sanitizer (ASAN).
ASAN is a memory error detector for C/C++. It finds:
1. Use after free (dangling pointer dereference)
2. Heap buffer overflow
3. Stack buffer overflow
4. Global buffer overflow
5. Use after return
6. Use after the scope
7. Initialization order bugs
8. Memory leaks

- How I did it
By adding new ENABLE_ASAN configuration option.

- How to verify it
By default ASAN is disabled and the SONiC image is not affected.
When ASAN is enabled it inspects all allocation, deallocation, and memory usage that the application does in run time. To verify whether the application has memory errors tests that trigger memory usage of the application should be run. Ideally, the whole regression tests should be run. Memory leaks reports will be placed in /var/log/asan/ directory of SONiC host OS.

Signed-off-by: Oleksandr Ivantsiv <oivantsiv@nvidia.com>
2022-02-09 13:29:18 +02:00
..
docker-base Support to build armhf/arm64 platforms on arm based system (#7731) 2021-08-12 22:24:37 +08:00
docker-base-bullseye Create docker-base-bullseye and docker-config-engine-bullseye (#9666) 2022-01-11 09:23:42 -08:00
docker-base-buster Support to build armhf/arm64 platforms on arm based system (#7731) 2021-08-12 22:24:37 +08:00
docker-base-stretch Support to build armhf/arm64 platforms on arm based system (#7731) 2021-08-12 22:24:37 +08:00
docker-basic_router [supervisord]: use abspath as supervisord entrypoint (#5995) 2020-11-22 21:18:44 -08:00
docker-config-engine [docker-base-buster][docker-config-engine-buster] No longer install Python 2 (#6162) 2020-12-25 21:29:25 -08:00
docker-config-engine-bullseye Create docker-base-bullseye and docker-config-engine-bullseye (#9666) 2022-01-11 09:23:42 -08:00
docker-config-engine-buster [docker-base-buster][docker-config-engine-buster] No longer install Python 2 (#6162) 2020-12-25 21:29:25 -08:00
docker-config-engine-stretch [docker-base-buster][docker-config-engine-buster] No longer install Python 2 (#6162) 2020-12-25 21:29:25 -08:00
docker-database [PINS] Add APPL_STATE_DB and response path log (#9082) 2021-11-24 10:31:06 -08:00
docker-dhcp-relay docker-dhcp-relay: Fix test call to MockConfigDb (#9903) 2022-02-01 18:52:52 -08:00
docker-fpm-frr Updated Internal BGP Templates for chassis packet (#9674) 2022-02-08 09:36:32 -08:00
docker-fpm-gobgp [dockers][supervisor] Increase event buffer size for process exit listener; Set all event buffer sizes to 1024 (#7083) 2021-03-27 21:14:24 -07:00
docker-iccpd add platform to iccpd's env (#8945) 2021-12-08 09:21:44 -08:00
docker-lldp [Monit] Deprecate the feature of monitoring the critical processes by Monit (#7676) 2021-06-04 10:16:53 -07:00
docker-macsec Create a docker-swss-layer that holds the swss package. 2022-01-06 09:26:55 -08:00
docker-mux [mux]: Call write_standby from host only 2021-10-15 09:59:59 -07:00
docker-nat Create a docker-swss-layer that holds the swss package. 2022-01-06 09:26:55 -08:00
docker-orchagent [asan] Add address sanitizer support. (#9857) 2022-02-09 13:29:18 +02:00
docker-pde [PDE]: introduce the SONiC Platform Development Env (#7510) 2021-07-24 16:24:43 -07:00
docker-platform-monitor [y_cable] Support for initialization of new daemon ycable to support ycables (#9125) 2022-01-25 11:10:25 -08:00
docker-ptf Add openbfdd to ptf docker (#9488) 2021-12-14 11:46:48 -08:00
docker-router-advertiser [radv] Run radv on MgmtToRRouter (#9424) 2021-12-03 09:45:06 -08:00
docker-sflow Create a docker-swss-layer that holds the swss package. 2022-01-06 09:26:55 -08:00
docker-snmp [docker-snmp]: Modify log level of snmpd (#9734) 2022-01-12 14:40:01 -08:00
docker-sonic-mgmt Support for Statistics Python Module in sonic-mgmt docker image (#9682) 2022-01-25 10:32:22 +08:00
docker-sonic-mgmt-framework [docker-mgmt-framework]: Don't overwrite /etc/passwd and /etc/group with symlinks (#9375) 2021-11-24 23:51:59 -08:00
docker-sonic-p4rt [PINS] Build P4RT container for PINS (#9083) 2021-12-07 11:11:25 -08:00
docker-sonic-restapi Support bullseye for docker-sonic-restapi docker-sonic-telemetry (#9791) 2022-01-21 08:41:39 +08:00
docker-sonic-sdk [sonic-sdk] add sonic sdk and sonic sdk buildenv (#6712) 2021-05-28 10:16:02 -07:00
docker-sonic-sdk-buildenv [sonic-sdk] add sonic sdk and sonic sdk buildenv (#6712) 2021-05-28 10:16:02 -07:00
docker-sonic-telemetry Support bullseye for docker-sonic-restapi docker-sonic-telemetry (#9791) 2022-01-21 08:41:39 +08:00
docker-swss-layer-buster Create a docker-swss-layer that holds the swss package. 2022-01-06 09:26:55 -08:00
docker-teamd Create a docker-swss-layer that holds the swss package. 2022-01-06 09:26:55 -08:00
dockerfile-macros.j2 [sonic-config-engine] Clean up dependencies, pin versions; install Python 3 package in Buster container (#5656) 2020-10-26 13:48:50 -07:00