From 5c8b3c76e72f1843812aa93f7c9613841878b836 Mon Sep 17 00:00:00 2001 From: Andrey Kazmin Date: Wed, 31 Mar 2021 15:37:23 +0300 Subject: [PATCH] Added no_sanitize_hwaddress attribute for PyObject_Free Change-Id: I52dc2e8c405064463d84201ee3fb8f5291d47c9b Signed-off-by: Andrey Kazmin --- Objects/obmalloc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c index 2067cf5..99b577a 100644 --- a/Objects/obmalloc.c +++ b/Objects/obmalloc.c @@ -8,6 +8,12 @@ #else #define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS #endif + #if __has_feature(hwaddress_sanitizer) /* is HWASAN enabled? */ + #define ATTRIBUTE_NO_SANITIZE_HWADDRESS \ + __attribute__((no_sanitize("hwaddress"))) + #else + #define ATTRIBUTE_NO_SANITIZE_HWADDRESS + #endif #else #if defined(__SANITIZE_ADDRESS__) /* GCC 4.8.x, is ASAN enabled? */ #define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS \ @@ -16,6 +22,12 @@ #else #define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS #endif + #if defined(__SANITIZE_HWADDRESS__) /* is HWASAN enabled? */ + #define ATTRIBUTE_NO_SANITIZE_HWADDRESS \ + __attribute__((no_sanitize_hwaddress)) + #else + #define ATTRIBUTE_NO_SANITIZE_HWADDRESS + #endif #endif #ifdef WITH_PYMALLOC @@ -996,6 +1008,7 @@ redirect: #undef PyObject_Free ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS +ATTRIBUTE_NO_SANITIZE_HWADDRESS void PyObject_Free(void *p) { @@ -1227,6 +1240,7 @@ redirect: #undef PyObject_Realloc ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS +ATTRIBUTE_NO_SANITIZE_HWADDRESS void * PyObject_Realloc(void *p, size_t nbytes) { -- 2.7.4