1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
Linux kernel uprev UAPI investigations
FEX currently exposes kernel version up to 5.18. Need to investigate UAPI changes to ensure it's safe to uprev.
- 5.19
- Seems fine without any changes.
- Detected Changes
- si_perf_flags added to siginfo. FEX doesn't support.
- SO_RCVMARK Added to socket. FEX never touches
- agpgart changes. FEX doesn't support.
- BPF added some stuff. FEX doesn't support.
- io_uring changing some structs. Strictly padded so will just work.
- io_uring async ioctls added. FEX doesn't have coverage. Should just work.
- landlock added a bit. FEX doesn't care.
- Syscalls
- None added.
- DRM
- Already handled.
- 6.0
- Seems fine without any changes.
- Detected Changes
- BPF added some stuff. FEX doesn't support.
- dma_buf added two new ioctls. FEX doesn't have coverage. Should just work.
- io_uring added more flags. Should just work.
- v4l2 has some new structs. No coverage. So if it is broken we wouldn't know anyway. Not like x86 apps care about v4l2.
- HabanaLabs added some stuff. Don't care if it is broken.
- Syscalls
- None added.
- DRM
- Already handled.
- 6.1
- Seems fine without any changes.
- Detected Changes
- MADV_COLLAPSE added. Will just work.
- Panfrost added some userspace coredump stuff. Looks padded fine.
- More BPF stuff.
- io_uring added a couple things. Should just work.
- Syscalls
- None added.
- DRM
- Already handled.
- 6.2
- Seems fine without any changes.
- Detected Changes
- BPF added more stuff again.
- btrfs added some stuff. We don't care about this.
- Fuse adds some parallel write support. Will be fine.
- iommufd ioctls added. They fucked up tail padding on some of these ioctls but since I have no idea what this is for, I don't care.
- landlock added fs_truncate. Will be fine.
- HabanaLabs added more things. Still don't care.
- Syscalls
- None added.
- DRM
- Already handled. #2590
- 6.3
- Needs work to expose because of the new prctl!
- Detected Changes
- `drm_amdgpu_info_device` added more elements. Will be fine.
- i810 drm removed.
- ivpu drm added. This is their FPGA vision system thing. Packing seems fine. Will fall down generic path and print a warning.
- mga_drm removed
- r128_drm removed
- savage_drm removed
- sis_drm removed
- via_drm removed
- BPF added more stuff again.
- fuse added some stuff. Should be fine.
- prctl PR_{GET,SET}_MDWE added.
- This is dangerous for FEX! It disallows allocating any more memory as `WX`. Which means as soon as this is called, FEX's JIT breaks.
- Can't be undone once enabled. Will likely need to be emulated in syscall handlers.
- rseq adds more fields, should be fine.
- v4l2 adds two new ioctls. Don't care.
- Syscalls
- None added.
- DRM
- amdgpu: Adds some more queries to `IOCTL_AMDGPU_INFO`. FEX doesn't care.
- msm: Default BO_FLAGS options adds `NO_IMPLICIT`. FEX doesn't care.
- 6.4+ (Not released as of 2023-04-09)
- drm/amdgpu: https://patchwork.freedesktop.org/patch/531519/
- Needs release before full investigation.
- 6.5
- cachestat syscall
- new SNDRV ioctls (Needs investigation)
- **Things that FEX doesn't care about**
- Some drm additions that don't change ABI
- bpf additions
- New eventfd flags
- New fcntl `AT_HANDLE_FID` flag
- New FUSE `FUSE_HAS_EXPIRE_ONLY` flag
- new io_uring flags
- new mount flags
- New v4l2 flags
- new VFIO flags
- new asound flags
- 6.6
- fchmodat syscall
- new `DRM_IOCTL_SYNCOBJ_EVENTFD` ioctl (already implemented)
- New seccomp flags
- `SECCOMP_USER_NOTIF_FD_SYNC_WAKE_UP`
- `SECCOMP_IOCTL_NOTIF_SET_FLAGS`
- Will matter when FEX supports user_notif
- **Things that FEX doesn't care about**
- fuse statx thing
- io_uring flags
- iommufd ioctls
- vfio additions
- 6.7
- New syscalls - already implemented
- map_shadow_stack, futex_wake, futex_wait, futex_requeue
- **Things that FEX doesn't care about**
- btrfs things
- new fuse flags
- New futex2 flags for 8-bit, 16-bit, 32-bit, 64-bit sizes
- io_uring changes
- iommufd again
- landlock changes
- more vfio changes
- 6.8
- syscall additions
- statmount, listmount, lsm_get_self_attr, lsm_set_self_attr, lsm_list_modules
- more drm ioctl changes
- pvr_drm
- v3d ioctls
- xe_drm
- virtgpu drm flags
- **Things that FEX doesn't care about**
- bpf changes
- soft pages flag thing
- more iommufd things
- kvm changes
- lsm stuff
- mount flags
- netdev changes
- sync_file dead line ioctl
- v4l2 changes
- virtio changes
- asound flag changes
- 6.9
- **Things that FEX doesn't care about**
- i915 guc change
- More bpf changes
- fs ioctl changes
- fuse changes (fopen passthrough!)
- io_uring changes
- kfd_ioctl changes
- kvm changes
- virtio gpu capset changes
- virtio sound stuff
- auxv
- AT_HWCAP3, AT_HWCAP4
- Reserved for PowerPC things, x86 won't use it yet.
- 6.10
- mseal syscall
- panthor_drm
- xe_drm changes
- fcntl notification flags
- Will just get passed through (F_NOTIFY, F_DUPFD_QUERY)
- NTSYNC semaphore ioctl!
- Nothing for FEX to do here, will get passed through
- **Things that FEX doesn't care about**
- i915 changes
- bpf changes
- ethtool changes
- landlock flags
- trace mmap ioctl
- more v4l2 changes
- virtio_net changes
- 6.11
- getrandom inside of vdso
- **Things that FEX doesn't care about**
- bpf additions
- btrfs additions
- ethtool things
- procmap_query ioctl - We don't emulate any procfs ioctls
- iommufd things?
- kfd_ioctl additions
- kvm things
- landlock things
- pi things
- mount namespace id ioctl adding
- tcp metrics
- statx atomic write fields
- 6.12
- some new ioctls
- asound added some at least
- Needs more investigation
- 6.13
- New drm base ioctl
- New xattr syscalls
- Needs more investigation.
|