From c84b8f8f6fec341215f8317173be3603c3bca05a Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Tue, 28 Aug 2018 16:50:09 +0930 Subject: test: Add windows_equally_evictable Tests for the condition where the minimum age is less than any window's current age, in which case we can get a NULL dereference if the windows_reset_all() implementation is broken. windows.c:409:23: runtime error: member access within null pointer of type 'struct window_context' ASAN:DEADLYSIGNAL ================================================================= ==31400==ERROR: AddressSanitizer: SEGV on unknown address 0x00000004 (pc 0x0002b658 bp 0x74c00270 sp 0x7eb7c678 T0) ==31400==The signal is caused by a WRITE memory access. ==31400==Hint: address points to the zero page. #0 0x2b657 in window_reset windows.c:410 #1 0x2cc9b in windows_create_map windows.c:572 #2 0x1f3f3 in protocol_v1_create_window protocol.c:167 #3 0x2121b in protocol_v2_create_window protocol.c:417 #4 0x24cd7f in generic_vpnor_create_window vpnor/protocol.cpp:51 #5 0x24d053 in protocol_v2_vpnor_create_window vpnor/protocol.cpp:63 #6 0x2663b in mbox_handle_create_window transport_mbox.c:282 #7 0x276db in handle_mbox_req transport_mbox.c:568 #8 0x276db in transport_mbox_dispatch transport_mbox.c:649 #9 0x17fcb in poll_loop mboxd.c:185 #10 0x17fcb in main mboxd.c:423 #11 0x46b68517 in __libc_start_main (/lib/libc.so.6+0x46b68517) AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV windows.c:410 in window_reset ==31400==ABORTING Change-Id: I8161e2ea17953e196d4bb3ca90d19e44ec10c86d Signed-off-by: Andrew Jeffery --- test/Makefile.am.include | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'test/Makefile.am.include') diff --git a/test/Makefile.am.include b/test/Makefile.am.include index fab9e14..845c13a 100644 --- a/test/Makefile.am.include +++ b/test/Makefile.am.include @@ -99,6 +99,9 @@ test_sequence_numbers_SOURCES = %reldir%/sequence_numbers.c \ test_get_mbox_info_v2_timeout_SOURCES = %reldir%/get_mbox_info_v2_timeout.c \ $(TEST_MBOX_SRCS) $(TEST_MOCK_SRCS) +test_windows_equally_evictable_SOURCES = %reldir%/windows_equally_evictable.c \ + $(TEST_MBOX_SRCS) $(TEST_MOCK_SRCS) + check_PROGRAMS += \ %reldir%/sanity \ %reldir%/flash_copy \ @@ -126,4 +129,5 @@ check_PROGRAMS += \ %reldir%/invalid_command \ %reldir%/read_window_cycle \ %reldir%/sequence_numbers \ - %reldir%/get_mbox_info_v2_timeout + %reldir%/get_mbox_info_v2_timeout \ + %reldir%/windows_equally_evictable -- cgit v1.2.1