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

Enforce spec limit on the location in OTA QueryImage. #10786

Merged

Conversation

bzbarsky-apple
Copy link
Contributor

Fixes #7112

Also fixes missing return if the metadata size was wrong, which would
lead to us trying to process the command anyway.

Problem

See above

Change overview

See above

Testing

We don't seem to have any sort of testing for this cluster yet; should stand some up....

@bzbarsky-apple
Copy link
Contributor Author

/rebase

Fixes project-chip#7112

Also fixes missing return if the metadata size was wrong, which would
lead to us trying to process the command anyway.
@woody-apple woody-apple force-pushed the ota-provider-size-check branch from a15cb7c to 31bd33d Compare October 21, 2021 18:17
@github-actions
Copy link

github-actions bot commented Oct 21, 2021

PR #10786: Size comparison from caeb26b to 31bd33d

5 builds (for p6, qpg, telink)
platform target config section caeb26b 31bd33db change % change
p6 lock-app default .bss 68208 68208 0 0.0
.data 2416 2416 0 0.0
.heap 962720 962720 0 0.0
.text 1126072 1126072 0 0.0
qpg lighting-app qpg6100+debug .bss 53552 53552 0 0.0
.data 996 996 0 0.0
.text 486132 486132 0 0.0
lock-app qpg6100+debug .bss 52496 52496 0 0.0
.data 952 952 0 0.0
.text 462208 462208 0 0.0
persistent-storage-app qpg6100+debug .bss 17778 17778 0 0.0
.data 280 280 0 0.0
.text 102732 102732 0 0.0
telink lighting-app tlsr9518adk80d bss 70992 70992 0 0.0
noinit 33216 33216 0 0.0
text 457772 457772 0 0.0
29 builds (for efr32, esp32, k32w, linux, mbed, nrfconnect)
platform target config section caeb26b 31bd33db change % change
efr32 lighting-app BRD4161A .bss 118028 118028 0 0.0
.data 1800 1800 0 0.0
.text 782392 782392 0 0.0
lock-app BRD4161A .bss 115884 115884 0 0.0
.data 1760 1760 0 0.0
.text 761528 761528 0 0.0
window-app BRD4161A .bss 116204 116204 0 0.0
.data 1764 1764 0 0.0
.text 762444 762444 0 0.0
lighting-app BRD4161A+rpc .bss 131356 131356 0 0.0
.data 1852 1852 0 0.0
.text 762108 762108 0 0.0
esp32 all-clusters-app c3devkit .dram0.bss 60296 60296 0 0.0
.dram0.data 16432 16432 0 0.0
.flash.rodata 199072 199112 40 0.0
.flash.text 873290 873310 20 0.0
.iram0.text 57564 57564 0 0.0
m5stack .dram0.bss 62800 62800 0 0.0
.dram0.data 32084 32084 0 0.0
.flash.rodata 207832 207872 40 0.0
.flash.text 904283 904303 20 0.0
.iram0.text 125115 125115 0 0.0
k32w lock-app k32w061+debug .bss 69060 69060 0 0.0
.data 1864 1864 0 0.0
.text 515168 515168 0 0.0
shell k32w061+debug .bss 55080 55080 0 0.0
.data 672 672 0 0.0
.text 357384 357384 0 0.0
lighting-app k32w061+se05x+release .bss 78584 78584 0 0.0
.data 1900 1900 0 0.0
.text 613952 613952 0 0.0
linux all-clusters-app debug .bss 52176 52176 0 0.0
.data 978 978 0 0.0
.data.rel.ro 59072 59072 0 0.0
.dynamic 592 592 0 0.0
.got 4080 4080 0 0.0
.init 27 27 0 0.0
.init_array 512 512 0 0.0
.rodata 136149 136181 32 0.0
.text 1340978 1341074 96 0.0
chip-tool debug .bss 17520 17520 0 0.0
.data 1584 1584 0 0.0
.data.rel.ro 91984 91984 0 0.0
.dynamic 592 592 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 416 416 0 0.0
.rodata 183492 183492 0 0.0
.text 3455893 3455893 0 0.0
ota-provider-app debug .bss 37440 37440 0 0.0
.data 752 752 0 0.0
.data.rel.ro 23176 23176 0 0.0
.dynamic 592 592 0 0.0
.got 4008 4008 0 0.0
.init 27 27 0 0.0
.init_array 440 440 0 0.0
.rodata 109928 109960 32 0.0
.text 1008626 1008722 96 0.0
ota-requestor-app debug .bss 205696 205696 0 0.0
.data 752 752 0 0.0
.data.rel.ro 24488 24488 0 0.0
.dynamic 592 592 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 512 512 0 0.0
.rodata 128072 128072 0 0.0
.text 1127170 1127170 0 0.0
shell debug .bss 16072 16072 0 0.0
.data 242 242 0 0.0
.data.rel.ro 35120 35120 0 0.0
.dynamic 592 592 0 0.0
.got 3496 3496 0 0.0
.init 27 27 0 0.0
.init_array 336 336 0 0.0
.rodata 71823 71823 0 0.0
.text 569778 569778 0 0.0
tv-app debug .bss 216560 216560 0 0.0
.data 2032 2032 0 0.0
.data.rel.ro 56096 56096 0 0.0
.dynamic 592 592 0 0.0
.got 4400 4400 0 0.0
.init 27 27 0 0.0
.init_array 608 608 0 0.0
.rodata 152680 152712 32 0.0
.text 1441986 1442082 96 0.0
bridge-app debug+rpc .bss 52880 52880 0 0.0
.data 976 976 0 0.0
.data.rel.ro 25784 25784 0 0.0
.dynamic 592 592 0 0.0
.got 3944 3944 0 0.0
.init 27 27 0 0.0
.init_array 400 400 0 0.0
.rodata 110524 110524 0 0.0
.text 1049909 1049909 0 0.0
lighting-app debug+rpc .bss 42200 42200 0 0.0
.data 1106 1106 0 0.0
.data.rel.ro 52496 52496 0 0.0
.dynamic 608 608 0 0.0
.got 4104 4104 0 0.0
.init 27 27 0 0.0
.init_array 528 528 0 0.0
.rodata 127697 127697 0 0.0
.text 1250050 1250050 0 0.0
mbed lighting-app CY8CPROTO_062_4343W+release .bss 172092 172092 0 0.0
.data 5464 5464 0 0.0
.heap 858888 858888 0 0.0
.text 1219728 1219728 0 0.0
lock-app CY8CPROTO_062_4343W+release .bss 171012 171012 0 0.0
.data 5432 5432 0 0.0
.heap 860000 860000 0 0.0
.text 1197560 1197560 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 bss 113172 113172 0 0.0
rodata 97740 97740 0 0.0
text 577308 577308 0 0.0
lock-app nrf52840dk_nrf52840 bss 112240 112240 0 0.0
rodata 94076 94076 0 0.0
text 558796 558796 0 0.0
pigweed-app nrf52840dk_nrf52840 bss 51824 51824 0 0.0
rodata 45776 45776 0 0.0
text 339456 339456 0 0.0
pump-app nrf52840dk_nrf52840 bss 112308 112308 0 0.0
rodata 95056 95056 0 0.0
text 561952 561952 0 0.0
pump-controller-app nrf52840dk_nrf52840 bss 112248 112248 0 0.0
rodata 94136 94136 0 0.0
text 558588 558588 0 0.0
shell nrf52840dk_nrf52840 bss 109068 109068 0 0.0
rodata 71644 71644 0 0.0
text 519084 519084 0 0.0
lighting-app nrf52840dk_nrf52840+rpc bss 109416 109416 0 0.0
rodata 88524 88524 0 0.0
text 550508 550508 0 0.0
nrf5340dk_nrf5340_cpuapp bss 114548 114548 0 0.0
rodata 92980 92980 0 0.0
text 506776 506776 0 0.0
lock-app nrf5340dk_nrf5340_cpuapp bss 113612 113612 0 0.0
rodata 89336 89336 0 0.0
text 488260 488260 0 0.0
shell nrf5340dk_nrf5340_cpuapp bss 110052 110052 0 0.0
rodata 66288 66288 0 0.0
text 439696 439696 0 0.0

@github-actions
Copy link

Size increase report for "esp32-example-build" from caeb26b

File Section File VM
chip-all-clusters-app.elf .flash.rodata 40 40
chip-all-clusters-app.elf .flash.text 20 20
Full report output
BLOAT REPORT

Files found only in the build output:
    report.csv

Comparing ./master_artifact/chip-all-clusters-app.elf and ./pull_artifact/chip-all-clusters-app.elf:

sections,vmsize,filesize
.debug_loc,0,63
.debug_line,0,50
.flash.rodata,40,40
.debug_info,0,31
.flash.text,20,20
.debug_str,0,13
.debug_abbrev,0,10
.riscv.attributes,0,1
[Unmapped],0,-60


@github-actions
Copy link

github-actions bot commented Oct 21, 2021

PR #10786: Size comparison from caeb26b to a6f4561

1 build (for p6)
platform target config section caeb26b a6f45611 change % change
p6 lock-app default .bss 68208 68208 0 0.0
.data 2416 2416 0 0.0
.heap 962720 962720 0 0.0
.text 1126072 1126088 16 0.0
21 builds (for efr32, k32w, linux, mbed, qpg, telink)
platform target config section caeb26b a6f45611 change % change
efr32 lighting-app BRD4161A .bss 118028 118028 0 0.0
.data 1800 1800 0 0.0
.text 782392 782424 32 0.0
lock-app BRD4161A .bss 115884 115884 0 0.0
.data 1760 1760 0 0.0
.text 761528 761544 16 0.0
window-app BRD4161A .bss 116204 116204 0 0.0
.data 1764 1764 0 0.0
.text 762444 762460 16 0.0
lighting-app BRD4161A+rpc .bss 131356 131356 0 0.0
.data 1852 1852 0 0.0
.text 762108 762124 16 0.0
k32w lock-app k32w061+debug .bss 69060 69060 0 0.0
.data 1864 1864 0 0.0
.text 515168 515200 32 0.0
shell k32w061+debug .bss 55080 55080 0 0.0
.data 672 672 0 0.0
.text 357384 357416 32 0.0
lighting-app k32w061+se05x+release .bss 78584 78584 0 0.0
.data 1900 1900 0 0.0
.text 613952 613984 32 0.0
linux all-clusters-app debug .bss 52176 52176 0 0.0
.data 978 978 0 0.0
.data.rel.ro 59072 59072 0 0.0
.dynamic 592 592 0 0.0
.got 4080 4080 0 0.0
.init 27 27 0 0.0
.init_array 512 512 0 0.0
.rodata 136149 136277 128 0.1
.text 1340978 1341506 528 0.0
chip-tool debug .bss 17520 17520 0 0.0
.data 1584 1584 0 0.0
.data.rel.ro 91984 91984 0 0.0
.dynamic 592 592 0 0.0
.got 4344 4344 0 0.0
.init 27 27 0 0.0
.init_array 416 416 0 0.0
.rodata 183492 183524 32 0.0
.text 3455893 3456293 400 0.0
ota-provider-app debug .bss 37440 37440 0 0.0
.data 752 752 0 0.0
.data.rel.ro 23176 23176 0 0.0
.dynamic 592 592 0 0.0
.got 4008 4008 0 0.0
.init 27 27 0 0.0
.init_array 440 440 0 0.0
.rodata 109928 110024 96 0.1
.text 1008626 1009106 480 0.0
ota-requestor-app debug .bss 205696 205696 0 0.0
.data 752 752 0 0.0
.data.rel.ro 24488 24488 0 0.0
.dynamic 592 592 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 512 512 0 0.0
.rodata 128072 128104 32 0.0
.text 1127170 1127554 384 0.0
shell debug .bss 16072 16072 0 0.0
.data 242 242 0 0.0
.data.rel.ro 35120 35120 0 0.0
.dynamic 592 592 0 0.0
.got 3496 3496 0 0.0
.init 27 27 0 0.0
.init_array 336 336 0 0.0
.rodata 71823 71855 32 0.0
.text 569778 570242 464 0.1
tv-app debug .bss 216560 216560 0 0.0
.data 2032 2032 0 0.0
.data.rel.ro 56096 56096 0 0.0
.dynamic 592 592 0 0.0
.got 4400 4400 0 0.0
.init 27 27 0 0.0
.init_array 608 608 0 0.0
.rodata 152680 152744 64 0.0
.text 1441986 1442530 544 0.0
bridge-app debug+rpc .bss 52880 52880 0 0.0
.data 976 976 0 0.0
.data.rel.ro 25784 25784 0 0.0
.dynamic 592 592 0 0.0
.got 3944 3944 0 0.0
.init 27 27 0 0.0
.init_array 400 400 0 0.0
.rodata 110524 110556 32 0.0
.text 1049909 1050277 368 0.0
lighting-app debug+rpc .bss 42200 42200 0 0.0
.data 1106 1106 0 0.0
.data.rel.ro 52496 52496 0 0.0
.dynamic 608 608 0 0.0
.got 4104 4104 0 0.0
.init 27 27 0 0.0
.init_array 528 528 0 0.0
.rodata 127697 127729 32 0.0
.text 1250050 1250498 448 0.0
mbed lighting-app CY8CPROTO_062_4343W+release .bss 172092 172092 0 0.0
.data 5464 5464 0 0.0
.heap 858888 858888 0 0.0
.text 1219728 1219720 -8 -0.0
lock-app CY8CPROTO_062_4343W+release .bss 171012 171012 0 0.0
.data 5432 5432 0 0.0
.heap 860000 860000 0 0.0
.text 1197560 1197616 56 0.0
qpg lighting-app qpg6100+debug .bss 53552 53552 0 0.0
.data 996 996 0 0.0
.text 486132 486164 32 0.0
lock-app qpg6100+debug .bss 52496 52496 0 0.0
.data 952 952 0 0.0
.text 462208 462240 32 0.0
persistent-storage-app qpg6100+debug .bss 17778 17778 0 0.0
.data 280 280 0 0.0
.text 102732 102756 24 0.0
telink lighting-app tlsr9518adk80d bss 70992 70992 0 0.0
noinit 33216 33216 0 0.0
text 457772 457820 48 0.0
12 builds (for esp32, nrfconnect)
platform target config section caeb26b a6f45611 change % change
esp32 all-clusters-app c3devkit .dram0.bss 60296 60296 0 0.0
.dram0.data 16432 16432 0 0.0
.flash.rodata 199072 199120 48 0.0
.flash.text 873290 873338 48 0.0
.iram0.text 57564 57564 0 0.0
m5stack .dram0.bss 62800 62800 0 0.0
.dram0.data 32084 32084 0 0.0
.flash.rodata 207832 207880 48 0.0
.flash.text 904283 904403 120 0.0
.iram0.text 125115 125115 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 bss 113172 113172 0 0.0
rodata 97740 97740 0 0.0
text 577308 577332 24 0.0
lock-app nrf52840dk_nrf52840 bss 112240 112240 0 0.0
rodata 94076 94076 0 0.0
text 558796 558820 24 0.0
pigweed-app nrf52840dk_nrf52840 bss 51824 51824 0 0.0
rodata 45776 45776 0 0.0
text 339456 339456 0 0.0
pump-app nrf52840dk_nrf52840 bss 112308 112308 0 0.0
rodata 95056 95056 0 0.0
text 561952 561972 20 0.0
pump-controller-app nrf52840dk_nrf52840 bss 112248 112248 0 0.0
rodata 94136 94136 0 0.0
text 558588 558612 24 0.0
shell nrf52840dk_nrf52840 bss 109068 109068 0 0.0
rodata 71644 71644 0 0.0
text 519084 519104 20 0.0
lighting-app nrf52840dk_nrf52840+rpc bss 109416 109416 0 0.0
rodata 88524 88524 0 0.0
text 550508 550532 24 0.0
nrf5340dk_nrf5340_cpuapp bss 114548 114548 0 0.0
rodata 92980 92980 0 0.0
text 506776 506800 24 0.0
lock-app nrf5340dk_nrf5340_cpuapp bss 113612 113612 0 0.0
rodata 89336 89336 0 0.0
text 488260 488284 24 0.0
shell nrf5340dk_nrf5340_cpuapp bss 110052 110052 0 0.0
rodata 66288 66288 0 0.0
text 439696 439720 24 0.0

@woody-apple
Copy link
Contributor

@bzbarsky-apple bzbarsky-apple merged commit e282eec into project-chip:master Oct 22, 2021
@bzbarsky-apple bzbarsky-apple deleted the ota-provider-size-check branch October 22, 2021 18:18
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.

[OTA Server] change "location" parameter code once CHAR_STRING is supported
5 participants