[PATCH] D123958: [randstruct] Randomize all elements of a record
Kees Cook via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 19 11:02:13 PDT 2022
kees added a comment.
In D123958#3459205 <https://reviews.llvm.org/D123958#3459205>, @aaron.ballman wrote:
> I had assumed that any structure not marked for randomization would not be randomized. Based on that, I don't think inner structure objects (anonymous or otherwise) should automatically randomize their fields. WDYT?
Correct, inner structs should be evaluated without looking at the state of the outer randomization.
struct mixed {
int a;
float b;
} __attribute__((randomize_layout));
struct ordered {
int foo;
char bar[8];
};
struct composite {
int one;
struct mixed two;
struct ordered three;
struct {
unsigned long am;
double ordered;
};
} __attribute__((randomize_layout));
- Each of the member's relative positions of `struct composite` should be randomized: one, two, three, anon struct.
- The members of `two` should be randomized.
- The members of `three` should //not// be randomized.
- The members of the anon struct should //not// be randomized.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123958/new/
https://reviews.llvm.org/D123958
More information about the cfe-commits
mailing list