index
:
linux-yocto
master
v4.14/base
v4.14/standard/arm-versatile-926ejs
v4.14/standard/base
v4.14/standard/beaglebone
v4.14/standard/edgerouter
v4.14/standard/fsl-mpc8315e-rdb
v4.14/standard/intel
v4.14/standard/mti-malta32
v4.14/standard/mti-malta64
v4.14/standard/preempt-rt/base
v4.14/standard/preempt-rt/intel
v4.14/standard/qemuarm64
v4.14/standard/qemuppc
v4.14/standard/tiny/base
v4.14/standard/tiny/common-pc
v4.14/standard/tiny/intel
v4.15/base
v4.15/standard/arm-versatile-926ejs
v4.15/standard/base
v4.15/standard/beaglebone
v4.15/standard/edgerouter
v4.15/standard/fsl-mpc8315e-rdb
v4.15/standard/intel
v4.15/standard/mti-malta32
v4.15/standard/mti-malta64
v4.15/standard/preempt-rt/base
v4.15/standard/preempt-rt/intel
v4.15/standard/qemuarm64
v4.15/standard/qemuppc
v4.15/standard/tiny/arm-versatile-926ejs
v4.15/standard/tiny/base
v4.15/standard/tiny/common-pc
v4.15/standard/tiny/intel
v4.18/base
v4.18/standard/arm-versatile-926ejs
v4.18/standard/base
v4.18/standard/beaglebone
v4.18/standard/edgerouter
v4.18/standard/fsl-mpc8315e-rdb
v4.18/standard/intel
v4.18/standard/intel-socfpga
v4.18/standard/intel-x86
v4.18/standard/mti-malta32
v4.18/standard/mti-malta64
v4.18/standard/preempt-rt/base
v4.18/standard/preempt-rt/intel
v4.18/standard/preempt-rt/intel-x86
v4.18/standard/qemuarm64
v4.18/standard/qemuppc
v4.18/standard/tiny/arm-versatile-926ejs
v4.18/standard/tiny/base
v4.18/standard/tiny/common-pc
v4.18/standard/tiny/intel
v4.19/base
v4.19/standard/arm-versatile-926ejs
v4.19/standard/axxia
v4.19/standard/base
v4.19/standard/beaglebone
v4.19/standard/edgerouter
v4.19/standard/fsl-mpc8315e-rdb
v4.19/standard/intel
v4.19/standard/intel-x86
v4.19/standard/mti-malta32
v4.19/standard/mti-malta64
v4.19/standard/preempt-rt/axxia
v4.19/standard/preempt-rt/base
v4.19/standard/preempt-rt/intel
v4.19/standard/preempt-rt/intel-x86
v4.19/standard/qemuarm64
v4.19/standard/qemuppc
v4.19/standard/tiny/arm-versatile-926ejs
v4.19/standard/tiny/base
v4.19/standard/tiny/common-pc
v4.19/standard/tiny/intel
v4.19/standard/tiny/intel-x86
v4.19/standard/xlnx-soc
v4.8/base
v4.8/standard/arm-versatile-926ejs
v4.8/standard/base
v4.8/standard/beaglebone
v4.8/standard/edgerouter
v4.8/standard/fsl-mpc8315e-rdb
v4.8/standard/intel
v4.8/standard/mti-malta32
v4.8/standard/mti-malta64
v4.8/standard/preempt-rt/base
v4.8/standard/preempt-rt/intel
v4.8/standard/qemuarm64
v4.8/standard/qemuppc
v4.8/standard/tiny/base
v4.8/standard/tiny/common-pc
v4.8/standard/tiny/intel
v5.0/base
v5.0/standard/arm-versatile-926ejs
v5.0/standard/base
v5.0/standard/beaglebone
v5.0/standard/edgerouter
v5.0/standard/fsl-mpc8315e-rdb
v5.0/standard/intel-x86
v5.0/standard/mti-malta32
v5.0/standard/mti-malta64
v5.0/standard/preempt-rt/base
v5.0/standard/preempt-rt/intel-x86
v5.0/standard/qemuarm64
v5.0/standard/qemuppc
v5.0/standard/tiny/arm-versatile-926ejs
v5.0/standard/tiny/base
v5.0/standard/tiny/common-pc
v5.0/standard/tiny/intel-x86
v5.0/standard/xilinx-zynqmp
v5.10/base
v5.10/standard/arm-versatile-926ejs
v5.10/standard/base
v5.10/standard/bcm-2xxx-rpi
v5.10/standard/beaglebone
v5.10/standard/cn-sdkv4.18/cn96xx
v5.10/standard/cn-sdkv5.4/octeon
v5.10/standard/edgerouter
v5.10/standard/fsl-mpc8315e-rdb
v5.10/standard/intel-sdk-5.10/intel-socfpga
v5.10/standard/mti-malta32
v5.10/standard/mti-malta64
v5.10/standard/nxp-ls20xx
v5.10/standard/nxp-sdk-5.10/nxp-s32g2xx
v5.10/standard/nxp-sdk-5.10/nxp-soc
v5.10/standard/preempt-rt/base
v5.10/standard/preempt-rt/bcm-2xxx-rpi
v5.10/standard/preempt-rt/cn-sdkv4.18/cn96xx
v5.10/standard/preempt-rt/cn-sdkv5.4/octeon
v5.10/standard/preempt-rt/intel-sdk-5.10/intel-socfpga
v5.10/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g2xx
v5.10/standard/preempt-rt/nxp-sdk-5.10/nxp-soc
v5.10/standard/preempt-rt/sdkv5.10/axxia
v5.10/standard/preempt-rt/sdkv5.10/xlnx-soc
v5.10/standard/preempt-rt/ti-sdk-5.10/ti-j72xx
v5.10/standard/preempt-rt/x86
v5.10/standard/qemuarm64
v5.10/standard/qemuppc
v5.10/standard/sdkv5.10/axxia
v5.10/standard/sdkv5.10/xlnx-soc
v5.10/standard/sdkv5.4/xlnx-soc
v5.10/standard/ti-am335x
v5.10/standard/ti-sdk-5.10/ti-j72xx
v5.10/standard/tiny/arm-versatile-926ejs
v5.10/standard/tiny/base
v5.10/standard/tiny/common-pc
v5.10/standard/tiny/x86
v5.10/standard/x86
v5.10/standard/xilinx-zynqmp
v5.13/base
v5.13/standard/arm-versatile-926ejs
v5.13/standard/base
v5.13/standard/bcm-2xxx-rpi
v5.13/standard/beaglebone
v5.13/standard/edgerouter
v5.13/standard/fsl-mpc8315e-rdb
v5.13/standard/mti-malta32
v5.13/standard/mti-malta64
v5.13/standard/nxp-ls20xx
v5.13/standard/preempt-rt/base
v5.13/standard/preempt-rt/bcm-2xxx-rpi
v5.13/standard/preempt-rt/x86
v5.13/standard/qemuarm64
v5.13/standard/qemuppc
v5.13/standard/ti-am335x
v5.13/standard/tiny/arm-versatile-926ejs
v5.13/standard/tiny/base
v5.13/standard/tiny/common-pc
v5.13/standard/tiny/x86
v5.13/standard/x86
v5.13/standard/xilinx-zynqmp
v5.14/base
v5.14/standard/arm-versatile-926ejs
v5.14/standard/base
v5.14/standard/bcm-2xxx-rpi
v5.14/standard/beaglebone
v5.14/standard/edgerouter
v5.14/standard/fsl-mpc8315e-rdb
v5.14/standard/mti-malta32
v5.14/standard/mti-malta64
v5.14/standard/nxp-ls20xx
v5.14/standard/preempt-rt/base
v5.14/standard/preempt-rt/bcm-2xxx-rpi
v5.14/standard/preempt-rt/x86
v5.14/standard/qemuarm64
v5.14/standard/qemuppc
v5.14/standard/ti-am335x
v5.14/standard/tiny/arm-versatile-926ejs
v5.14/standard/tiny/base
v5.14/standard/tiny/common-pc
v5.14/standard/tiny/x86
v5.14/standard/x86
v5.14/standard/xilinx-zynqmp
v5.15/base
v5.15/standard/arm-versatile-926ejs
v5.15/standard/base
v5.15/standard/bcm-2xxx-rpi
v5.15/standard/beaglebone
v5.15/standard/cn-sdkv5.15/octeon
v5.15/standard/cn-sdkv5.4/octeon
v5.15/standard/edgerouter
v5.15/standard/fsl-mpc8315e-rdb
v5.15/standard/intel-sdk-5.15/intel-socfpga
v5.15/standard/mti-malta32
v5.15/standard/mti-malta64
v5.15/standard/nxp-ls20xx
v5.15/standard/nxp-sdk-5.10/nxp-s32g
v5.15/standard/nxp-sdk-5.15/nxp-s32g
v5.15/standard/nxp-sdk-5.15/nxp-soc
v5.15/standard/preempt-rt/base
v5.15/standard/preempt-rt/bcm-2xxx-rpi
v5.15/standard/preempt-rt/cn-sdkv5.15/octeon
v5.15/standard/preempt-rt/cn-sdkv5.4/octeon
v5.15/standard/preempt-rt/intel-sdk-5.15/intel-socfpga
v5.15/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g
v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g
v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc
v5.15/standard/preempt-rt/sdkv5.10/axxia
v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc
v5.15/standard/preempt-rt/ti-sdk-5.10/ti-j72xx
v5.15/standard/preempt-rt/x86
v5.15/standard/qemuarm64
v5.15/standard/qemuppc
v5.15/standard/sdkv5.10/axxia
v5.15/standard/sdkv5.15/xlnx-soc
v5.15/standard/ti-am335x
v5.15/standard/ti-sdk-5.10/ti-j72xx
v5.15/standard/tiny/arm-versatile-926ejs
v5.15/standard/tiny/base
v5.15/standard/tiny/common-pc
v5.15/standard/tiny/x86
v5.15/standard/x86
v5.15/standard/xilinx-zynqmp
v5.19/base
v5.19/standard/arm-versatile-926ejs
v5.19/standard/base
v5.19/standard/bcm-2xxx-rpi
v5.19/standard/beaglebone
v5.19/standard/edgerouter
v5.19/standard/fsl-mpc8315e-rdb
v5.19/standard/mti-malta32
v5.19/standard/mti-malta64
v5.19/standard/nxp-ls20xx
v5.19/standard/preempt-rt/arm-versatile-926ejs
v5.19/standard/preempt-rt/base
v5.19/standard/preempt-rt/bcm-2xxx-rpi
v5.19/standard/preempt-rt/x86
v5.19/standard/qemuarm64
v5.19/standard/qemuppc
v5.19/standard/ti-am335x
v5.19/standard/tiny/arm-versatile-926ejs
v5.19/standard/tiny/base
v5.19/standard/tiny/common-pc
v5.19/standard/tiny/x86
v5.19/standard/x86
v5.19/standard/xilinx-zynqmp
v5.2-upstream
v5.2/base
v5.2/standard/arm-versatile-926ejs
v5.2/standard/base
v5.2/standard/bcm-2xxx-rpi
v5.2/standard/beaglebone
v5.2/standard/cn96xx
v5.2/standard/edgerouter
v5.2/standard/fsl-mpc8315e-rdb
v5.2/standard/intel-x86
v5.2/standard/mti-malta32
v5.2/standard/mti-malta64
v5.2/standard/preempt-rt/base
v5.2/standard/preempt-rt/cn96xx
v5.2/standard/preempt-rt/intel-x86
v5.2/standard/qemuarm64
v5.2/standard/qemuppc
v5.2/standard/tiny/arm-versatile-926ejs
v5.2/standard/tiny/base
v5.2/standard/tiny/common-pc
v5.2/standard/tiny/intel-x86
v5.2/standard/xlnx-soc
v5.3/base
v5.3/standard/base
v5.4/base
v5.4/standard/arm-versatile-926ejs
v5.4/standard/base
v5.4/standard/bcm-2xxx-rpi
v5.4/standard/beaglebone
v5.4/standard/cn96xx
v5.4/standard/edgerouter
v5.4/standard/fsl-mpc8315e-rdb
v5.4/standard/intel-x86
v5.4/standard/mti-malta32
v5.4/standard/mti-malta64
v5.4/standard/nxp-imx8
v5.4/standard/nxp-ls20xx
v5.4/standard/nxp-s32g2xx
v5.4/standard/preempt-rt/base
v5.4/standard/preempt-rt/bcm-2xxx-rpi
v5.4/standard/preempt-rt/cn96xx
v5.4/standard/preempt-rt/intel-x86
v5.4/standard/qemuarm64
v5.4/standard/qemuppc
v5.4/standard/ti-am335x
v5.4/standard/ti-j72x
v5.4/standard/tiny/arm-versatile-926ejs
v5.4/standard/tiny/base
v5.4/standard/tiny/common-pc
v5.4/standard/tiny/intel-x86
v5.4/standard/xilinx-zynqmp
v5.4/standard/xlnx-soc
v5.6/base
v5.6/standard/arm-versatile-926ejs
v5.6/standard/base
v5.6/standard/bcm-2xxx-rpi
v5.6/standard/beaglebone
v5.6/standard/cn96xx
v5.6/standard/edgerouter
v5.6/standard/fsl-mpc8315e-rdb
v5.6/standard/intel-x86
v5.6/standard/mti-malta32
v5.6/standard/mti-malta64
v5.6/standard/nxp-ls20xx
v5.6/standard/preempt-rt/base
v5.6/standard/preempt-rt/bcm-2xxx-rpi
v5.6/standard/preempt-rt/intel-x86
v5.6/standard/qemuarm64
v5.6/standard/qemuppc
v5.6/standard/ti-am335x
v5.6/standard/tiny/arm-versatile-926ejs
v5.6/standard/tiny/base
v5.6/standard/tiny/common-pc
v5.6/standard/tiny/intel-x86
v5.6/standard/xilinx-zynqmp
v5.6/standard/xlnx-soc
v5.7/base
v5.7/standard/arm-versatile-926ejs
v5.7/standard/base
v5.7/standard/bcm-2xxx-rpi
v5.7/standard/beaglebone
v5.7/standard/cn96xx
v5.7/standard/edgerouter
v5.7/standard/fsl-mpc8315e-rdb
v5.7/standard/intel-x86
v5.7/standard/mti-malta32
v5.7/standard/mti-malta64
v5.7/standard/nxp-ls20xx
v5.7/standard/preempt-rt/base
v5.7/standard/preempt-rt/bcm-2xxx-rpi
v5.7/standard/preempt-rt/intel-x86
v5.7/standard/qemuarm64
v5.7/standard/qemuppc
v5.7/standard/ti-am335x
v5.7/standard/tiny/arm-versatile-926ejs
v5.7/standard/tiny/base
v5.7/standard/tiny/common-pc
v5.7/standard/tiny/intel-x86
v5.7/standard/xilinx-zynqmp
v5.7/standard/xlnx-soc
v5.8/base
v5.8/standard/arm-versatile-926ejs
v5.8/standard/base
v5.8/standard/bcm-2xxx-rpi
v5.8/standard/beaglebone
v5.8/standard/edgerouter
v5.8/standard/fsl-mpc8315e-rdb
v5.8/standard/intel-x86
v5.8/standard/mti-malta32
v5.8/standard/mti-malta64
v5.8/standard/nxp-ls20xx
v5.8/standard/preempt-rt/base
v5.8/standard/preempt-rt/bcm-2xxx-rpi
v5.8/standard/preempt-rt/intel-x86
v5.8/standard/qemuarm64
v5.8/standard/qemuppc
v5.8/standard/ti-am335x
v5.8/standard/tiny/arm-versatile-926ejs
v5.8/standard/tiny/base
v5.8/standard/tiny/common-pc
v5.8/standard/tiny/intel-x86
v5.8/standard/xilinx-zynqmp
v6.1/base
v6.1/standard/arm-versatile-926ejs
v6.1/standard/base
v6.1/standard/bcm-2xxx-rpi
v6.1/standard/beaglebone
v6.1/standard/cn-sdkv5.15/octeon
v6.1/standard/cn-sdkv6.1/octeon
v6.1/standard/edgerouter
v6.1/standard/fsl-mpc8315e-rdb
v6.1/standard/intel-sdk-6.1/intel-socfpga
v6.1/standard/microchip-polarfire-soc
v6.1/standard/mti-malta32
v6.1/standard/mti-malta64
v6.1/standard/nxp-ls20xx
v6.1/standard/nxp-sdk-5.15/nxp-s32g
v6.1/standard/nxp-sdk-6.1/nxp-soc
v6.1/standard/preempt-rt/arm-versatile-926ejs
v6.1/standard/preempt-rt/base
v6.1/standard/preempt-rt/bcm-2xxx-rpi
v6.1/standard/preempt-rt/cn-sdkv5.15/octeon
v6.1/standard/preempt-rt/cn-sdkv6.1/octeon
v6.1/standard/preempt-rt/intel-sdk-6.1/intel-socfpga
v6.1/standard/preempt-rt/microchip-polarfire-soc
v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc
v6.1/standard/preempt-rt/sdkv5.10/axxia
v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc
v6.1/standard/preempt-rt/ti-sdk-5.10/ti-j7xxx
v6.1/standard/preempt-rt/ti-sdk-6.1/ti-j7xxx
v6.1/standard/preempt-rt/x86
v6.1/standard/qemuarm64
v6.1/standard/qemuppc
v6.1/standard/sdkv5.10/axxia
v6.1/standard/sdkv6.1/xlnx-soc
v6.1/standard/ti-am335x
v6.1/standard/ti-sdk-5.10/ti-j7xxx
v6.1/standard/ti-sdk-6.1/ti-j7xxx
v6.1/standard/tiny/arm-versatile-926ejs
v6.1/standard/tiny/base
v6.1/standard/tiny/common-pc
v6.1/standard/tiny/x86
v6.1/standard/x86
v6.1/standard/xilinx-zynqmp
v6.4/base
v6.4/standard/arm-versatile-926ejs
v6.4/standard/base
v6.4/standard/bcm-2xxx-rpi
v6.4/standard/beaglebone
v6.4/standard/edgerouter
v6.4/standard/fsl-mpc8315e-rdb
v6.4/standard/mti-malta32
v6.4/standard/mti-malta64
v6.4/standard/nxp-ls20xx
v6.4/standard/preempt-rt/arm-versatile-926ejs
v6.4/standard/preempt-rt/base
v6.4/standard/preempt-rt/bcm-2xxx-rpi
v6.4/standard/preempt-rt/x86
v6.4/standard/qemuarm64
v6.4/standard/qemuppc
v6.4/standard/ti-am335x
v6.4/standard/tiny/arm-versatile-926ejs
v6.4/standard/tiny/base
v6.4/standard/tiny/common-pc
v6.4/standard/tiny/x86
v6.4/standard/x86
v6.4/standard/xilinx-zynqmp
v6.5/base
v6.5/standard/arm-versatile-926ejs
v6.5/standard/base
v6.5/standard/bcm-2xxx-rpi
v6.5/standard/beaglebone
v6.5/standard/edgerouter
v6.5/standard/fsl-mpc8315e-rdb
v6.5/standard/mti-malta32
v6.5/standard/mti-malta64
v6.5/standard/nxp-ls20xx
v6.5/standard/preempt-rt/arm-versatile-926ejs
v6.5/standard/preempt-rt/base
v6.5/standard/preempt-rt/bcm-2xxx-rpi
v6.5/standard/preempt-rt/x86
v6.5/standard/qemuarm64
v6.5/standard/qemuppc
v6.5/standard/ti-am335x
v6.5/standard/tiny/arm-versatile-926ejs
v6.5/standard/tiny/base
v6.5/standard/tiny/common-pc
v6.5/standard/tiny/x86
v6.5/standard/x86
v6.5/standard/xilinx-zynqmp
v6.6/base
v6.6/standard/arm-versatile-926ejs
v6.6/standard/base
v6.6/standard/bcm-2xxx-rpi
v6.6/standard/beaglebone
v6.6/standard/edgerouter
v6.6/standard/fsl-mpc8315e-rdb
v6.6/standard/mti-malta32
v6.6/standard/mti-malta64
v6.6/standard/nxp-ls20xx
v6.6/standard/nxp-sdk-6.6/nxp-soc
v6.6/standard/preempt-rt/arm-versatile-926ejs
v6.6/standard/preempt-rt/base
v6.6/standard/preempt-rt/bcm-2xxx-rpi
v6.6/standard/preempt-rt/nxp-sdk-6.6/nxp-soc
v6.6/standard/preempt-rt/x86
v6.6/standard/qemuarm64
v6.6/standard/qemuppc
v6.6/standard/ti-am335x
v6.6/standard/tiny/arm-versatile-926ejs
v6.6/standard/tiny/base
v6.6/standard/tiny/common-pc
v6.6/standard/tiny/x86
v6.6/standard/x86
v6.6/standard/xilinx-zynqmp
Yocto Linux Embedded kernel
Grokmirror user
summary
refs
log
tree
commit
diff
stats
log msg
author
committer
range
path:
root
/
mm
/
kasan
/
kasan.h
Age
Commit message (
Expand
)
Author
2019-09-24
kasan: add memory corruption identification for software tag-based mode
Walter Wu
2019-07-12
mm/kasan: change kasan_check_{read,write} to return boolean
Marco Elver
2019-07-12
mm/kasan: print frame description for stack bugs
Marco Elver
2019-03-29
kasan: fix variable 'tag' set but not used warning
Qian Cai
2019-03-05
kasan: remove use after scope bugs detection.
Andrey Ryabinin
2018-12-28
kasan: add hooks implementation for tag-based mode
Andrey Konovalov
2018-12-28
kasan: add bug reporting routines for tag-based mode
Andrey Konovalov
2018-12-28
kasan: split out generic_report.c from report.c
Andrey Konovalov
2018-12-28
kasan: add tag related helper functions
Andrey Konovalov
2018-12-28
kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS
Andrey Konovalov
2018-12-28
kasan: move common generic and tag-based code to common.c
Andrey Konovalov
2018-02-06
kasan: don't use __builtin_return_address(1)
Dmitry Vyukov
2018-02-06
kasan: detect invalid frees for large objects
Dmitry Vyukov
2018-02-06
kasan: add functions for unpoisoning stack variables
Alexander Potapenko
2018-02-06
kasan: support alloca() poisoning
Paul Lawrence
2017-11-02
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Greg Kroah-Hartman
2017-05-03
kasan: improve double-free report format
Andrey Konovalov
2017-03-31
kasan: report only the first error by default
Mark Rutland
2016-11-30
kasan: support use-after-scope detection
Dmitry Vyukov
2016-11-30
kasan: update kasan_global for gcc 7
Dmitry Vyukov
2016-08-02
kasan: improve double-free reports
Andrey Ryabinin
2016-08-02
mm/kasan: get rid of ->state in struct kasan_alloc_meta
Andrey Ryabinin
2016-08-02
mm/kasan: get rid of ->alloc_size in struct kasan_alloc_meta
Andrey Ryabinin
2016-07-28
mm, kasan: switch SLUB to stackdepot, enable memory quarantine for SLUB
Alexander Potapenko
2016-05-26
mm: kasan: remove unused 'reserved' field from struct kasan_alloc_meta
Andrey Ryabinin
2016-05-20
mm: kasan: initial memory quarantine implementation
Alexander Potapenko
2016-03-25
mm, kasan: stackdepot implementation. Enable stackdepot for SLAB
Alexander Potapenko
2016-03-25
mm, kasan: SLAB support
Alexander Potapenko
2015-11-05
kasan: update reported bug types for not user nor kernel memory accesses
Andrey Konovalov
2015-11-05
mm/kasan: rename kasan_enabled() to kasan_report_enabled()
Aneesh Kumar K.V
2015-06-25
kasan: remove duplicate definition of the macro KASAN_FREE_PAGE
Wang Long
2015-02-13
kasan: enable instrumentation of global variables
Andrey Ryabinin
2015-02-13
kasan: enable stack instrumentation
Andrey Ryabinin
2015-02-13
mm: slub: add kernel address sanitizer support for slub allocator
Andrey Ryabinin
2015-02-13
mm: page_alloc: add kasan hooks on alloc and free paths
Andrey Ryabinin
2015-02-13
kasan: add kernel address sanitizer infrastructure
Andrey Ryabinin