Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Buildfail #2

Closed
wants to merge 2 commits into from
Closed

Buildfail #2

wants to merge 2 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Jul 8, 2014

This is a test for the jenkins auto-foo. i.e .should not be merged, because it will cause failure of all of the things.

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
@ghost
Copy link
Author

ghost commented Jul 8, 2014

Merged build triggered. Test FAILed.

@ghost
Copy link
Author

ghost commented Jul 8, 2014

Merged build started. Test FAILed.

@ghost
Copy link
Author

ghost commented Jul 8, 2014

Merged build finished. Test FAILed.

@ghost ghost closed this Jul 8, 2014
@ghost ghost deleted the buildfail branch July 8, 2014 04:17
@ghost ghost restored the buildfail branch July 8, 2014 04:17
@ghost ghost reopened this Jul 8, 2014
@ghost
Copy link
Author

ghost commented Jul 8, 2014

ok to test

@ghost
Copy link
Author

ghost commented Jul 8, 2014

Merged build triggered. Test FAILed.

@ghost
Copy link
Author

ghost commented Jul 8, 2014

Merged build started. Test FAILed.

@ghost
Copy link
Author

ghost commented Jul 8, 2014

Merged build finished. Test FAILed.

@ghost ghost closed this Jul 8, 2014
@ghost ghost deleted the buildfail branch July 8, 2014 04:48
ghost pushed a commit that referenced this pull request Sep 2, 2016
This ends up being harmless bug due to memory layout.

$ ./pflash -F ~/op-build/output/images/firestone.pnor -i
==31829==ERROR: AddressSanitizer: global-buffer-overflow on address 0x00000062f0
80 at pc 0x410226 bp 0x7ffedba9c950 sp 0x7ffedba9c948
WRITE of size 8 at 0x00000062f080 thread T0
    #0 0x410225 in file_get_info (/home/stewart/skiboot/external/pflash/pflash+0
x410225)
    #1 0x40d832 in blocklevel_get_info (/home/stewart/skiboot/external/pflash/pf
lash+0x40d832)
    #2 0x401f0c in main (/home/stewart/skiboot/external/pflash/pflash+0x401f0c)
    #3 0x7fc77439ab44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21
b44)
    #4 0x403884 (/home/stewart/skiboot/external/pflash/pflash+0x403884)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 23, 2017
Fixes the following LeakSanitizer errors:

=================================================================
==32426==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 56 byte(s) in 1 object(s) allocated from:
    #0 0x7fd94a1fa850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x4014d4 in main core/test/run-time-utils.c:30
    open-power#2 0x7fd94904c509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Direct leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x7fd94a1fa850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x4014f0 in main core/test/run-time-utils.c:32
    open-power#2 0x7fd94904c509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Direct leak of 4 byte(s) in 1 object(s) allocated from:
    #0 0x7fd94a1fa850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x4014e2 in main core/test/run-time-utils.c:31
    open-power#2 0x7fd94904c509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 23, 2017
…nt', which requires 8 byte alignment

UBSan caught this:

hdata/test/../iohub.c:83:2: runtime error: load of misaligned address 0x7f1dc7b0210a for type 'long unsigned int', which requires 8 byte alignment
0x7f1dc7b0210a: note: pointer points here
 31 4c  58 08 31 00 04 01 00 30  00 42 50 46 02 00 00 78  00 00 00 00 00 00 00 00  00 00 00 00 00 00
              ^
    #0 0x41470a in io_get_lx_info hdata/test/../iohub.c:83
    open-power#1 0x41759f in io_add_p8_cec_vpd hdata/test/../iohub.c:450
    open-power#2 0x417d35 in io_parse_fru hdata/test/../iohub.c:538
    open-power#3 0x41812a in io_parse hdata/test/../iohub.c:600
    open-power#4 0x425aa2 in parse_hdat hdata/test/../spira.c:1337
    open-power#5 0x43d9f8 in main hdata/test/hdata_to_dt.c:358
    open-power#6 0x7f1dcb868509 in __libc_start_main (/lib64/libc.so.6+0x20509)
    open-power#7 0x4019e9 in _start (/home/stewart/skiboot/hdata/test/hdata_to_dt+0x4019e9)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 23, 2017
LeakSanitizer spotted this:

Direct leak of 131072 byte(s) in 1 object(s) allocated from:
    #0 0x7fb99e42b850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x408612 in main libflash/test/test-flash.c:380
    open-power#2 0x7fb99d27d509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 23, 2017
LeakSanitizer caught this with libflash/test/test-flash.c:

Direct leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x7f72546ee850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x405ff0 in flash_init libflash/test/../libflash.c:830
    open-power#2 0x408632 in main libflash/test/test-flash.c:382
    open-power#3 0x7f7253540509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 23, 2017
==8304==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x7f70eda8f850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x408ba0 in main libflash/test/test-blocklevel.c:298
    open-power#2 0x7f70ec8e1509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 24, 2017
…nt', which requires 8 byte alignment

UBSan caught this:

hdata/test/../iohub.c:83:2: runtime error: load of misaligned address 0x7f1dc7b0210a for type 'long unsigned int', which requires 8 byte alignment
0x7f1dc7b0210a: note: pointer points here
 31 4c  58 08 31 00 04 01 00 30  00 42 50 46 02 00 00 78  00 00 00 00 00 00 00 00  00 00 00 00 00 00
              ^
    #0 0x41470a in io_get_lx_info hdata/test/../iohub.c:83
    open-power#1 0x41759f in io_add_p8_cec_vpd hdata/test/../iohub.c:450
    open-power#2 0x417d35 in io_parse_fru hdata/test/../iohub.c:538
    open-power#3 0x41812a in io_parse hdata/test/../iohub.c:600
    open-power#4 0x425aa2 in parse_hdat hdata/test/../spira.c:1337
    open-power#5 0x43d9f8 in main hdata/test/hdata_to_dt.c:358
    open-power#6 0x7f1dcb868509 in __libc_start_main (/lib64/libc.so.6+0x20509)
    open-power#7 0x4019e9 in _start (/home/stewart/skiboot/hdata/test/hdata_to_dt+0x4019e9)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 24, 2017
LeakSanitizer spotted this:

Direct leak of 131072 byte(s) in 1 object(s) allocated from:
    #0 0x7fb99e42b850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x408612 in main libflash/test/test-flash.c:380
    open-power#2 0x7fb99d27d509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 24, 2017
LeakSanitizer caught this with libflash/test/test-flash.c:

Direct leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x7f72546ee850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x405ff0 in flash_init libflash/test/../libflash.c:830
    open-power#2 0x408632 in main libflash/test/test-flash.c:382
    open-power#3 0x7f7253540509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 24, 2017
==8304==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x7f70eda8f850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x408ba0 in main libflash/test/test-blocklevel.c:298
    open-power#2 0x7f70ec8e1509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 24, 2017
…nt', which requires 8 byte alignment

UBSan caught this:

hdata/test/../iohub.c:83:2: runtime error: load of misaligned address 0x7f1dc7b0210a for type 'long unsigned int', which requires 8 byte alignment
0x7f1dc7b0210a: note: pointer points here
 31 4c  58 08 31 00 04 01 00 30  00 42 50 46 02 00 00 78  00 00 00 00 00 00 00 00  00 00 00 00 00 00
              ^
    #0 0x41470a in io_get_lx_info hdata/test/../iohub.c:83
    open-power#1 0x41759f in io_add_p8_cec_vpd hdata/test/../iohub.c:450
    open-power#2 0x417d35 in io_parse_fru hdata/test/../iohub.c:538
    open-power#3 0x41812a in io_parse hdata/test/../iohub.c:600
    open-power#4 0x425aa2 in parse_hdat hdata/test/../spira.c:1337
    open-power#5 0x43d9f8 in main hdata/test/hdata_to_dt.c:358
    open-power#6 0x7f1dcb868509 in __libc_start_main (/lib64/libc.so.6+0x20509)
    open-power#7 0x4019e9 in _start (/home/stewart/skiboot/hdata/test/hdata_to_dt+0x4019e9)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 24, 2017
LeakSanitizer spotted this:

Direct leak of 131072 byte(s) in 1 object(s) allocated from:
    #0 0x7fb99e42b850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x408612 in main libflash/test/test-flash.c:380
    open-power#2 0x7fb99d27d509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 24, 2017
LeakSanitizer caught this with libflash/test/test-flash.c:

Direct leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x7f72546ee850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x405ff0 in flash_init libflash/test/../libflash.c:830
    open-power#2 0x408632 in main libflash/test/test-flash.c:382
    open-power#3 0x7f7253540509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Aug 24, 2017
==8304==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x7f70eda8f850 in malloc (/lib64/libasan.so.4+0xde850)
    open-power#1 0x408ba0 in main libflash/test/test-blocklevel.c:298
    open-power#2 0x7f70ec8e1509 in __libc_start_main (/lib64/libc.so.6+0x20509)

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
ghost pushed a commit to stewartsmith/skiboot that referenced this pull request Apr 10, 2018
A bad GPU or other condition may leave us with a subset of links that
never get initialized. If an ATSD is sent to one of those bricks, it
will never complete, leaving us waiting forever for a response:

watchdog: BUG: soft lockup - CPU#23 stuck for 23s! [acos:2050]
...
Modules linked in: nvidia_uvm(O) nvidia(O)
CPU: 23 PID: 2050 Comm: acos Tainted: G        W  O    4.14.0 open-power#2
task: c0000000285cfc00 task.stack: c000001fea860000
NIP:  c0000000000abdf0 LR: c0000000000acc48 CTR: c0000000000ace60
REGS: c000001fea863550 TRAP: 0901   Tainted: G        W  O     (4.14.0)
MSR:  9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>  CR: 28004484  XER: 20040000
CFAR: c0000000000abdf4 SOFTE: 1
GPR00: c0000000000acc48 c000001fea8637d0 c0000000011f7c00 c000001fea863820
GPR04: 0000000002000000 0004100026000000 c0000000012778c8 c00000000127a560
GPR08: 0000000000000001 0000000000000080 c000201cc7cb7750 ffffffffffffffff
GPR12: 0000000000008000 c000000003167e80
NIP [c0000000000abdf0] mmio_invalidate_wait+0x90/0xc0
LR [c0000000000acc48] mmio_invalidate.isra.11+0x158/0x370

ATSDs are only sent to bricks which have a valid entry in the XTS_BDF
table. So to prevent the hang, don't set NPU2_XTS_BDF_MAP_VALID unless
we make it all the way to creating a context for the BDF.

Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
ghost pushed a commit to ibm-op-release/skiboot that referenced this pull request Jun 28, 2018
The NPU2{DBG,INF,ERR} macros use "NPU%d" as a prefix to identify messages
relating to a particular NPU.

It's slightly confusing to have per-NPU messages prefixed with "NPU0" or
"NPU1" and NPU-generic messages prefixed with "NPU2". On some future system
we could potentially have a NPU open-power#2 in which case it'd be really confusing.

Use NPU rather than NPU2 for NPU-generic log messages. There's no risk of
confusion with the original npu.c code since that's only for P8.

Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: Reza Arbab <arbab@linux.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
ruscur pushed a commit to ruscur/skiboot that referenced this pull request Aug 1, 2018
The opal_get_next_variable runtime service allows the caller to iterate
through a bank, and receive the name and optionally the size of the
variable. Each call to opal_get_next_variable will return the next item
in the list until the end is reached, where the varname will be set to
NULL, and OPAL_EMPTY is returned. Since this runtime service maintains
its own state, the caller must be aware of when this function is called,
and to OR the section with START_OVER if they wish to reset.

NOTE: This runtime service is already slated for a rewrite!
I kept this version here since it is a perfect example of reacting to
unforseen implementation issues. An alternate implementation has been
proposed that takes an additional argument: the name of the previous. This
allows for the the caller to maintain the state instead, allowing multiple
calls to this service from multiple threads/locations without requiring
synchronization.

NOTE open-power#2: This commit also introduces a few macros from upstream ccan that
are not in the version included in skiboot. Since the proposed rewrite of
this function would no longer need the macros, consider them irrelevant to
this commit other than to make it compile.

Signed-off-by: Eric Richter <erichte@linux.ibm.com>
ruscur pushed a commit to ruscur/skiboot that referenced this pull request Aug 1, 2018
The opal_get_next_variable runtime service allows the caller to iterate
through a bank, and receive the name and optionally the size of the
variable. Each call to opal_get_next_variable will return the next item
in the list until the end is reached, where the varname will be set to
NULL, and OPAL_EMPTY is returned. Since this runtime service maintains
its own state, the caller must be aware of when this function is called,
and to OR the section with START_OVER if they wish to reset.

NOTE: This runtime service is already slated for a rewrite!
I kept this version here since it is a perfect example of reacting to
unforseen implementation issues. An alternate implementation has been
proposed that takes an additional argument: the name of the previous. This
allows for the the caller to maintain the state instead, allowing multiple
calls to this service from multiple threads/locations without requiring
synchronization.

NOTE open-power#2: This commit also introduces a few macros from upstream ccan that
are not in the version included in skiboot. Since the proposed rewrite of
this function would no longer need the macros, consider them irrelevant to
this commit other than to make it compile.

Signed-off-by: Eric Richter <erichte@linux.ibm.com>
ruscur pushed a commit to ruscur/skiboot that referenced this pull request Aug 1, 2018
The opal_get_next_variable runtime service allows the caller to iterate
through a bank, and receive the name and optionally the size of the
variable. Each call to opal_get_next_variable will return the next item
in the list until the end is reached, where the varname will be set to
NULL, and OPAL_EMPTY is returned. Since this runtime service maintains
its own state, the caller must be aware of when this function is called,
and to OR the section with START_OVER if they wish to reset.

NOTE: This runtime service is already slated for a rewrite!
I kept this version here since it is a perfect example of reacting to
unforseen implementation issues. An alternate implementation has been
proposed that takes an additional argument: the name of the previous. This
allows for the the caller to maintain the state instead, allowing multiple
calls to this service from multiple threads/locations without requiring
synchronization.

NOTE open-power#2: This commit also introduces a few macros from upstream ccan that
are not in the version included in skiboot. Since the proposed rewrite of
this function would no longer need the macros, consider them irrelevant to
this commit other than to make it compile.

Signed-off-by: Eric Richter <erichte@linux.ibm.com>
ruscur pushed a commit to ruscur/skiboot that referenced this pull request Aug 2, 2018
The opal_get_next_variable runtime service allows the caller to iterate
through a bank, and receive the name and optionally the size of the
variable. Each call to opal_get_next_variable will return the next item
in the list until the end is reached, where the varname will be set to
NULL, and OPAL_EMPTY is returned. Since this runtime service maintains
its own state, the caller must be aware of when this function is called,
and to OR the section with START_OVER if they wish to reset.

NOTE: This runtime service is already slated for a rewrite!
I kept this version here since it is a perfect example of reacting to
unforseen implementation issues. An alternate implementation has been
proposed that takes an additional argument: the name of the previous. This
allows for the the caller to maintain the state instead, allowing multiple
calls to this service from multiple threads/locations without requiring
synchronization.

NOTE open-power#2: This commit also introduces a few macros from upstream ccan that
are not in the version included in skiboot. Since the proposed rewrite of
this function would no longer need the macros, consider them irrelevant to
this commit other than to make it compile.

Signed-off-by: Eric Richter <erichte@linux.ibm.com>
ruscur pushed a commit to ruscur/skiboot that referenced this pull request Aug 2, 2018
The opal_get_next_variable runtime service allows the caller to iterate
through a bank, and receive the name and optionally the size of the
variable. Each call to opal_get_next_variable will return the next item
in the list until the end is reached, where the varname will be set to
NULL, and OPAL_EMPTY is returned. Since this runtime service maintains
its own state, the caller must be aware of when this function is called,
and to OR the section with START_OVER if they wish to reset.

NOTE: This runtime service is already slated for a rewrite!
I kept this version here since it is a perfect example of reacting to
unforseen implementation issues. An alternate implementation has been
proposed that takes an additional argument: the name of the previous. This
allows for the the caller to maintain the state instead, allowing multiple
calls to this service from multiple threads/locations without requiring
synchronization.

NOTE open-power#2: This commit also introduces a few macros from upstream ccan that
are not in the version included in skiboot. Since the proposed rewrite of
this function would no longer need the macros, consider them irrelevant to
this commit other than to make it compile.

Signed-off-by: Eric Richter <erichte@linux.ibm.com>
ruscur pushed a commit to ruscur/skiboot that referenced this pull request Aug 2, 2018
The opal_get_next_variable runtime service allows the caller to iterate
through a bank, and receive the name and optionally the size of the
variable. Each call to opal_get_next_variable will return the next item
in the list until the end is reached, where the varname will be set to
NULL, and OPAL_EMPTY is returned. Since this runtime service maintains
its own state, the caller must be aware of when this function is called,
and to OR the section with START_OVER if they wish to reset.

NOTE: This runtime service is already slated for a rewrite!
I kept this version here since it is a perfect example of reacting to
unforseen implementation issues. An alternate implementation has been
proposed that takes an additional argument: the name of the previous. This
allows for the the caller to maintain the state instead, allowing multiple
calls to this service from multiple threads/locations without requiring
synchronization.

NOTE open-power#2: This commit also introduces a few macros from upstream ccan that
are not in the version included in skiboot. Since the proposed rewrite of
this function would no longer need the macros, consider them irrelevant to
this commit other than to make it compile.

Signed-off-by: Eric Richter <erichte@linux.ibm.com>
@ghost ghost mentioned this pull request Sep 3, 2018
amboar added a commit to amboar/skiboot that referenced this pull request Oct 9, 2019
Resolves:

=================================================================
==31900==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 160 byte(s) in 1 object(s) allocated from:
    #0 0x4c6cb3 in malloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:146:3
    open-power#1 0x4f668d in pool_init /home/andrew/src/open-power/skiboot/core/test/../pool.c:54:14
    open-power#2 0x4f6a96 in main /home/andrew/src/open-power/skiboot/core/test/run-pool.c:27:2
    open-power#3 0x7f333c888b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

SUMMARY: AddressSanitizer: 160 byte(s) leaked in 1 allocation(s).

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
amboar added a commit to amboar/skiboot that referenced this pull request Oct 9, 2019
Rearrange the internal implementation of strdup and its inclusion in
run-mem_region_reservations to avoid invoking the internal
implementation in the wrong contexts:

==9810==ERROR: AddressSanitizer: heap-use-after-free on address 0x629000000218 at pc 0x00000052eb1a bp 0x7ffc31aebe70 sp 0x7ffc31aebe68
READ of size 8 at 0x629000000218 thread T0
    #0 0x52eb19 in list_check_node /home/andrew/src/open-power/skiboot/core/test/../../ccan/list/list.c:28:10
    open-power#1 0x52eb88 in list_check /home/andrew/src/open-power/skiboot/core/test/../../ccan/list/list.c:40:7
    open-power#2 0x4f9a74 in __mem_alloc /home/andrew/src/open-power/skiboot/core/test/../mem_region.c:427:2
    open-power#3 0x4f8c14 in mem_alloc /home/andrew/src/open-power/skiboot/core/test/../mem_region.c:488:6
    open-power#4 0x5138a0 in __memalign /home/andrew/src/open-power/skiboot/core/test/../malloc.c:21:6
    open-power#5 0x50d2cb in __malloc /home/andrew/src/open-power/skiboot/core/test/../malloc.c:29:9
    open-power#6 0x513f4d in strdup /home/andrew/src/open-power/skiboot/core/test/../../libc/string/strdup.c:23:8
    open-power#7 0x52ee1a in llvm_gcda_start_file (/home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations-gcov+0x52ee1a)
    open-power#8 0x529422 in __llvm_gcov_writeout (/home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations-gcov+0x529422)
    open-power#9 0x530419 in llvm_writeout_files (/home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations-gcov+0x530419)
    open-power#10 0x7f191cf2e2ab in __run_exit_handlers /build/glibc-KRRWSm/glibc-2.29/stdlib/exit.c:108:8
    open-power#11 0x7f191cf2e3d9 in exit /build/glibc-KRRWSm/glibc-2.29/stdlib/exit.c:139:3
    open-power#12 0x7f191cf0db71 in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:342:3
    open-power#13 0x41b3d9 in _start (/home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations-gcov+0x41b3d9)

0x629000000218 is located 24 bytes inside of 16384-byte region [0x629000000200,0x629000004200)
freed by thread T0 here:
    #0 0x4c6a52 in __interceptor_free /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:124:3
    open-power#1 0x526186 in real_free /home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations.c:22:9
    open-power#2 0x52380c in main /home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations.c:225:2
    open-power#3 0x7f191cf0db6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

previously allocated by thread T0 here:
    #0 0x4c6dd3 in malloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:146:3
    open-power#1 0x523896 in real_malloc /home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations.c:17:9
    open-power#2 0x523321 in main /home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations.c:185:29
    open-power#3 0x7f191cf0db6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
amboar added a commit to amboar/skiboot that referenced this pull request Oct 9, 2019
Resolves:

==7039==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x7fe39be3387e in __interceptor_realloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10c87e)
    open-power#1 0x5608e83608f3 in insert_bl_prot_range libflash/test/../blocklevel.c:669
    open-power#2 0x5608e83608f3 in blocklevel_ecc_protect libflash/test/../blocklevel.c:700

SUMMARY: AddressSanitizer: 128 byte(s) leaked in 1 allocation(s).

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
amboar added a commit to amboar/skiboot that referenced this pull request Oct 9, 2019
Resolves:

==26938==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 20971520 byte(s) in 1 object(s) allocated from:
    #0 0x4c6eea in calloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:155:3
    open-power#1 0x4fd949 in run_flash_test /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:85:9
    open-power#2 0x4fd63b in main /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:324:7
    open-power#3 0x7fb0c5017b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

Direct leak of 2621440 byte(s) in 1 object(s) allocated from:
    #0 0x4c6eea in calloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:155:3
    open-power#1 0x4fd949 in run_flash_test /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:85:9
    open-power#2 0x4fd601 in main /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:314:7
    open-power#3 0x7fb0c5017b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

Direct leak of 81920 byte(s) in 1 object(s) allocated from:
    #0 0x4c6eea in calloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:155:3
    open-power#1 0x4fd949 in run_flash_test /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:85:9
    open-power#2 0x4fd5d1 in main /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:307:7
    open-power#3 0x7fb0c5017b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

Direct leak of 81920 byte(s) in 1 object(s) allocated from:
    #0 0x4c6eea in calloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:155:3
    open-power#1 0x4fd949 in run_flash_test /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:85:9
    open-power#2 0x4fd593 in main /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:294:7
    open-power#3 0x7fb0c5017b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

SUMMARY: AddressSanitizer: 23756800 byte(s) leaked in 4 allocation(s).

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
amboar added a commit to amboar/skiboot that referenced this pull request Oct 9, 2019
Resolves:

==1300==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x4c6dc3 in malloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:146:3
    open-power#1 0x4f7e71 in main /home/andrew/src/open-power/skiboot/libstb/test/run-stb-container.c:12:25
    open-power#2 0x7f3191a91b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

SUMMARY: AddressSanitizer: 4096 byte(s) leaked in 1 allocation(s).

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
amboar added a commit to amboar/skiboot that referenced this pull request Oct 10, 2019
Resolves:

=================================================================
==31900==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 160 byte(s) in 1 object(s) allocated from:
    #0 0x4c6cb3 in malloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:146:3
    open-power#1 0x4f668d in pool_init /home/andrew/src/open-power/skiboot/core/test/../pool.c:54:14
    open-power#2 0x4f6a96 in main /home/andrew/src/open-power/skiboot/core/test/run-pool.c:27:2
    open-power#3 0x7f333c888b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

SUMMARY: AddressSanitizer: 160 byte(s) leaked in 1 allocation(s).

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
amboar added a commit to amboar/skiboot that referenced this pull request Oct 10, 2019
Rearrange the internal implementation of strdup and its inclusion in
run-mem_region_reservations to avoid invoking the internal
implementation in the wrong contexts:

==9810==ERROR: AddressSanitizer: heap-use-after-free on address 0x629000000218 at pc 0x00000052eb1a bp 0x7ffc31aebe70 sp 0x7ffc31aebe68
READ of size 8 at 0x629000000218 thread T0
    #0 0x52eb19 in list_check_node /home/andrew/src/open-power/skiboot/core/test/../../ccan/list/list.c:28:10
    open-power#1 0x52eb88 in list_check /home/andrew/src/open-power/skiboot/core/test/../../ccan/list/list.c:40:7
    open-power#2 0x4f9a74 in __mem_alloc /home/andrew/src/open-power/skiboot/core/test/../mem_region.c:427:2
    open-power#3 0x4f8c14 in mem_alloc /home/andrew/src/open-power/skiboot/core/test/../mem_region.c:488:6
    open-power#4 0x5138a0 in __memalign /home/andrew/src/open-power/skiboot/core/test/../malloc.c:21:6
    open-power#5 0x50d2cb in __malloc /home/andrew/src/open-power/skiboot/core/test/../malloc.c:29:9
    open-power#6 0x513f4d in strdup /home/andrew/src/open-power/skiboot/core/test/../../libc/string/strdup.c:23:8
    open-power#7 0x52ee1a in llvm_gcda_start_file (/home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations-gcov+0x52ee1a)
    open-power#8 0x529422 in __llvm_gcov_writeout (/home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations-gcov+0x529422)
    open-power#9 0x530419 in llvm_writeout_files (/home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations-gcov+0x530419)
    open-power#10 0x7f191cf2e2ab in __run_exit_handlers /build/glibc-KRRWSm/glibc-2.29/stdlib/exit.c:108:8
    open-power#11 0x7f191cf2e3d9 in exit /build/glibc-KRRWSm/glibc-2.29/stdlib/exit.c:139:3
    open-power#12 0x7f191cf0db71 in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:342:3
    open-power#13 0x41b3d9 in _start (/home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations-gcov+0x41b3d9)

0x629000000218 is located 24 bytes inside of 16384-byte region [0x629000000200,0x629000004200)
freed by thread T0 here:
    #0 0x4c6a52 in __interceptor_free /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:124:3
    open-power#1 0x526186 in real_free /home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations.c:22:9
    open-power#2 0x52380c in main /home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations.c:225:2
    open-power#3 0x7f191cf0db6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

previously allocated by thread T0 here:
    #0 0x4c6dd3 in malloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:146:3
    open-power#1 0x523896 in real_malloc /home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations.c:17:9
    open-power#2 0x523321 in main /home/andrew/src/open-power/skiboot/core/test/run-mem_region_reservations.c:185:29
    open-power#3 0x7f191cf0db6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
amboar added a commit to amboar/skiboot that referenced this pull request Oct 10, 2019
Resolves:

==7039==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 128 byte(s) in 1 object(s) allocated from:
    #0 0x7fe39be3387e in __interceptor_realloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10c87e)
    open-power#1 0x5608e83608f3 in insert_bl_prot_range libflash/test/../blocklevel.c:669
    open-power#2 0x5608e83608f3 in blocklevel_ecc_protect libflash/test/../blocklevel.c:700

SUMMARY: AddressSanitizer: 128 byte(s) leaked in 1 allocation(s).

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
amboar added a commit to amboar/skiboot that referenced this pull request Oct 10, 2019
Resolves:

==26938==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 20971520 byte(s) in 1 object(s) allocated from:
    #0 0x4c6eea in calloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:155:3
    open-power#1 0x4fd949 in run_flash_test /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:85:9
    open-power#2 0x4fd63b in main /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:324:7
    open-power#3 0x7fb0c5017b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

Direct leak of 2621440 byte(s) in 1 object(s) allocated from:
    #0 0x4c6eea in calloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:155:3
    open-power#1 0x4fd949 in run_flash_test /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:85:9
    open-power#2 0x4fd601 in main /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:314:7
    open-power#3 0x7fb0c5017b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

Direct leak of 81920 byte(s) in 1 object(s) allocated from:
    #0 0x4c6eea in calloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:155:3
    open-power#1 0x4fd949 in run_flash_test /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:85:9
    open-power#2 0x4fd5d1 in main /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:307:7
    open-power#3 0x7fb0c5017b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

Direct leak of 81920 byte(s) in 1 object(s) allocated from:
    #0 0x4c6eea in calloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:155:3
    open-power#1 0x4fd949 in run_flash_test /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:85:9
    open-power#2 0x4fd593 in main /home/andrew/src/open-power/skiboot/libflash/test/test-mbox.c:294:7
    open-power#3 0x7fb0c5017b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

SUMMARY: AddressSanitizer: 23756800 byte(s) leaked in 4 allocation(s).

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
amboar added a commit to amboar/skiboot that referenced this pull request Oct 10, 2019
Resolves:

==1300==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x4c6dc3 in malloc /build/llvm-toolchain-8-F3l7P1/llvm-toolchain-8-8/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:146:3
    open-power#1 0x4f7e71 in main /home/andrew/src/open-power/skiboot/libstb/test/run-stb-container.c:12:25
    open-power#2 0x7f3191a91b6a in __libc_start_main /build/glibc-KRRWSm/glibc-2.29/csu/../csu/libc-start.c:308:16

SUMMARY: AddressSanitizer: 4096 byte(s) leaked in 1 allocation(s).

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
ruscur pushed a commit to ruscur/skiboot that referenced this pull request Feb 28, 2020
Here is a proposal to collect OPAL call statistics, counts and duration,
and track areas we could possibly improve.

With a small Linux driver to dump the stats in debugfs, here is what
we get on a P9 after boot:

OPAL_CONSOLE_WRITE : #22318 0/0/47
OPAL_RTC_READ : open-power#9 0/4/15
OPAL_READ_NVRAM : #3468 0/0/6
OPAL_HANDLE_INTERRUPT : #4724 0/57/10026
OPAL_POLL_EVENTS : #508 2/141/10033
OPAL_PCI_CONFIG_READ_BYTE : #3623 0/0/4
OPAL_PCI_CONFIG_READ_HALF_WORD : #5579 0/0/8
OPAL_PCI_CONFIG_READ_WORD : #6156 0/0/7
OPAL_PCI_CONFIG_WRITE_BYTE : open-power#2 0/0/0
OPAL_PCI_CONFIG_WRITE_HALF_WORD : #1282 0/0/1
OPAL_PCI_CONFIG_WRITE_WORD : #1335 0/0/1
OPAL_PCI_EEH_FREEZE_STATUS : #11123 0/0/2
OPAL_CONSOLE_WRITE_BUFFER_SPACE : #139088 0/0/11
OPAL_PCI_EEH_FREEZE_CLEAR : open-power#148 1/2/8
OPAL_PCI_PHB_MMIO_ENABLE : open-power#22 0/0/0
OPAL_PCI_SET_PHB_MEM_WINDOW : open-power#22 0/0/1
OPAL_PCI_MAP_PE_MMIO_WINDOW : open-power#56 0/0/0
OPAL_PCI_SET_PE : open-power#44 279/284/293
OPAL_PCI_SET_PELTV : open-power#66 0/0/0
OPAL_PCI_SET_XIVE_PE : #1123 0/0/1
OPAL_GET_MSI_64 : #1120 0/0/0
OPAL_START_CPU : open-power#238 8/21/35
OPAL_QUERY_CPU_STATUS : #357 0/11/69
OPAL_PCI_MAP_PE_DMA_WINDOW : open-power#16 0/0/1
OPAL_PCI_MAP_PE_DMA_WINDOW_REAL : open-power#16 0/0/1
OPAL_PCI_RESET : open-power#35 0/471/851
OPAL62 : open-power#6 0/10/46
OPAL_XSCOM_READ : open-power#26 0/0/2
OPAL_XSCOM_WRITE : open-power#8 0/0/1
OPAL_REINIT_CPUS : open-power#4 348/8247/11061
OPAL_CHECK_TOKEN : #134112 0/0/0
OPAL_GET_MSG : open-power#30 0/0/1
OPAL87 : open-power#1 0/0/0
OPAL_PCI_SET_PHB_CAPI_MODE : open-power#2 0/60/121
OPAL_SLW_SET_REG : #1080 3/3/13
OPAL_IPMI_SEND : open-power#53 0/5/11
OPAL_IPMI_RECV : open-power#53 0/0/2
OPAL_I2C_REQUEST : open-power#20 6/10/19
OPAL_FLASH_READ : open-power#10 19/10452/58305
OPAL_PRD_MSG : open-power#1 0/3/3
OPAL_CONSOLE_FLUSH : #134079 0/0/12
OPAL_PCI_GET_PRESENCE_STATE : open-power#7 1/1/3
OPAL_PCI_GET_POWER_STATE : open-power#9 0/0/0
OPAL_PCI_TCE_KILL : open-power#20 1/8/133
OPAL_NMMU_SET_PTCR : open-power#3 253/255/257
OPAL_XIVE_RESET : open-power#3 0/114709/115403
OPAL_XIVE_GET_IRQ_INFO : #1427 0/0/6
OPAL_XIVE_SET_IRQ_CONFIG : #1113 0/125/2810
OPAL_XIVE_GET_QUEUE_INFO : open-power#240 0/0/2
OPAL_XIVE_SET_QUEUE_INFO : #360 0/60/1216
OPAL_XIVE_ALLOCATE_VP_BLOCK : open-power#2 0/59/60
OPAL_XIVE_GET_VP_INFO : open-power#240 0/0/0
OPAL_XIVE_SET_VP_INFO : #360 0/298/3080
OPAL_XIVE_ALLOCATE_IRQ : open-power#240 0/0/3
OPAL140 : open-power#119 0/253/1109
OPAL_IMC_COUNTERS_INIT : open-power#60 9/10/20
OPAL_IMC_COUNTERS_STOP : open-power#36 0/0/2
OPAL_PCI_GET_PBCQ_TUNNEL_BAR : open-power#1 2/2/2
OPAL_PCI_SET_PBCQ_TUNNEL_BAR : open-power#1 1/1/1
OPAL_NX_COPROC_INIT : open-power#2 3/4/5

Signed-off-by: Cédric Le Goater <clg@kaod.org>
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant