diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2023-10-05 17:40:16 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2023-10-06 11:42:31 +0000 |
| commit | 160f76ea821e29048389ecb03e8961c4e9cdf519 (patch) | |
| tree | fd38f69adefd6210f56ea30340954d8a4093d248 /pkg/compiler/testdata | |
| parent | 7e4eb997711a9389137dc3bcaeb000ef1fd669bf (diff) | |
pkg/compiler: support (in) for union fields
We had a problem -- using inout ANYUNION leads to syzkaller generating
copyout instructions for fmt[X, resource] types.
Add a validation rule to detect this during tests.
Fix this by supporting (in) for union fields. Previously, all union
field direction attributes were banned as they were making things more
complicated.
The (in) attribute is definitely safe and allows for more flexibility.
Diffstat (limited to 'pkg/compiler/testdata')
| -rw-r--r-- | pkg/compiler/testdata/errors.txt | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/pkg/compiler/testdata/errors.txt b/pkg/compiler/testdata/errors.txt index 9d625a34b..83b62cfb6 100644 --- a/pkg/compiler/testdata/errors.txt +++ b/pkg/compiler/testdata/errors.txt @@ -419,8 +419,9 @@ union$overlay0 [ ] union$directions [ - f1 int32 (in) ### unknown arg/field f1 attribute in + f1 int32 (in) f2 int32 (out) ### unknown arg/field f2 attribute out + f3 int32 (inout) ### unknown arg/field f3 attribute inout ] |
