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

Fix null-deref crash in OnSessionEstablishmentError. #14654

Merged
merged 1 commit into from
Feb 2, 2022

Conversation

bzbarsky-apple
Copy link
Contributor

We ended up crashing because
mServer->getBleLayerObject()->mBleEndPoint was null.

The changes mostly remove the changes from #9845 because those changes
made us try to close some random "whatever last BLE endpoint was
created", even if it's already closed or has nothing to do with our
PASE session.

So instead, just do the same thing as we do for CASE establishment and
tear down all BLE sessions, if we need to tear down anything at all.

The remaining changes are making ReleaseBleConnection private again
and removing the broken mBleEndPoint member from BleLayer.

Problem

See above.

Change overview

See above.

Testing

Not entirely sure how to test this. #9845 did not have clear test steps.... @sweetymhaiske

@msandstedt
Copy link
Contributor

Why aren't we using CHIP_ERROR CloseBleConnection(BLE_CONNECTION_OBJECT connObj);? If the connection was opened successfully, we should have received this somewhere.

@github-actions
Copy link

github-actions bot commented Feb 1, 2022

PR #14654: Size comparison from 9de9890 to f7b0e7a

Increases (2 builds for linux)
platform target config section 9de9890 f7b0e7a change % change
linux ota-provider-app debug .rodata 148190 148198 8 0.0
ota-requestor-app debug .rodata 144463 144471 8 0.0
Decreases (34 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, qpg)
platform target config section 9de9890 f7b0e7a change % change
cyw30739 light cyw930739m2evb_01 (read/write) 577150 577130 -20 -0.0
.app_xip_area 484356 484344 -12 -0.0
.bss 75540 75532 -8 -0.0
lock cyw930739m2evb_01 (read/write) 535146 535126 -20 -0.0
.app_xip_area 443920 443908 -12 -0.0
.bss 74012 74004 -8 -0.0
ota-requestor cyw930739m2evb_01 (read/write) 559890 559878 -12 -0.0
.app_xip_area 459360 459348 -12 -0.0
efr32 lighting-app BRD4161A (read only) 843616 843600 -16 -0.0
.text 843608 843592 -16 -0.0
BRD4161A+rpc (read only) 830984 830968 -16 -0.0
.text 830976 830960 -16 -0.0
k32w light k32w061+release (read/write) 661876 661860 -16 -0.0
.text 578992 578976 -16 -0.0
lock k32w061+release (read/write) 662888 662872 -16 -0.0
.text 579644 579628 -16 -0.0
linux all-clusters-app debug (read only) 2301505 2301489 -16 -0.0
.text 1936914 1936898 -16 -0.0
bridge-app debug+rpc (read only) 1633069 1633053 -16 -0.0
.text 1379925 1379909 -16 -0.0
chip-tool debug (read only) 7080069 7080053 -16 -0.0
.text 6309877 6309861 -16 -0.0
chip-tool-ipv6only arm64 (read only) 7031380 7031364 -16 -0.0
(read/write) 289697 289681 -16 -0.0
.bss 54593 54577 -16 -0.0
.text 6045108 6045092 -16 -0.0
door-lock-app debug (read only) 1854057 1854025 -32 -0.0
.text 1534642 1534610 -32 -0.0
lighting-app debug+rpc (read only) 1954785 1954769 -16 -0.0
.text 1639602 1639586 -16 -0.0
ota-provider-app debug (read only) 1633465 1633457 -8 -0.0
.text 1368050 1368034 -16 -0.0
ota-requestor-app debug (read only) 1642177 1642153 -24 -0.0
.text 1381570 1381538 -32 -0.0
shell debug (read only) 2277937 2277921 -16 -0.0
.text 1918530 1918514 -16 -0.0
tv-app debug (read only) 2408921 2408905 -16 -0.0
.text 2046498 2046482 -16 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2384344 2384280 -64 -0.0
.bss 187900 187892 -8 -0.0
.text 1346944 1346880 -64 -0.0
lighting-app CY8CPROTO_062_4343W+release .bss 178176 178168 -8 -0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2302296 2302224 -72 -0.0
.bss 178056 178048 -8 -0.0
.text 1264896 1264824 -72 -0.0
nrfconnect lighting-app nrf52840dk_nrf52840 bss 118544 118540 -4 -0.0
text 668364 668352 -12 -0.0
nrf52840dk_nrf52840+rpc (read/write) 966115 966067 -48 -0.0
bss 115588 115584 -4 -0.0
text 664808 664796 -12 -0.0
nrf52840dongle_nrf52840 (read/write) 996623 996575 -48 -0.0
bss 119716 119712 -4 -0.0
text 673756 673744 -12 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 889754 889706 -48 -0.0
bss 115332 115328 -4 -0.0
text 584560 584548 -12 -0.0
lock-app nrf52840dk_nrf52840 bss 116904 116900 -4 -0.0
text 614368 614356 -12 -0.0
nrf5340dk_nrf5340_cpuapp bss 113720 113716 -4 -0.0
text 531344 531332 -12 -0.0
pump-app nrf52840dk_nrf52840 (read/write) 916011 915995 -16 -0.0
bss 116660 116656 -4 -0.0
text 616892 616880 -12 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 911171 911155 -16 -0.0
bss 116668 116664 -4 -0.0
text 612940 612928 -12 -0.0
shell nrf52840dk_nrf52840 (read/write) 798395 798379 -16 -0.0
bss 109776 109772 -4 -0.0
text 533760 533752 -8 -0.0
p6 all-clusters-app default (read/write) 2445640 2445624 -16 -0.0
.text 1403904 1403888 -16 -0.0
light-app default (read/write) 2340320 2340304 -16 -0.0
.text 1298584 1298568 -16 -0.0
lock-app default (read/write) 2305728 2305712 -16 -0.0
.text 1263992 1263976 -16 -0.0
qpg lighting-app qpg6105+debug (read only) 570700 570684 -16 -0.0
.bss 87520 87512 -8 -0.0
.text 565380 565364 -16 -0.0
lock-app qpg6105+debug (read only) 516816 516800 -16 -0.0
.bss 86960 86952 -8 -0.0
.text 511496 511480 -16 -0.0
Full report (41 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 9de9890 f7b0e7a change % change
cyw30739 light cyw930739m2evb_01 (read/write) 577150 577130 -20 -0.0
.app_xip_area 484356 484344 -12 -0.0
.bss 75540 75532 -8 -0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 535146 535126 -20 -0.0
.app_xip_area 443920 443908 -12 -0.0
.bss 74012 74004 -8 -0.0
.data 560 560 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 559890 559878 -12 -0.0
.app_xip_area 459360 459348 -12 -0.0
.bss 82988 82988 0 0.0
.data 504 504 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 843616 843600 -16 -0.0
(read/write) 125072 125072 0 0.0
.bss 123176 123176 0 0.0
.data 1896 1896 0 0.0
.text 843608 843592 -16 -0.0
BRD4161A+rpc (read only) 830984 830968 -16 -0.0
(read/write) 141736 141736 0 0.0
.bss 139736 139736 0 0.0
.data 1996 1996 0 0.0
.text 830976 830960 -16 -0.0
window-app BRD4161A (read only) 816164 816164 0 0.0
(read/write) 123704 123704 0 0.0
.bss 121852 121852 0 0.0
.data 1852 1852 0 0.0
.text 816156 816156 0 0.0
k32w light k32w061+release (read/write) 661876 661860 -16 -0.0
.bss 75228 75228 0 0.0
.data 1856 1856 0 0.0
.text 578992 578976 -16 -0.0
lock k32w061+release (read/write) 662888 662872 -16 -0.0
.bss 75548 75548 0 0.0
.data 1896 1896 0 0.0
.text 579644 579628 -16 -0.0
linux all-clusters-app debug (read only) 2301505 2301489 -16 -0.0
(read/write) 145472 145472 0 0.0
.bss 61728 61728 0 0.0
.data 1200 1200 0 0.0
.data.rel.ro 76872 76872 0 0.0
.dynamic 592 592 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 203813 203813 0 0.0
.text 1936914 1936898 -16 -0.0
bridge-app debug+rpc (read only) 1633069 1633053 -16 -0.0
(read/write) 87912 87912 0 0.0
.bss 43808 43808 0 0.0
.data 1794 1794 0 0.0
.data.rel.ro 37152 37152 0 0.0
.dynamic 592 592 0 0.0
.got 3968 3968 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 138196 138196 0 0.0
.text 1379925 1379909 -16 -0.0
chip-tool debug (read only) 7080069 7080053 -16 -0.0
(read/write) 187176 187176 0 0.0
.bss 36264 36264 0 0.0
.data 1088 1088 0 0.0
.data.rel.ro 143824 143824 0 0.0
.dynamic 608 608 0 0.0
.got 4760 4760 0 0.0
.init 27 27 0 0.0
.init_array 600 600 0 0.0
.rodata 404501 404501 0 0.0
.text 6309877 6309861 -16 -0.0
chip-tool-ipv6only arm64 (read only) 7031380 7031364 -16 -0.0
(read/write) 289697 289681 -16 -0.0
.bss 54593 54577 -16 -0.0
.data 1128 1128 0 0.0
.data.rel.ro 185000 185000 0 0.0
.dynamic 560 560 0 0.0
.got 45192 45192 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 387772 387772 0 0.0
.text 6045108 6045092 -16 -0.0
door-lock-app debug (read only) 1854057 1854025 -32 -0.0
(read/write) 117824 117824 0 0.0
.bss 49888 49888 0 0.0
.data 962 962 0 0.0
.data.rel.ro 61552 61552 0 0.0
.dynamic 592 592 0 0.0
.got 4104 4104 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 171516 171516 0 0.0
.text 1534642 1534610 -32 -0.0
lighting-app debug+rpc (read only) 1954785 1954769 -16 -0.0
(read/write) 122784 122784 0 0.0
.bss 50840 50840 0 0.0
.data 1392 1392 0 0.0
.data.rel.ro 65056 65056 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 704 704 0 0.0
.rodata 161265 161265 0 0.0
.text 1639602 1639586 -16 -0.0
ota-provider-app debug (read only) 1633465 1633457 -8 -0.0
(read/write) 87560 87560 0 0.0
.bss 48768 48768 0 0.0
.data 1064 1064 0 0.0
.data.rel.ro 32216 32216 0 0.0
.dynamic 608 608 0 0.0
.got 4240 4240 0 0.0
.init 27 27 0 0.0
.init_array 608 608 0 0.0
.rodata 148190 148198 8 0.0
.text 1368050 1368034 -16 -0.0
ota-requestor-app debug (read only) 1642177 1642153 -24 -0.0
(read/write) 90608 90608 0 0.0
.bss 50080 50080 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 34136 34136 0 0.0
.dynamic 592 592 0 0.0
.got 4032 4032 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 144463 144471 8 0.0
.text 1381570 1381538 -32 -0.0
shell debug (read only) 2277937 2277921 -16 -0.0
(read/write) 147248 147248 0 0.0
.bss 69440 69440 0 0.0
.data 768 768 0 0.0
.data.rel.ro 71360 71360 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 204562 204562 0 0.0
.text 1918530 1918514 -16 -0.0
thermostat-no-ble arm64 (read only) 2087388 2087388 0 0.0
(read/write) 148529 148529 0 0.0
.bss 66209 66209 0 0.0
.data 952 952 0 0.0
.data.rel.ro 74248 74248 0 0.0
.dynamic 560 560 0 0.0
.got 4136 4136 0 0.0
.init 24 24 0 0.0
.init_array 344 344 0 0.0
.rodata 130780 130780 0 0.0
.text 1739280 1739280 0 0.0
tv-app debug (read only) 2408921 2408905 -16 -0.0
(read/write) 318000 318000 0 0.0
.bss 237344 237344 0 0.0
.data 2944 2944 0 0.0
.data.rel.ro 71720 71720 0 0.0
.dynamic 592 592 0 0.0
.got 4520 4520 0 0.0
.init 27 27 0 0.0
.init_array 872 872 0 0.0
.rodata 191948 191948 0 0.0
.text 2046498 2046482 -16 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2384344 2384280 -64 -0.0
.bss 187900 187892 -8 -0.0
.data 5288 5288 0 0.0
.text 1346944 1346880 -64 -0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2338192 2338192 0 0.0
.bss 178176 178168 -8 -0.0
.data 5568 5568 0 0.0
.text 1300792 1300792 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2302296 2302224 -72 -0.0
.bss 178056 178048 -8 -0.0
.data 5552 5552 0 0.0
.text 1264896 1264824 -72 -0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2292964 2292964 0 0.0
.bss 175332 175332 0 0.0
.data 5368 5368 0 0.0
.text 1255536 1255536 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 980539 980539 0 0.0
bss 118544 118540 -4 -0.0
rodata 115840 115840 0 0.0
text 668364 668352 -12 -0.0
nrf52840dk_nrf52840+rpc (read/write) 966115 966067 -48 -0.0
bss 115588 115584 -4 -0.0
rodata 107312 107312 0 0.0
text 664808 664796 -12 -0.0
nrf52840dongle_nrf52840 (read/write) 996623 996575 -48 -0.0
bss 119716 119712 -4 -0.0
rodata 114672 114672 0 0.0
text 673756 673744 -12 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 889754 889706 -48 -0.0
bss 115332 115328 -4 -0.0
rodata 109116 109116 0 0.0
text 584560 584548 -12 -0.0
lock-app nrf52840dk_nrf52840 (read/write) 913151 913151 0 0.0
bss 116904 116900 -4 -0.0
rodata 104476 104476 0 0.0
text 614368 614356 -12 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 823186 823186 0 0.0
bss 113720 113716 -4 -0.0
rodata 97684 97684 0 0.0
text 531344 531332 -12 -0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541779 541779 0 0.0
bss 52588 52588 0 0.0
rodata 50048 50048 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 916011 915995 -16 -0.0
bss 116660 116656 -4 -0.0
rodata 104992 104992 0 0.0
text 616892 616880 -12 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 911171 911155 -16 -0.0
bss 116668 116664 -4 -0.0
rodata 104096 104096 0 0.0
text 612940 612928 -12 -0.0
shell nrf52840dk_nrf52840 (read/write) 798395 798379 -16 -0.0
bss 109776 109772 -4 -0.0
rodata 78352 78352 0 0.0
text 533760 533752 -8 -0.0
p6 all-clusters-app default (read/write) 2445640 2445624 -16 -0.0
.bss 116044 116044 0 0.0
.data 2576 2576 0 0.0
.text 1403904 1403888 -16 -0.0
light-app default (read/write) 2340320 2340304 -16 -0.0
.bss 103364 103364 0 0.0
.data 2408 2408 0 0.0
.text 1298584 1298568 -16 -0.0
lock-app default (read/write) 2305728 2305712 -16 -0.0
.bss 103084 103084 0 0.0
.data 2368 2368 0 0.0
.text 1263992 1263976 -16 -0.0
qpg lighting-app qpg6105+debug (read only) 570700 570684 -16 -0.0
(read/write) 146936 146936 0 0.0
.bss 87520 87512 -8 -0.0
.data 1060 1060 0 0.0
.text 565380 565364 -16 -0.0
lock-app qpg6105+debug (read only) 516816 516800 -16 -0.0
(read/write) 146936 146936 0 0.0
.bss 86960 86952 -8 -0.0
.data 996 996 0 0.0
.text 511496 511480 -16 -0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 845134 845134 0 0.0
bss 85568 85568 0 0.0
noinit 37160 37160 0 0.0
text 592564 592564 0 0.0

Copy link
Contributor

@Damian-Nordic Damian-Nordic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving the fix, but note that on a BLE peripheral closing a BLE endpoint doesn't automatically drops the BLE connection (don't know what's the reason, but see the code:

if (mConnStateFlags.Has(ConnectionStateFlag::kAutoClose))
), but instead the code just calls BLEManagerImpl::NotifyChipConnectionClosed which is not implemented by most platforms (I just added an implementation for Zephyr yesterday).

@bzbarsky-apple
Copy link
Contributor Author

Why aren't we using CHIP_ERROR CloseBleConnection(BLE_CONNECTION_OBJECT connObj);?

Because this code doesn't really have a connection object around.... I could try to figure out where it could get one, if you prefer.

@bzbarsky-apple
Copy link
Contributor Author

but note that on a BLE peripheral closing a BLE endpoint doesn't automatically drops the BLE connection

Indeed, that is a problem the old code had too.

@msandstedt
Copy link
Contributor

Why aren't we using CHIP_ERROR CloseBleConnection(BLE_CONNECTION_OBJECT connObj);?

Because this code doesn't really have a connection object around.... I could try to figure out where it could get one, if you prefer.

It's fine. This is better than crashing.

@msandstedt
Copy link
Contributor

msandstedt commented Feb 1, 2022

Why aren't we using CHIP_ERROR CloseBleConnection(BLE_CONNECTION_OBJECT connObj);?

Because this code doesn't really have a connection object around.... I could try to figure out where it could get one, if you prefer.

It's fine. This is better than crashing.

Oops. Actually it's not. I'm pretty sure that close-all-connections isn't implemented for all platforms.

Never mind. I was thinking of CancelBleIncompleteConnection.

We ended up crashing because
mServer->getBleLayerObject()->mBleEndPoint was null.

The changes mostly remove the changes from project-chip#9845 because those changes
made us try to close some random "whatever last BLE endpoint was
created", even if it's already closed or has nothing to do with our
PASE session.

So instead, just do the same thing as we do for CASE establishment and
tear down all BLE sessions, if we need to tear down anything at all.

The remaining changes are making ReleaseBleConnection private again
and removing the broken mBleEndPoint member from BleLayer.
@github-actions
Copy link

github-actions bot commented Feb 2, 2022

PR #14654: Size comparison from 8bb93af to 49e55f4

Increases (3 builds for esp32, linux)
platform target config section 8bb93af 49e55f4 change % change
esp32 all-clusters-app m5stack (read only) 981907 981931 24 0.0
.flash.text 976523 976547 24 0.0
linux ota-provider-app debug .rodata 147710 147718 8 0.0
ota-requestor-app debug .rodata 143983 143991 8 0.0
Decreases (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg)
platform target config section 8bb93af 49e55f4 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 576670 576650 -20 -0.0
.app_xip_area 483892 483880 -12 -0.0
.bss 75524 75516 -8 -0.0
lock cyw930739m2evb_01 (read/write) 534666 534646 -20 -0.0
.app_xip_area 443456 443444 -12 -0.0
.bss 73996 73988 -8 -0.0
ota-requestor cyw930739m2evb_01 (read/write) 559322 559310 -12 -0.0
.app_xip_area 458808 458796 -12 -0.0
efr32 lighting-app BRD4161A (read only) 842920 842904 -16 -0.0
.text 842912 842896 -16 -0.0
BRD4161A+rpc (read only) 830288 830272 -16 -0.0
.text 830280 830264 -16 -0.0
esp32 all-clusters-app c3devkit (read only) 933880 933868 -12 -0.0
(read/write) 1399794 1399778 -16 -0.0
.dram0.bss 70328 70320 -8 -0.0
.flash.text 933880 933868 -12 -0.0
m5stack (read/write) 464136 464128 -8 -0.0
.dram0.bss 75080 75072 -8 -0.0
k32w light k32w061+release (read/write) 661320 661304 -16 -0.0
.text 578456 578440 -16 -0.0
linux all-clusters-app debug (read only) 2299721 2299689 -32 -0.0
.text 1935794 1935762 -32 -0.0
bridge-app debug+rpc (read only) 1628989 1628957 -32 -0.0
.text 1376501 1376469 -32 -0.0
chip-tool debug (read only) 7086365 7086333 -32 -0.0
.text 6315717 6315685 -32 -0.0
chip-tool-ipv6only arm64 (read only) 7036900 7036884 -16 -0.0
(read/write) 289857 289841 -16 -0.0
.bss 54593 54577 -16 -0.0
.text 6050212 6050196 -16 -0.0
door-lock-app debug (read only) 1850457 1850441 -16 -0.0
.text 1531618 1531602 -16 -0.0
lighting-app debug+rpc (read only) 1951201 1951169 -32 -0.0
.text 1636594 1636562 -32 -0.0
ota-provider-app debug (read only) 1629865 1629857 -8 -0.0
.text 1365026 1365010 -16 -0.0
ota-requestor-app debug (read only) 1638577 1638569 -8 -0.0
.text 1378546 1378530 -16 -0.0
shell debug (read only) 2274345 2274313 -32 -0.0
.text 1915570 1915538 -32 -0.0
tv-app debug (read only) 2404921 2404905 -16 -0.0
.text 2043154 2043138 -16 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2384000 2383936 -64 -0.0
.bss 189244 189236 -8 -0.0
.text 1346600 1346536 -64 -0.0
lighting-app CY8CPROTO_062_4343W+release .bss 178160 178152 -8 -0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2301824 2301816 -8 -0.0
.bss 178040 178032 -8 -0.0
.text 1264424 1264416 -8 -0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 980051 980035 -16 -0.0
bss 118528 118524 -4 -0.0
text 667932 667920 -12 -0.0
nrf52840dk_nrf52840+rpc (read/write) 965627 965611 -16 -0.0
bss 115572 115568 -4 -0.0
text 664376 664364 -12 -0.0
nrf52840dongle_nrf52840 bss 119700 119696 -4 -0.0
text 673324 673312 -12 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 889266 889250 -16 -0.0
bss 115316 115312 -4 -0.0
text 584128 584116 -12 -0.0
lock-app nrf52840dk_nrf52840 (read/write) 912663 912647 -16 -0.0
bss 116888 116884 -4 -0.0
text 613936 613924 -12 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822730 822714 -16 -0.0
bss 113704 113700 -4 -0.0
text 530912 530900 -12 -0.0
pump-app nrf52840dk_nrf52840 (read/write) 915419 915371 -48 -0.0
bss 116644 116640 -4 -0.0
text 616392 616380 -12 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910595 910579 -16 -0.0
bss 116652 116648 -4 -0.0
text 612440 612428 -12 -0.0
shell nrf52840dk_nrf52840 (read/write) 798395 798379 -16 -0.0
bss 109776 109772 -4 -0.0
text 533760 533752 -8 -0.0
p6 light-app default (read/write) 2339624 2339608 -16 -0.0
.text 1297888 1297872 -16 -0.0
lock-app default (read/write) 2305032 2305016 -16 -0.0
.text 1263296 1263280 -16 -0.0
qpg lighting-app qpg6105+debug (read only) 570244 570228 -16 -0.0
.bss 87504 87496 -8 -0.0
.text 564924 564908 -16 -0.0
lock-app qpg6105+debug (read only) 516344 516328 -16 -0.0
.bss 86944 86936 -8 -0.0
.text 511024 511008 -16 -0.0
Full report (43 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 8bb93af 49e55f4 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 576670 576650 -20 -0.0
.app_xip_area 483892 483880 -12 -0.0
.bss 75524 75516 -8 -0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 534666 534646 -20 -0.0
.app_xip_area 443456 443444 -12 -0.0
.bss 73996 73988 -8 -0.0
.data 560 560 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 559322 559310 -12 -0.0
.app_xip_area 458808 458796 -12 -0.0
.bss 82972 82972 0 0.0
.data 504 504 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 842920 842904 -16 -0.0
(read/write) 125056 125056 0 0.0
.bss 123160 123160 0 0.0
.data 1892 1892 0 0.0
.text 842912 842896 -16 -0.0
BRD4161A+rpc (read only) 830288 830272 -16 -0.0
(read/write) 141712 141712 0 0.0
.bss 139720 139720 0 0.0
.data 1992 1992 0 0.0
.text 830280 830264 -16 -0.0
window-app BRD4161A (read only) 815468 815468 0 0.0
(read/write) 123684 123684 0 0.0
.bss 121836 121836 0 0.0
.data 1848 1848 0 0.0
.text 815460 815460 0 0.0
esp32 all-clusters-app c3devkit (read only) 933880 933868 -12 -0.0
(read/write) 1399794 1399778 -16 -0.0
.dram0.bss 70328 70320 -8 -0.0
.dram0.data 14268 14268 0 0.0
.flash.rodata 196296 196296 0 0.0
.flash.text 933880 933868 -12 -0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 981907 981931 24 0.0
(read/write) 464136 464128 -8 -0.0
.dram0.bss 75080 75072 -8 -0.0
.dram0.data 34024 34024 0 0.0
.flash.rodata 222904 222904 0 0.0
.flash.text 976523 976547 24 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 661320 661304 -16 -0.0
.bss 75212 75212 0 0.0
.data 1852 1852 0 0.0
.text 578456 578440 -16 -0.0
lock k32w061+release (read/write) 662396 662396 0 0.0
.bss 75532 75532 0 0.0
.data 1892 1892 0 0.0
.text 579172 579172 0 0.0
linux all-clusters-app debug (read only) 2299721 2299689 -32 -0.0
(read/write) 147104 147104 0 0.0
.bss 63040 63040 0 0.0
.data 1200 1200 0 0.0
.data.rel.ro 77176 77176 0 0.0
.dynamic 592 592 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 203269 203269 0 0.0
.text 1935794 1935762 -32 -0.0
bridge-app debug+rpc (read only) 1628989 1628957 -32 -0.0
(read/write) 87816 87816 0 0.0
.bss 43776 43776 0 0.0
.data 1794 1794 0 0.0
.data.rel.ro 37088 37088 0 0.0
.dynamic 592 592 0 0.0
.got 3968 3968 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 137684 137684 0 0.0
.text 1376501 1376469 -32 -0.0
chip-tool debug (read only) 7086365 7086333 -32 -0.0
(read/write) 187304 187304 0 0.0
.bss 36264 36264 0 0.0
.data 1088 1088 0 0.0
.data.rel.ro 143968 143968 0 0.0
.dynamic 608 608 0 0.0
.got 4760 4760 0 0.0
.init 27 27 0 0.0
.init_array 600 600 0 0.0
.rodata 404597 404597 0 0.0
.text 6315717 6315685 -32 -0.0
chip-tool-ipv6only arm64 (read only) 7036900 7036884 -16 -0.0
(read/write) 289857 289841 -16 -0.0
.bss 54593 54577 -16 -0.0
.data 1128 1128 0 0.0
.data.rel.ro 185152 185152 0 0.0
.dynamic 560 560 0 0.0
.got 45200 45200 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 387804 387804 0 0.0
.text 6050212 6050196 -16 -0.0
door-lock-app debug (read only) 1850457 1850441 -16 -0.0
(read/write) 117728 117728 0 0.0
.bss 49856 49856 0 0.0
.data 962 962 0 0.0
.data.rel.ro 61504 61504 0 0.0
.dynamic 592 592 0 0.0
.got 4104 4104 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 171036 171036 0 0.0
.text 1531618 1531602 -16 -0.0
lighting-app debug+rpc (read only) 1951201 1951169 -32 -0.0
(read/write) 122720 122720 0 0.0
.bss 50808 50808 0 0.0
.data 1392 1392 0 0.0
.data.rel.ro 65024 65024 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 704 704 0 0.0
.rodata 160785 160785 0 0.0
.text 1636594 1636562 -32 -0.0
ota-provider-app debug (read only) 1629865 1629857 -8 -0.0
(read/write) 87464 87464 0 0.0
.bss 48736 48736 0 0.0
.data 1064 1064 0 0.0
.data.rel.ro 32168 32168 0 0.0
.dynamic 608 608 0 0.0
.got 4240 4240 0 0.0
.init 27 27 0 0.0
.init_array 608 608 0 0.0
.rodata 147710 147718 8 0.0
.text 1365026 1365010 -16 -0.0
ota-requestor-app debug (read only) 1638577 1638569 -8 -0.0
(read/write) 90512 90512 0 0.0
.bss 50048 50048 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 34088 34088 0 0.0
.dynamic 592 592 0 0.0
.got 4032 4032 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 143983 143991 8 0.0
.text 1378546 1378530 -16 -0.0
shell debug (read only) 2274345 2274313 -32 -0.0
(read/write) 148880 148880 0 0.0
.bss 70752 70752 0 0.0
.data 768 768 0 0.0
.data.rel.ro 71680 71680 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 204050 204050 0 0.0
.text 1915570 1915538 -32 -0.0
thermostat-no-ble arm64 (read only) 2084140 2084140 0 0.0
(read/write) 148433 148433 0 0.0
.bss 66177 66177 0 0.0
.data 952 952 0 0.0
.data.rel.ro 74192 74192 0 0.0
.dynamic 560 560 0 0.0
.got 4136 4136 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 130588 130588 0 0.0
.text 1736400 1736400 0 0.0
tv-app debug (read only) 2404921 2404905 -16 -0.0
(read/write) 317904 317904 0 0.0
.bss 237312 237312 0 0.0
.data 2944 2944 0 0.0
.data.rel.ro 71656 71656 0 0.0
.dynamic 592 592 0 0.0
.got 4520 4520 0 0.0
.init 27 27 0 0.0
.init_array 872 872 0 0.0
.rodata 191436 191436 0 0.0
.text 2043154 2043138 -16 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2384000 2383936 -64 -0.0
.bss 189244 189236 -8 -0.0
.data 5288 5288 0 0.0
.text 1346600 1346536 -64 -0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2337720 2337720 0 0.0
.bss 178160 178152 -8 -0.0
.data 5568 5568 0 0.0
.text 1300320 1300320 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2301824 2301816 -8 -0.0
.bss 178040 178032 -8 -0.0
.data 5544 5544 0 0.0
.text 1264424 1264416 -8 -0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2292428 2292428 0 0.0
.bss 175316 175316 0 0.0
.data 5368 5368 0 0.0
.text 1255000 1255000 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 980051 980035 -16 -0.0
bss 118528 118524 -4 -0.0
rodata 115816 115816 0 0.0
text 667932 667920 -12 -0.0
nrf52840dk_nrf52840+rpc (read/write) 965627 965611 -16 -0.0
bss 115572 115568 -4 -0.0
rodata 107288 107288 0 0.0
text 664376 664364 -12 -0.0
nrf52840dongle_nrf52840 (read/write) 996119 996119 0 0.0
bss 119700 119696 -4 -0.0
rodata 114648 114648 0 0.0
text 673324 673312 -12 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 889266 889250 -16 -0.0
bss 115316 115312 -4 -0.0
rodata 109092 109092 0 0.0
text 584128 584116 -12 -0.0
lock-app nrf52840dk_nrf52840 (read/write) 912663 912647 -16 -0.0
bss 116888 116884 -4 -0.0
rodata 104452 104452 0 0.0
text 613936 613924 -12 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822730 822714 -16 -0.0
bss 113704 113700 -4 -0.0
rodata 97660 97660 0 0.0
text 530912 530900 -12 -0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541779 541779 0 0.0
bss 52588 52588 0 0.0
rodata 50048 50048 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 915419 915371 -48 -0.0
bss 116644 116640 -4 -0.0
rodata 104912 104912 0 0.0
text 616392 616380 -12 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910595 910579 -16 -0.0
bss 116652 116648 -4 -0.0
rodata 104016 104016 0 0.0
text 612440 612428 -12 -0.0
shell nrf52840dk_nrf52840 (read/write) 798395 798379 -16 -0.0
bss 109776 109772 -4 -0.0
rodata 78352 78352 0 0.0
text 533760 533752 -8 -0.0
p6 all-clusters-app default (read/write) 2445048 2445048 0 0.0
.bss 117388 117388 0 0.0
.data 2576 2576 0 0.0
.text 1403312 1403312 0 0.0
light-app default (read/write) 2339624 2339608 -16 -0.0
.bss 103348 103348 0 0.0
.data 2400 2400 0 0.0
.text 1297888 1297872 -16 -0.0
lock-app default (read/write) 2305032 2305016 -16 -0.0
.bss 103068 103068 0 0.0
.data 2360 2360 0 0.0
.text 1263296 1263280 -16 -0.0
qpg lighting-app qpg6105+debug (read only) 570244 570228 -16 -0.0
(read/write) 146940 146940 0 0.0
.bss 87504 87496 -8 -0.0
.data 1056 1056 0 0.0
.text 564924 564908 -16 -0.0
lock-app qpg6105+debug (read only) 516344 516328 -16 -0.0
(read/write) 146940 146940 0 0.0
.bss 86944 86936 -8 -0.0
.data 992 992 0 0.0
.text 511024 511008 -16 -0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 844626 844626 0 0.0
bss 85552 85552 0 0.0
noinit 37160 37160 0 0.0
text 592126 592126 0 0.0

@bzbarsky-apple bzbarsky-apple merged commit 46ab4be into project-chip:master Feb 2, 2022
@bzbarsky-apple bzbarsky-apple deleted the ble-null-deref branch February 2, 2022 04:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants