Daniel Campello has uploaded this change for review.

View Change

tests: Add padding to pci_dev struct for ASAN

This change addresses the following ASAN error:

* ASAN error detected:
* =================================================================
* ==12==ERROR: AddressSanitizer: global-buffer-overflow on address 0x55a8a046c916 at pc 0x55a8a038a21d bp 0x7ffd5dbc9ed0 sp 0x7ffd5dbc9ec8
* READ of size 2 at 0x55a8a046c916 thread T0
* #0 0x55a8a038a21c in nicrealtek_init /build/amd64-generic/tmp/portage/sys-apps/flashrom-9999/work/flashrom-9999-build/../flashrom-9999/nicrealtek.c:119:15
* #1 0x55a8a032f172 in __sanitizer::BufferedStackTrace::UnwindImpl(unsigned long, unsigned long, void*, bool, unsigned int) ??:0:0
* #2 0x55a8a02b65b8 in __asan::ErrorGeneric::Print() ??:0:0
* #3 0x55a8a03294d5 in __asan::ScopedInErrorReport::~ScopedInErrorReport() ??:0:0
* #4 0x55a8a032c5ae in __asan::ReportGenericError(unsigned long, unsigned long, unsigned long, unsigned long, bool, unsigned long, unsigned int, bool) ??:0:0
* #5 0x55a8a032d0f7 in __asan_report_load2 ??:0:0
*
* 0x55a8a046c916 is located 18 bytes to the right of global variable 'mock_pci_dev' defined in '../flashrom-9999/tests/tests.c:50:16' (0x55a8a046c900) of size 4
* SUMMARY: AddressSanitizer: global-buffer-overflow (/tmp/portage/sys-apps/flashrom-9999/work/flashrom-9999-build/tests/flashrom_unit_tests+0x19a21c)
* Shadow bytes around the buggy address:
* 0x0ab5940858d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
* 0x0ab5940858e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
* 0x0ab5940858f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
* 0x0ab594085900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
* 0x0ab594085910: 00 00 00 00 00 00 f9 f9 f9 f9 f9 f9 f9 f9 00 00
* =>0x0ab594085920: 04 f9[f9]f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
* 0x0ab594085930: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
* 0x0ab594085940: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
* 0x0ab594085950: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
* 0x0ab594085960: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
* 0x0ab594085970: f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9 f9
* Shadow byte legend (one shadow byte represents 8 application bytes):
* Addressable: 00
* Partially addressable: 01 02 03 04 05 06 07
* Heap left redzone: fa
* Freed heap region: fd
* Stack left redzone: f1
* Stack mid redzone: f2
* Stack right redzone: f3
* Stack after return: f5
* Stack use after scope: f8
* Global redzone: f9
* Global init order: f6
* Poisoned by user: f7
* Container overflow: fc
* Array cookie: ac
* Intra object redzone: bb
* ASan internal: fe
* Left alloca redzone: ca
* Right alloca redzone: cb
* ==12==ABORTING

BUG=b:224828279
TEST=FEATURES=test emerge-amd64-generic flashrom
BRANCH=none

Signed-off-by: Daniel Campello <campello@chromium.org>
Change-Id: I47943bf70181a9041f287df3ece0f7067a112de8
---
M tests/io_mock.h
1 file changed, 1 insertion(+), 0 deletions(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/45/62845/1
diff --git a/tests/io_mock.h b/tests/io_mock.h
index 8734774..f8f75ad 100644
--- a/tests/io_mock.h
+++ b/tests/io_mock.h
@@ -45,6 +45,7 @@

/* Define struct pci_dev to avoid dependency on pci.h */
struct pci_dev {
+ char padding[18];
unsigned int device_id;
};


To view, visit change 62845. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I47943bf70181a9041f287df3ece0f7067a112de8
Gerrit-Change-Number: 62845
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Campello <campello@chromium.org>
Gerrit-MessageType: newchange