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

Properly manage operational key lifecycle for fail-safe #19277

Merged
merged 36 commits into from
Jun 10, 2022

Conversation

tcarmelveilleux
Copy link
Contributor

@tcarmelveilleux tcarmelveilleux commented Jun 7, 2022

Problem

  • Fail-safe did not properly manage the roll-back of operational keys
  • Operational key storage being centralized by value in FabricTable
    prevented ability to back keys by hardware/OS and allow the rollback
    of keys on failsafe expiry
  • CASE code was using "raw" FabricInfo * which could go stale on UpdateNOC
    or after fail-safe expiry.

Fixes #19072
Issue #18633
Fixes #16443

Change overview

  • Adds an OperationalKeystore interface
  • Make the FabricTable use the OperationalKeystore for when
    a commissionable node (with Opcreds cluster) is being commissioned
  • Retain legacy controller behavior that allows injection of operational
    keys
  • Simplifies the fail-safe handling lifecycle
  • Add logging to fail-safe handling
  • Add logging to general commissioning cluster
  • Make CASE use ScopedNodeId everywhere
  • Implement IsForUpdateNOC in fail-safe and opcreds cluster

Testing

  • Unit tests still pass
  • Cert tests still pass
  • Added unit tests for the OperationalKeystore

- Fail-safe did not properly manage the roll-back of operational keys
- Operational key storage being centralized by value in FabricTable
  prevented ability to back keys by hardware/OS and allow the rollback
  of keys on failsafe expiry
- CASE code was using "raw" FabricInfo * which could go stale on UpdateNOC
  or after fail-safe expiry.

This PR:
- Adds an OperationalKeystore interface
- Make the FabricTable use the OperationalKeystore for when
  a commissionable node (with Opcreds cluster) is being commissioned
- Retain legacy controller behavior that allows injection of operational
  keys
- Simplifies the fail-safe handling lifecycle
- Add logging to fail-safe handling
- Add logging to general commissioning cluster
- Make CASE use ScopedNodeId everywhere
- Implement IsForUpdateNOC in fail-safe and opcreds cluster

Fixes project-chip#19072
Issue project-chip#18633
Fixes project-chip#16443
@github-actions
Copy link

github-actions bot commented Jun 9, 2022

PR #19277: Size comparison from 49f6799 to e351173

Increases above 0.2%:

platform target config section 49f6799 e351173 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 689983 692515 2532 0.4
.data 3392 3416 24 0.7
.rodata 112335 112811 476 0.4
.text 577336 579392 2056 0.4
all-clusters-minimal-app LP_CC2652R7 (read only) 640599 643131 2532 0.4
.data 3332 3356 24 0.7
.rodata 89375 89851 476 0.5
.text 550904 552960 2056 0.4
lock-ftd LP_CC2652R7 (read only) 683487 686011 2524 0.4
.data 3256 3280 24 0.7
.rodata 98191 98675 484 0.5
.text 584812 586852 2040 0.3
lock-mtd LP_CC2652R7 (read only) 632895 635435 2540 0.4
.data 3256 3280 24 0.7
.rodata 98079 98563 484 0.5
.text 534324 536380 2056 0.4
pump-app LP_CC2652R7 (read only) 664931 667395 2464 0.4
.data 3292 3316 24 0.7
.rodata 86371 86811 440 0.5
.text 578076 580100 2024 0.4
pump-controller-app LP_CC2652R7 (read only) 655507 657975 2468 0.4
.data 3252 3276 24 0.7
.rodata 84259 84703 444 0.5
.text 570764 572788 2024 0.4
shell LP_CC2652R7 (read only) 682254 684798 2544 0.4
.data 3396 3420 24 0.7
.rodata 108934 109414 480 0.4
.text 573008 575072 2064 0.4
cyw30739 light cyw930739m2evb_01 (read/write) 602578 604650 2072 0.3
.app_xip_area 461524 463548 2024 0.4
.data 732 756 24 3.3
lock cyw930739m2evb_01 (read/write) 599662 601742 2080 0.3
.app_xip_area 458472 460496 2024 0.4
.data 700 724 24 3.4
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599462 601746 2284 0.4
.app_xip_area 459388 461624 2236 0.5
.data 616 640 24 3.9
esp32 all-clusters-app c3devkit .dram0.data 14656 14696 40 0.3
k32w light k32w061+release (read/write) 653792 655992 2200 0.3
.data 2004 2028 24 1.2
.text 575944 578096 2152 0.4
lock k32w061+release (read/write) 714900 717380 2480 0.3
.data 1976 2000 24 1.2
.text 636640 639080 2440 0.4
linux all-clusters-app debug (read only) 2892457 2904305 11848 0.4
.data 2016 2048 32 1.6
.data.rel.ro 83960 84168 208 0.2
.rodata 255485 256413 928 0.4
.text 2462450 2472866 10416 0.4
all-clusters-minimal-app debug (read only) 2753937 2765817 11880 0.4
.data 1888 1920 32 1.7
.data.rel.ro 76584 76792 208 0.3
.rodata 256765 257725 960 0.4
.text 2324658 2335074 10416 0.4
bridge-app debug+rpc (read only) 2198001 2209929 11928 0.5
.data 3888 3952 64 1.6
.data.rel.ro 65400 65608 208 0.3
.rodata 187840 188832 992 0.5
.text 1851250 1861682 10432 0.6
lighting-app debug+rpc (read only) 2482417 2494217 11800 0.5
(read/write) 155136 155456 320 0.2
.data 2032 2064 32 1.6
.data.rel.ro 70888 71096 208 0.3
.rodata 205416 206280 864 0.4
.text 2109410 2119842 10432 0.5
lock-app debug (read only) 2428321 2440105 11784 0.5
.data 1520 1552 32 2.1
.data.rel.ro 67848 68056 208 0.3
.rodata 219400 220264 864 0.4
.text 2046322 2056738 10416 0.5
ota-provider-app debug (read only) 2203817 2214689 10872 0.5
.data 1752 1784 32 1.8
.data.rel.ro 61208 61416 208 0.3
.rodata 191992 192888 896 0.5
.text 1852146 1861618 9472 0.5
ota-requestor-app debug (read only) 2265417 2277201 11784 0.5
.data 1944 1976 32 1.6
.data.rel.ro 63320 63528 208 0.3
.rodata 195296 196192 896 0.5
.text 1906386 1916770 10384 0.5
shell debug (read only) 2584081 2596369 12288 0.5
.data 1328 1392 64 4.8
.data.rel.ro 77392 77632 240 0.3
.rodata 228050 228946 896 0.4
.text 2197410 2208226 10816 0.5
thermostat-no-ble arm64 (read only) 2544028 2554060 10032 0.4
.data 1512 1560 48 3.2
.got 4992 5016 24 0.5
.rodata 160132 160692 560 0.3
.text 2146960 2156000 9040 0.4
tv-app debug (read only) 3035985 3047801 11816 0.4
.data 4656 4688 32 0.7
.data.rel.ro 78232 78440 208 0.3
.rodata 241056 241856 800 0.3
.text 2609746 2620258 10512 0.4
tv-casting-app debug (read only) 5335073 5346921 11848 0.2
.data 2416 2480 64 2.6
.rodata 340544 341504 960 0.3
.text 4643858 4654242 10384 0.2
Increases (27 builds for cc13x2_26x2, cyw30739, esp32, k32w, linux)
platform target config section 49f6799 e351173 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 689983 692515 2532 0.4
.bss 74660 74676 16 0.0
.data 3392 3416 24 0.7
.rodata 112335 112811 476 0.4
.text 577336 579392 2056 0.4
all-clusters-minimal-app LP_CC2652R7 (read only) 640599 643131 2532 0.4
(read/write) 158132 158172 40 0.0
.bss 73884 73900 16 0.0
.data 3332 3356 24 0.7
.rodata 89375 89851 476 0.5
.text 550904 552960 2056 0.4
lock-ftd LP_CC2652R7 (read only) 683487 686011 2524 0.4
.bss 72612 72636 24 0.0
.data 3256 3280 24 0.7
.rodata 98191 98675 484 0.5
.text 584812 586852 2040 0.3
lock-mtd LP_CC2652R7 (read only) 632895 635435 2540 0.4
(read/write) 145720 145768 48 0.0
.bss 68348 68372 24 0.0
.data 3256 3280 24 0.7
.rodata 98079 98563 484 0.5
.text 534324 536380 2056 0.4
pump-app LP_CC2652R7 (read only) 664931 667395 2464 0.4
.bss 72756 72780 24 0.0
.data 3292 3316 24 0.7
.rodata 86371 86811 440 0.5
.text 578076 580100 2024 0.4
pump-controller-app LP_CC2652R7 (read only) 655507 657975 2468 0.4
.bss 72860 72884 24 0.0
.data 3252 3276 24 0.7
.rodata 84259 84703 444 0.5
.text 570764 572788 2024 0.4
shell LP_CC2652R7 (read only) 682254 684798 2544 0.4
.bss 76956 76972 16 0.0
.data 3396 3420 24 0.7
.rodata 108934 109414 480 0.4
.text 573008 575072 2064 0.4
cyw30739 light cyw930739m2evb_01 (read/write) 602578 604650 2072 0.3
.app_xip_area 461524 463548 2024 0.4
.bss 84008 84032 24 0.0
.data 732 756 24 3.3
lock cyw930739m2evb_01 (read/write) 599662 601742 2080 0.3
.app_xip_area 458472 460496 2024 0.4
.bss 84176 84208 32 0.0
.data 700 724 24 3.4
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599462 601746 2284 0.4
.app_xip_area 459388 461624 2236 0.5
.bss 83140 83164 24 0.0
.data 616 640 24 3.9
esp32 all-clusters-app c3devkit (read only) 1007742 1010168 2426 0.2
(read/write) 1481842 1482330 488 0.0
.dram0.bss 69168 69192 24 0.0
.dram0.data 14656 14696 40 0.3
.flash.rodata 212592 213000 408 0.2
.flash.text 1007742 1010168 2426 0.2
m5stack (read only) 1062535 1064647 2112 0.2
(read/write) 483976 484432 456 0.1
.dram0.bss 74688 74712 24 0.0
.dram0.data 34200 34224 24 0.1
.flash.rodata 243092 243500 408 0.2
.flash.text 1057151 1059263 2112 0.2
k32w light k32w061+release (read/write) 653792 655992 2200 0.3
.bss 70044 70068 24 0.0
.data 2004 2028 24 1.2
.text 575944 578096 2152 0.4
lock k32w061+release (read/write) 714900 717380 2480 0.3
.bss 70484 70500 16 0.0
.data 1976 2000 24 1.2
.text 636640 639080 2440 0.4
linux all-clusters-app debug (read only) 2892457 2904305 11848 0.4
(read/write) 180024 180280 256 0.1
.data 2016 2048 32 1.6
.data.rel.ro 83960 84168 208 0.2
.rodata 255485 256413 928 0.4
.text 2462450 2472866 10416 0.4
all-clusters-minimal-app debug (read only) 2753937 2765817 11880 0.4
(read/write) 171640 171896 256 0.1
.data 1888 1920 32 1.7
.data.rel.ro 76584 76792 208 0.3
.rodata 256765 257725 960 0.4
.text 2324658 2335074 10416 0.4
bridge-app debug+rpc (read only) 2198001 2209929 11928 0.5
(read/write) 149528 149816 288 0.2
.data 3888 3952 64 1.6
.data.rel.ro 65400 65608 208 0.3
.rodata 187840 188832 992 0.5
.text 1851250 1861682 10432 0.6
chip-tool debug (read only) 9754405 9757541 3136 0.0
(read/write) 611840 612016 176 0.0
.data.rel.ro 579032 579240 208 0.0
.text 7835237 7838037 2800 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9499468 9502804 3336 0.0
(read/write) 678065 678241 176 0.0
.data.rel.ro 614488 614672 184 0.0
.text 7483188 7486244 3056 0.0
lighting-app debug+rpc (read only) 2482417 2494217 11800 0.5
(read/write) 155136 155456 320 0.2
.bss 76320 76384 64 0.1
.data 2032 2064 32 1.6
.data.rel.ro 70888 71096 208 0.3
.rodata 205416 206280 864 0.4
.text 2109410 2119842 10432 0.5
lock-app debug (read only) 2428321 2440105 11784 0.5
(read/write) 150272 150528 256 0.2
.data 1520 1552 32 2.1
.data.rel.ro 67848 68056 208 0.3
.rodata 219400 220264 864 0.4
.text 2046322 2056738 10416 0.5
ota-provider-app debug (read only) 2203817 2214689 10872 0.5
(read/write) 143264 143488 224 0.2
.data 1752 1784 32 1.8
.data.rel.ro 61208 61416 208 0.3
.rodata 191992 192888 896 0.5
.text 1852146 1861618 9472 0.5
ota-requestor-app debug (read only) 2265417 2277201 11784 0.5
(read/write) 146312 146568 256 0.2
.data 1944 1976 32 1.6
.data.rel.ro 63320 63528 208 0.3
.rodata 195296 196192 896 0.5
.text 1906386 1916770 10384 0.5
shell debug (read only) 2584081 2596369 12288 0.5
(read/write) 203200 203520 320 0.2
.data 1328 1392 64 4.8
.data.rel.ro 77392 77632 240 0.3
.rodata 228050 228946 896 0.4
.text 2197410 2208226 10816 0.5
thermostat-no-ble arm64 (read only) 2544028 2554060 10032 0.4
(read/write) 183073 183345 272 0.1
.bss 91409 91441 32 0.0
.data 1512 1560 48 3.2
.data.rel.ro 82144 82304 160 0.2
.got 4992 5016 24 0.5
.rodata 160132 160692 560 0.3
.text 2146960 2156000 9040 0.4
tv-app debug (read only) 3035985 3047801 11816 0.4
(read/write) 281648 281872 224 0.1
.data 4656 4688 32 0.7
.data.rel.ro 78232 78440 208 0.3
.rodata 241056 241856 800 0.3
.text 2609746 2620258 10512 0.4
tv-casting-app debug (read only) 5335073 5346921 11848 0.2
(read/write) 224032 224320 288 0.1
.bss 80136 80168 32 0.0
.data 2416 2480 64 2.6
.data.rel.ro 135248 135440 192 0.1
.rodata 340544 341504 960 0.3
.text 4643858 4654242 10384 0.2
Decreases (7 builds for cc13x2_26x2, linux)
platform target config section 49f6799 e351173 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 161784 159268 -2516 -1.6
lock-ftd LP_CC2652R7 (read/write) 159344 156844 -2500 -1.6
pump-app LP_CC2652R7 (read/write) 178812 176372 -2440 -1.4
pump-controller-app LP_CC2652R7 (read/write) 188340 185896 -2444 -1.3
shell LP_CC2652R7 (read/write) 165008 162480 -2528 -1.5
linux chip-tool debug .init_array 664 648 -16 -2.4
.rodata 505789 505693 -96 -0.0
chip-tool-no-interactive-ipv6only arm64 .got 14936 14928 -8 -0.1
.rodata 467884 467684 -200 -0.0
Full report (27 builds for cc13x2_26x2, cyw30739, esp32, k32w, linux)
platform target config section 49f6799 e351173 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 689983 692515 2532 0.4
(read/write) 161784 159268 -2516 -1.6
.bss 74660 74676 16 0.0
.data 3392 3416 24 0.7
.rodata 112335 112811 476 0.4
.text 577336 579392 2056 0.4
all-clusters-minimal-app LP_CC2652R7 (read only) 640599 643131 2532 0.4
(read/write) 158132 158172 40 0.0
.bss 73884 73900 16 0.0
.data 3332 3356 24 0.7
.rodata 89375 89851 476 0.5
.text 550904 552960 2056 0.4
lock-ftd LP_CC2652R7 (read only) 683487 686011 2524 0.4
(read/write) 159344 156844 -2500 -1.6
.bss 72612 72636 24 0.0
.data 3256 3280 24 0.7
.rodata 98191 98675 484 0.5
.text 584812 586852 2040 0.3
lock-mtd LP_CC2652R7 (read only) 632895 635435 2540 0.4
(read/write) 145720 145768 48 0.0
.bss 68348 68372 24 0.0
.data 3256 3280 24 0.7
.rodata 98079 98563 484 0.5
.text 534324 536380 2056 0.4
pump-app LP_CC2652R7 (read only) 664931 667395 2464 0.4
(read/write) 178812 176372 -2440 -1.4
.bss 72756 72780 24 0.0
.data 3292 3316 24 0.7
.rodata 86371 86811 440 0.5
.text 578076 580100 2024 0.4
pump-controller-app LP_CC2652R7 (read only) 655507 657975 2468 0.4
(read/write) 188340 185896 -2444 -1.3
.bss 72860 72884 24 0.0
.data 3252 3276 24 0.7
.rodata 84259 84703 444 0.5
.text 570764 572788 2024 0.4
shell LP_CC2652R7 (read only) 682254 684798 2544 0.4
(read/write) 165008 162480 -2528 -1.5
.bss 76956 76972 16 0.0
.data 3396 3420 24 0.7
.rodata 108934 109414 480 0.4
.text 573008 575072 2064 0.4
cyw30739 light cyw930739m2evb_01 (read/write) 602578 604650 2072 0.3
.app_xip_area 461524 463548 2024 0.4
.bss 84008 84032 24 0.0
.data 732 756 24 3.3
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 599662 601742 2080 0.3
.app_xip_area 458472 460496 2024 0.4
.bss 84176 84208 32 0.0
.data 700 724 24 3.4
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599462 601746 2284 0.4
.app_xip_area 459388 461624 2236 0.5
.bss 83140 83164 24 0.0
.data 616 640 24 3.9
.rodata 0 0 0 0.0
.text 112 112 0 0.0
esp32 all-clusters-app c3devkit (read only) 1007742 1010168 2426 0.2
(read/write) 1481842 1482330 488 0.0
.dram0.bss 69168 69192 24 0.0
.dram0.data 14656 14696 40 0.3
.flash.rodata 212592 213000 408 0.2
.flash.text 1007742 1010168 2426 0.2
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1062535 1064647 2112 0.2
(read/write) 483976 484432 456 0.1
.dram0.bss 74688 74712 24 0.0
.dram0.data 34200 34224 24 0.1
.flash.rodata 243092 243500 408 0.2
.flash.text 1057151 1059263 2112 0.2
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 653792 655992 2200 0.3
.bss 70044 70068 24 0.0
.data 2004 2028 24 1.2
.text 575944 578096 2152 0.4
lock k32w061+release (read/write) 714900 717380 2480 0.3
.bss 70484 70500 16 0.0
.data 1976 2000 24 1.2
.text 636640 639080 2440 0.4
linux all-clusters-app debug (read only) 2892457 2904305 11848 0.4
(read/write) 180024 180280 256 0.1
.bss 87840 87840 0 0.0
.data 2016 2048 32 1.6
.data.rel.ro 83960 84168 208 0.2
.dynamic 608 608 0 0.0
.got 4544 4544 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 255485 256413 928 0.4
.text 2462450 2472866 10416 0.4
all-clusters-minimal-app debug (read only) 2753937 2765817 11880 0.4
(read/write) 171640 171896 256 0.1
.bss 87008 87008 0 0.0
.data 1888 1920 32 1.7
.data.rel.ro 76584 76792 208 0.3
.dynamic 608 608 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 256765 257725 960 0.4
.text 2324658 2335074 10416 0.4
bridge-app debug+rpc (read only) 2198001 2209929 11928 0.5
(read/write) 149528 149816 288 0.2
.bss 74496 74496 0 0.0
.data 3888 3952 64 1.6
.data.rel.ro 65400 65608 208 0.3
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 720 720 0 0.0
.rodata 187840 188832 992 0.5
.text 1851250 1861682 10432 0.6
chip-tool debug (read only) 9754405 9757541 3136 0.0
(read/write) 611840 612016 176 0.0
.bss 25408 25408 0 0.0
.data 1088 1088 0 0.0
.data.rel.ro 579032 579240 208 0.0
.dynamic 624 624 0 0.0
.got 5000 5000 0 0.0
.init 27 27 0 0.0
.init_array 664 648 -16 -2.4
.rodata 505789 505693 -96 -0.0
.text 7835237 7838037 2800 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9499468 9502804 3336 0.0
(read/write) 678065 678241 176 0.0
.bss 43681 43681 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 614488 614672 184 0.0
.dynamic 528 528 0 0.0
.got 14936 14928 -8 -0.1
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 467884 467684 -200 -0.0
.text 7483188 7486244 3056 0.0
lighting-app debug+rpc (read only) 2482417 2494217 11800 0.5
(read/write) 155136 155456 320 0.2
.bss 76320 76384 64 0.1
.data 2032 2064 32 1.6
.data.rel.ro 70888 71096 208 0.3
.dynamic 608 608 0 0.0
.got 4432 4432 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 205416 206280 864 0.4
.text 2109410 2119842 10432 0.5
lock-app debug (read only) 2428321 2440105 11784 0.5
(read/write) 150272 150528 256 0.2
.bss 75040 75040 0 0.0
.data 1520 1552 32 2.1
.data.rel.ro 67848 68056 208 0.3
.dynamic 608 608 0 0.0
.got 4432 4432 0 0.0
.init 27 27 0 0.0
.init_array 792 792 0 0.0
.rodata 219400 220264 864 0.4
.text 2046322 2056738 10416 0.5
ota-provider-app debug (read only) 2203817 2214689 10872 0.5
(read/write) 143264 143488 224 0.2
.bss 74496 74496 0 0.0
.data 1752 1784 32 1.8
.data.rel.ro 61208 61416 208 0.3
.dynamic 608 608 0 0.0
.got 4496 4496 0 0.0
.init 27 27 0 0.0
.init_array 664 664 0 0.0
.rodata 191992 192888 896 0.5
.text 1852146 1861618 9472 0.5
ota-requestor-app debug (read only) 2265417 2277201 11784 0.5
(read/write) 146312 146568 256 0.2
.bss 75264 75264 0 0.0
.data 1944 1976 32 1.6
.data.rel.ro 63320 63528 208 0.3
.dynamic 608 608 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 704 704 0 0.0
.rodata 195296 196192 896 0.5
.text 1906386 1916770 10384 0.5
shell debug (read only) 2584081 2596369 12288 0.5
(read/write) 203200 203520 320 0.2
.bss 118728 118728 0 0.0
.data 1328 1392 64 4.8
.data.rel.ro 77392 77632 240 0.3
.dynamic 608 608 0 0.0
.got 4176 4176 0 0.0
.init 27 27 0 0.0
.init_array 944 944 0 0.0
.rodata 228050 228946 896 0.4
.text 2197410 2208226 10816 0.5
thermostat-no-ble arm64 (read only) 2544028 2554060 10032 0.4
(read/write) 183073 183345 272 0.1
.bss 91409 91441 32 0.0
.data 1512 1560 48 3.2
.data.rel.ro 82144 82304 160 0.2
.dynamic 528 528 0 0.0
.got 4992 5016 24 0.5
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 160132 160692 560 0.3
.text 2146960 2156000 9040 0.4
tv-app debug (read only) 3035985 3047801 11816 0.4
(read/write) 281648 281872 224 0.1
.bss 192296 192296 0 0.0
.data 4656 4688 32 0.7
.data.rel.ro 78232 78440 208 0.3
.dynamic 608 608 0 0.0
.got 4848 4848 0 0.0
.init 27 27 0 0.0
.init_array 960 960 0 0.0
.rodata 241056 241856 800 0.3
.text 2609746 2620258 10512 0.4
tv-casting-app debug (read only) 5335073 5346921 11848 0.2
(read/write) 224032 224320 288 0.1
.bss 80136 80168 32 0.0
.data 2416 2480 64 2.6
.data.rel.ro 135248 135440 192 0.1
.dynamic 608 608 0 0.0
.got 4712 4712 0 0.0
.init 27 27 0 0.0
.init_array 880 880 0 0.0
.rodata 340544 341504 960 0.3
.text 4643858 4654242 10384 0.2

@github-actions
Copy link

github-actions bot commented Jun 9, 2022

PR #19277: Size comparison from 47a51ce to 7686d00

Increases above 0.2%:

platform target config section 47a51ce 7686d00 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 689951 692491 2540 0.4
.data 3392 3416 24 0.7
.rodata 112327 112803 476 0.4
.text 577312 579376 2064 0.4
all-clusters-minimal-app LP_CC2652R7 (read only) 640567 643107 2540 0.4
.data 3332 3356 24 0.7
.rodata 89367 89843 476 0.5
.text 550880 552944 2064 0.4
lock-ftd LP_CC2652R7 (read only) 683455 685987 2532 0.4
.data 3256 3280 24 0.7
.rodata 98183 98667 484 0.5
.text 584788 586836 2048 0.4
lock-mtd LP_CC2652R7 (read only) 632871 635403 2532 0.4
.data 3256 3280 24 0.7
.rodata 98071 98555 484 0.5
.text 534308 536356 2048 0.4
pump-app LP_CC2652R7 (read only) 664899 667371 2472 0.4
.data 3292 3316 24 0.7
.rodata 86363 86803 440 0.5
.text 578052 580084 2032 0.4
pump-controller-app LP_CC2652R7 (read only) 655483 657943 2460 0.4
.data 3252 3276 24 0.7
.rodata 84251 84695 444 0.5
.text 570748 572764 2016 0.4
shell LP_CC2652R7 (read only) 682230 684774 2544 0.4
.data 3396 3420 24 0.7
.rodata 108926 109406 480 0.4
.text 572992 575056 2064 0.4
cyw30739 light cyw930739m2evb_01 (read/write) 602562 604634 2072 0.3
.app_xip_area 461508 463532 2024 0.4
.data 732 756 24 3.3
lock cyw930739m2evb_01 (read/write) 599646 601726 2080 0.3
.app_xip_area 458456 460480 2024 0.4
.data 700 724 24 3.4
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599438 601714 2276 0.4
.app_xip_area 459364 461592 2228 0.5
.data 616 640 24 3.9
efr32 lighting-app BRD4161A (read only) 915032 917928 2896 0.3
.data 2088 2112 24 1.1
.text 915024 917920 2896 0.3
BRD4161A+rpc (read only) 949236 952108 2872 0.3
.data 2292 2316 24 1.0
.text 949228 952100 2872 0.3
BRD4161A+rs911x (read only) 790228 793092 2864 0.4
.data 2096 2120 24 1.1
.text 790220 793084 2864 0.4
lock-app BRD4161A+wf200 (read only) 958468 960940 2472 0.3
.data 2064 2088 24 1.2
.text 958460 960932 2472 0.3
window-app BRD4161A (read only) 900088 902976 2888 0.3
.data 2084 2108 24 1.2
.text 900080 902968 2888 0.3
esp32 all-clusters-app c3devkit (read only) 1007720 1010142 2422 0.2
.dram0.data 14656 14696 40 0.3
.flash.text 1007720 1010142 2422 0.2
k32w light k32w061+release (read/write) 653768 655968 2200 0.3
.data 2004 2028 24 1.2
.text 575920 578072 2152 0.4
lock k32w061+release (read/write) 714876 717356 2480 0.3
.data 1976 2000 24 1.2
.text 636616 639056 2440 0.4
linux thermostat-no-ble arm64 (read only) 2544060 2554092 10032 0.4
.data 1512 1560 48 3.2
.got 4992 5016 24 0.5
.rodata 160164 160724 560 0.3
.text 2147040 2156080 9040 0.4
mbed lock-app CY8CPROTO_062_4343W+release .data 5872 5896 24 0.4
nrfconnect all-clusters-app nrf52840dk_nrf52840 rodata 154644 155056 412 0.3
all-clusters-minimal-app nrf52840dk_nrf52840 rodata 131136 131568 432 0.3
p6 all-clusters-app default .data 2808 2832 24 0.9
all-clusters-minimal-app default .data 2752 2776 24 0.9
light-app default .data 2600 2624 24 0.9
lock-app default .data 2576 2600 24 0.9
telink light-switch-app tlsr9518adk80d (read/write) 781696 784636 2940 0.4
text 552570 555012 2442 0.4
lighting-app tlsr9518adk80d (read/write) 801708 804648 2940 0.4
text 569292 571730 2438 0.4
Increases (30 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 47a51ce 7686d00 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 689951 692491 2540 0.4
.bss 74660 74676 16 0.0
.data 3392 3416 24 0.7
.rodata 112327 112803 476 0.4
.text 577312 579376 2064 0.4
all-clusters-minimal-app LP_CC2652R7 (read only) 640567 643107 2540 0.4
(read/write) 158132 158172 40 0.0
.bss 73884 73900 16 0.0
.data 3332 3356 24 0.7
.rodata 89367 89843 476 0.5
.text 550880 552944 2064 0.4
lock-ftd LP_CC2652R7 (read only) 683455 685987 2532 0.4
.bss 72612 72636 24 0.0
.data 3256 3280 24 0.7
.rodata 98183 98667 484 0.5
.text 584788 586836 2048 0.4
lock-mtd LP_CC2652R7 (read only) 632871 635403 2532 0.4
(read/write) 145720 145768 48 0.0
.bss 68348 68372 24 0.0
.data 3256 3280 24 0.7
.rodata 98071 98555 484 0.5
.text 534308 536356 2048 0.4
pump-app LP_CC2652R7 (read only) 664899 667371 2472 0.4
.bss 72756 72780 24 0.0
.data 3292 3316 24 0.7
.rodata 86363 86803 440 0.5
.text 578052 580084 2032 0.4
pump-controller-app LP_CC2652R7 (read only) 655483 657943 2460 0.4
.bss 72860 72884 24 0.0
.data 3252 3276 24 0.7
.rodata 84251 84695 444 0.5
.text 570748 572764 2016 0.4
shell LP_CC2652R7 (read only) 682230 684774 2544 0.4
.bss 76956 76972 16 0.0
.data 3396 3420 24 0.7
.rodata 108926 109406 480 0.4
.text 572992 575056 2064 0.4
cyw30739 light cyw930739m2evb_01 (read/write) 602562 604634 2072 0.3
.app_xip_area 461508 463532 2024 0.4
.bss 84008 84032 24 0.0
.data 732 756 24 3.3
lock cyw930739m2evb_01 (read/write) 599646 601726 2080 0.3
.app_xip_area 458456 460480 2024 0.4
.bss 84176 84208 32 0.0
.data 700 724 24 3.4
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599438 601714 2276 0.4
.app_xip_area 459364 461592 2228 0.5
.bss 83140 83164 24 0.0
.data 616 640 24 3.9
efr32 lighting-app BRD4161A (read only) 915032 917928 2896 0.3
(read/write) 133176 133224 48 0.0
.bss 131088 131112 24 0.0
.data 2088 2112 24 1.1
.text 915024 917920 2896 0.3
BRD4161A+rpc (read only) 949236 952108 2872 0.3
(read/write) 149868 149916 48 0.0
.bss 147576 147600 24 0.0
.data 2292 2316 24 1.0
.text 949228 952100 2872 0.3
BRD4161A+rs911x (read only) 790228 793092 2864 0.4
(read/write) 129460 129508 48 0.0
.bss 127364 127388 24 0.0
.data 2096 2120 24 1.1
.text 790220 793084 2864 0.4
lock-app BRD4161A+wf200 (read only) 958468 960940 2472 0.3
(read/write) 128252 128300 48 0.0
.bss 126188 126212 24 0.0
.data 2064 2088 24 1.2
.text 958460 960932 2472 0.3
window-app BRD4161A (read only) 900088 902976 2888 0.3
(read/write) 133264 133304 40 0.0
.bss 131176 131192 16 0.0
.data 2084 2108 24 1.2
.text 900080 902968 2888 0.3
esp32 all-clusters-app c3devkit (read only) 1007720 1010142 2422 0.2
(read/write) 1481834 1482322 488 0.0
.dram0.bss 69168 69192 24 0.0
.dram0.data 14656 14696 40 0.3
.flash.rodata 212584 212992 408 0.2
.flash.text 1007720 1010142 2422 0.2
m5stack (read only) 1062495 1064607 2112 0.2
(read/write) 483968 484424 456 0.1
.dram0.bss 74688 74712 24 0.0
.dram0.data 34200 34224 24 0.1
.flash.rodata 243084 243492 408 0.2
.flash.text 1057111 1059223 2112 0.2
k32w light k32w061+release (read/write) 653768 655968 2200 0.3
.bss 70044 70068 24 0.0
.data 2004 2028 24 1.2
.text 575920 578072 2152 0.4
lock k32w061+release (read/write) 714876 717356 2480 0.3
.bss 70484 70500 16 0.0
.data 1976 2000 24 1.2
.text 636616 639056 2440 0.4
linux chip-tool-no-interactive-ipv6only arm64 (read only) 9499468 9502724 3256 0.0
(read/write) 678033 678209 176 0.0
.data.rel.ro 614464 614648 184 0.0
.text 7483220 7486196 2976 0.0
thermostat-no-ble arm64 (read only) 2544060 2554092 10032 0.4
(read/write) 183057 183313 256 0.1
.bss 91409 91441 32 0.0
.data 1512 1560 48 3.2
.data.rel.ro 82120 82280 160 0.2
.got 4992 5016 24 0.5
.rodata 160164 160724 560 0.3
.text 2147040 2156080 9040 0.4
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2429656 2432312 2656 0.1
.bss 202692 202708 16 0.0
.data 5872 5896 24 0.4
.text 1392300 1394956 2656 0.2
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1192051 1194423 2372 0.2
bss 141362 141383 21 0.0
rodata 154644 155056 412 0.3
text 817112 819048 1936 0.2
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1139759 1142151 2392 0.2
bss 140579 140600 21 0.0
rodata 131136 131568 432 0.3
text 789160 791100 1940 0.2
p6 all-clusters-app default (read/write) 2544520 2547440 2920 0.1
.bss 137120 137136 16 0.0
.data 2808 2832 24 0.9
.text 1502784 1505704 2920 0.2
all-clusters-minimal-app default (read/write) 2489392 2492312 2920 0.1
.bss 136328 136344 16 0.0
.data 2752 2776 24 0.9
.text 1447656 1450576 2920 0.2
light-app default (read/write) 2421312 2424200 2888 0.1
.bss 129432 129456 24 0.0
.data 2600 2624 24 0.9
.text 1379576 1382464 2888 0.2
lock-app default (read/write) 2441648 2444520 2872 0.1
.bss 129256 129280 24 0.0
.data 2576 2600 24 0.9
.text 1399912 1402784 2872 0.2
telink light-switch-app tlsr9518adk80d (read/write) 781696 784636 2940 0.4
bss 70636 70660 24 0.0
text 552570 555012 2442 0.4
lighting-app tlsr9518adk80d (read/write) 801708 804648 2940 0.4
bss 70888 70912 24 0.0
text 569292 571730 2438 0.4
Decreases (6 builds for cc13x2_26x2, linux)
platform target config section 47a51ce 7686d00 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 161816 159292 -2524 -1.6
lock-ftd LP_CC2652R7 (read/write) 159376 156868 -2508 -1.6
pump-app LP_CC2652R7 (read/write) 178844 176396 -2448 -1.4
pump-controller-app LP_CC2652R7 (read/write) 188364 185928 -2436 -1.3
shell LP_CC2652R7 (read/write) 165032 162504 -2528 -1.5
linux chip-tool-no-interactive-ipv6only arm64 .got 14936 14928 -8 -0.1
.rodata 467916 467716 -200 -0.0
Full report (30 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 47a51ce 7686d00 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 689951 692491 2540 0.4
(read/write) 161816 159292 -2524 -1.6
.bss 74660 74676 16 0.0
.data 3392 3416 24 0.7
.rodata 112327 112803 476 0.4
.text 577312 579376 2064 0.4
all-clusters-minimal-app LP_CC2652R7 (read only) 640567 643107 2540 0.4
(read/write) 158132 158172 40 0.0
.bss 73884 73900 16 0.0
.data 3332 3356 24 0.7
.rodata 89367 89843 476 0.5
.text 550880 552944 2064 0.4
lock-ftd LP_CC2652R7 (read only) 683455 685987 2532 0.4
(read/write) 159376 156868 -2508 -1.6
.bss 72612 72636 24 0.0
.data 3256 3280 24 0.7
.rodata 98183 98667 484 0.5
.text 584788 586836 2048 0.4
lock-mtd LP_CC2652R7 (read only) 632871 635403 2532 0.4
(read/write) 145720 145768 48 0.0
.bss 68348 68372 24 0.0
.data 3256 3280 24 0.7
.rodata 98071 98555 484 0.5
.text 534308 536356 2048 0.4
pump-app LP_CC2652R7 (read only) 664899 667371 2472 0.4
(read/write) 178844 176396 -2448 -1.4
.bss 72756 72780 24 0.0
.data 3292 3316 24 0.7
.rodata 86363 86803 440 0.5
.text 578052 580084 2032 0.4
pump-controller-app LP_CC2652R7 (read only) 655483 657943 2460 0.4
(read/write) 188364 185928 -2436 -1.3
.bss 72860 72884 24 0.0
.data 3252 3276 24 0.7
.rodata 84251 84695 444 0.5
.text 570748 572764 2016 0.4
shell LP_CC2652R7 (read only) 682230 684774 2544 0.4
(read/write) 165032 162504 -2528 -1.5
.bss 76956 76972 16 0.0
.data 3396 3420 24 0.7
.rodata 108926 109406 480 0.4
.text 572992 575056 2064 0.4
cyw30739 light cyw930739m2evb_01 (read/write) 602562 604634 2072 0.3
.app_xip_area 461508 463532 2024 0.4
.bss 84008 84032 24 0.0
.data 732 756 24 3.3
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 599646 601726 2080 0.3
.app_xip_area 458456 460480 2024 0.4
.bss 84176 84208 32 0.0
.data 700 724 24 3.4
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599438 601714 2276 0.4
.app_xip_area 459364 461592 2228 0.5
.bss 83140 83164 24 0.0
.data 616 640 24 3.9
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 915032 917928 2896 0.3
(read/write) 133176 133224 48 0.0
.bss 131088 131112 24 0.0
.data 2088 2112 24 1.1
.text 915024 917920 2896 0.3
BRD4161A+rpc (read only) 949236 952108 2872 0.3
(read/write) 149868 149916 48 0.0
.bss 147576 147600 24 0.0
.data 2292 2316 24 1.0
.text 949228 952100 2872 0.3
BRD4161A+rs911x (read only) 790228 793092 2864 0.4
(read/write) 129460 129508 48 0.0
.bss 127364 127388 24 0.0
.data 2096 2120 24 1.1
.text 790220 793084 2864 0.4
lock-app BRD4161A+wf200 (read only) 958468 960940 2472 0.3
(read/write) 128252 128300 48 0.0
.bss 126188 126212 24 0.0
.data 2064 2088 24 1.2
.text 958460 960932 2472 0.3
window-app BRD4161A (read only) 900088 902976 2888 0.3
(read/write) 133264 133304 40 0.0
.bss 131176 131192 16 0.0
.data 2084 2108 24 1.2
.text 900080 902968 2888 0.3
esp32 all-clusters-app c3devkit (read only) 1007720 1010142 2422 0.2
(read/write) 1481834 1482322 488 0.0
.dram0.bss 69168 69192 24 0.0
.dram0.data 14656 14696 40 0.3
.flash.rodata 212584 212992 408 0.2
.flash.text 1007720 1010142 2422 0.2
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1062495 1064607 2112 0.2
(read/write) 483968 484424 456 0.1
.dram0.bss 74688 74712 24 0.0
.dram0.data 34200 34224 24 0.1
.flash.rodata 243084 243492 408 0.2
.flash.text 1057111 1059223 2112 0.2
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 653768 655968 2200 0.3
.bss 70044 70068 24 0.0
.data 2004 2028 24 1.2
.text 575920 578072 2152 0.4
lock k32w061+release (read/write) 714876 717356 2480 0.3
.bss 70484 70500 16 0.0
.data 1976 2000 24 1.2
.text 636616 639056 2440 0.4
linux chip-tool-no-interactive-ipv6only arm64 (read only) 9499468 9502724 3256 0.0
(read/write) 678033 678209 176 0.0
.bss 43681 43681 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 614464 614648 184 0.0
.dynamic 528 528 0 0.0
.got 14936 14928 -8 -0.1
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 467916 467716 -200 -0.0
.text 7483220 7486196 2976 0.0
thermostat-no-ble arm64 (read only) 2544060 2554092 10032 0.4
(read/write) 183057 183313 256 0.1
.bss 91409 91441 32 0.0
.data 1512 1560 48 3.2
.data.rel.ro 82120 82280 160 0.2
.dynamic 528 528 0 0.0
.got 4992 5016 24 0.5
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 160164 160724 560 0.3
.text 2147040 2156080 9040 0.4
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2429656 2432312 2656 0.1
.bss 202692 202708 16 0.0
.data 5872 5896 24 0.4
.text 1392300 1394956 2656 0.2
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1192051 1194423 2372 0.2
bss 141362 141383 21 0.0
rodata 154644 155056 412 0.3
text 817112 819048 1936 0.2
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1139759 1142151 2392 0.2
bss 140579 140600 21 0.0
rodata 131136 131568 432 0.3
text 789160 791100 1940 0.2
p6 all-clusters-app default (read/write) 2544520 2547440 2920 0.1
.bss 137120 137136 16 0.0
.data 2808 2832 24 0.9
.text 1502784 1505704 2920 0.2
all-clusters-minimal-app default (read/write) 2489392 2492312 2920 0.1
.bss 136328 136344 16 0.0
.data 2752 2776 24 0.9
.text 1447656 1450576 2920 0.2
light-app default (read/write) 2421312 2424200 2888 0.1
.bss 129432 129456 24 0.0
.data 2600 2624 24 0.9
.text 1379576 1382464 2888 0.2
lock-app default (read/write) 2441648 2444520 2872 0.1
.bss 129256 129280 24 0.0
.data 2576 2600 24 0.9
.text 1399912 1402784 2872 0.2
telink light-switch-app tlsr9518adk80d (read/write) 781696 784636 2940 0.4
bss 70636 70660 24 0.0
noinit 40416 40416 0 0.0
text 552570 555012 2442 0.4
lighting-app tlsr9518adk80d (read/write) 801708 804648 2940 0.4
bss 70888 70912 24 0.0
noinit 40416 40416 0 0.0
text 569292 571730 2438 0.4

Co-authored-by: tehampson <thampson@google.com>
src/credentials/FabricTable.h Show resolved Hide resolved
src/credentials/FabricTable.h Show resolved Hide resolved
src/crypto/OperationalKeystore.h Show resolved Hide resolved
@tcarmelveilleux tcarmelveilleux merged commit 4e3930a into project-chip:master Jun 10, 2022
tcarmelveilleux added a commit to tcarmelveilleux/connectedhomeip that referenced this pull request Jun 10, 2022
- Leftover comments follow-up in method docs
tcarmelveilleux added a commit to tcarmelveilleux/connectedhomeip that referenced this pull request Jun 10, 2022
- Semantic merge conflict between project-chip#19277 and project-chip#19261
- One line mismatch
andy31415 pushed a commit that referenced this pull request Jun 10, 2022
- Semantic merge conflict between #19277 and #19261
- One line mismatch
bzbarsky-apple pushed a commit that referenced this pull request Jun 11, 2022
- Leftover comments follow-up in method docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants