sonic-buildimage/dockers/docker-orchagent
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
..
base_image_files [Monit] Deprecate the feature of monitoring the critical processes by Monit (#7676) 2021-06-04 10:16:53 -07:00
arp_update.conf [docker-orchagent]: use service dependency in supervisord to start services 2020-05-22 11:01:28 -07:00
buffermgrd.sh [Reclaim buffer] Common infrastructure update for reclaiming buffer (#9133) 2021-11-24 15:00:23 +02:00
critical_processes.j2 [fabric] Disable unnecessary processes in swss and the orchagent-portsyncd dependency for fabric asic (#5569) 2021-06-09 10:53:47 -07:00
docker-init.j2 [asan] Add address sanitizer support. (#9857) 2022-02-09 13:29:18 +02:00
Dockerfile.j2 [asan] Add address sanitizer support. (#9857) 2022-02-09 13:29:18 +02:00
enable_counters.py Add trap flow counter support (#8940) 2021-11-24 15:26:52 -08:00
ipinip.json.j2 [IPinIP] Add Loopback2 interface, change dscp mode to uniform (#7234) 2021-04-07 09:58:12 -07:00
ndppd.conf [swss]: Start ndppd after vlanmgrd (#9155) 2021-11-03 11:03:01 -07:00
ndppd.conf.j2 [docker-orchagent]: Increase ndppd kernel poll interval (#7456) 2021-04-30 16:30:30 -07:00
orchagent.sh [Multi Asic] support of swss.rec and sairedis.rec for multi asic (#6310) 2021-01-22 09:42:19 -08:00
ports.json.j2 [cfggen] Make Jinja2 Template Python 3 Compatible 2020-09-30 07:07:43 -07:00
supervisord.conf.j2 [asan] Add address sanitizer support. (#9857) 2022-02-09 13:29:18 +02:00
switch.json.j2 Enable/Disable Order ECMP feature. (#9651) 2022-01-06 16:40:50 -08:00
swssconfig.sh [Mellanox][VXLAN] add params to vxlan.json file in order to configure VXLAN src port range feature (#9658) 2022-01-31 15:57:30 +02:00
tunnel_packet_handler.py [swss]: Reduce tunnel_packet_handler memory usage (#9762) 2022-02-07 11:55:48 -08:00
vlan_vars.j2 [swss] Reduce Calls to SONiC Cfggen (#5177) 2020-08-17 15:47:52 -07:00
vxlan.json.j2 [Mellanox][VXLAN] add params to vxlan.json file in order to configure VXLAN src port range feature (#9658) 2022-01-31 15:57:30 +02:00