Commit 2e223e9
committed
components: declare what the technique discloses, on every component
`addr:` was optional, unvalidated free text that the hardening report
interpolated into prose. 98 components declared it, 15 did not, and the
values had drifted to four spellings -- including phys-extent, which names
a shape `pos` already carries on the wire, and none, which meant "no
address" but rendered as though it meant "system facts".
The field is renamed to discloses: and required of every component, with
each value set from what that component's emitters actually produce. Four
declarations disagreed with their own source: proc_config, boot_config and
proc_cpuinfo each claimed `none` while emitting an address.
Mandatory rather than optional because the JSON publishes each component's
whole KASLD_META block, so this is a per-component field external
consumers read. Present on some components and absent on others, its
absence would encode nothing but which part of the hardening renderer
happens to consult it -- and an absent value cannot be told apart from an
unconsidered omission, which is how the drift went unnoticed. The
vocabulary closes to virtual/physical/both/facts, checked by
check-component-meta. `both` now has users; it was documented and claimed
by nothing.
The report still prefers what a component actually disclosed. The
compile-time surface section reads only that: it already skips everything
but OUTCOME_SUCCESS, so a record attributed to the component always
exists and the declaration could never be reached there. Only the hardware
side-channel section consults it, being the one that lists a component
whether or not it produced anything.
The render tests seeded the old key, so they passed without touching any
of this. They now seed discloses:, and two tests cover the behaviour
itself: observation overrides a contrary declaration, and a component that
produced nothing and declares nothing yields no kind at all.1 parent 99e026f commit 2e223e9
118 files changed
Lines changed: 260 additions & 142 deletions
File tree
- src
- components
- include/kasld
- render
- tests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
| 68 | + | |
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
216 | | - | |
| 216 | + | |
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
| 43 | + | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
197 | 197 | | |
198 | 198 | | |
199 | 199 | | |
200 | | - | |
| 200 | + | |
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
124 | | - | |
| 124 | + | |
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
| |||
0 commit comments