jsing [Fri, 17 Feb 2023 05:30:20 +0000 (05:30 +0000)]
Remove now unused tangle of mul*/sqr* and BN_UMULT_* macros.
No, I'm not trying to overwhelm you... however, we really no longer need
this clutter.
ok tb@
jsing [Fri, 17 Feb 2023 05:13:34 +0000 (05:13 +0000)]
Reimplement bn_sqr_comba{4,8}().
Use bignum primitives rather than the current mess of macros.The sqr_add_c
macro gets replaced with bn_mulw_addtw(), while the sqr_add_c2 macro gets
replaced with bn_mul2_mulw_addtw().
The variables in the comba functions have also been reordered, so that the
patterns are easier to understand - the compiler can take care of
optimising the inputs and outputs to avoid register moves.
ok tb@
dtucker [Fri, 17 Feb 2023 04:22:50 +0000 (04:22 +0000)]
Remove now-unused compat bit SSH_BUG_RSASIGMD5. The code to set this
was removed in OpenSSH 7.7 when support for SSH implementations dating
back to before RFC standardization were removed. "burn it all" djm@
dtucker [Fri, 17 Feb 2023 03:06:18 +0000 (03:06 +0000)]
Remove now-unused compat bit SSH_BUG_BIGENDIANAES. This was
previously set for OpenSSH 2.3 (released in 2000) but this check
was removed in OpenSSH 7.7 (2018). ok djm@ deraadt@
jmc [Thu, 16 Feb 2023 20:33:07 +0000 (20:33 +0000)]
- remove a leftover .El
- escape "An" as this is also a macro
miod [Thu, 16 Feb 2023 20:32:39 +0000 (20:32 +0000)]
Remove obsolete __HAVE_VM_PAGE_MD define - all platforms provide vm_page_md
those days, and nothing checks for that symbol anymore.
job [Thu, 16 Feb 2023 20:06:15 +0000 (20:06 +0000)]
Update references in STANDARDS section to use Rs blocks
Also drop largely irrelevant references like IPv6 and CIDR
(as we didn't reference IPv4 either), remove obsoleted RFCs and add
their successors.
kn [Thu, 16 Feb 2023 18:10:28 +0000 (18:10 +0000)]
Rewrite bsort() from hand-rolled recursive to simpler iterative reusing code
ksh(1) can sort itself and addel() ensures uniqueness, so reuse both to get
a much simpler shell version of `sort -u' that is bug-for-bug compatible
with the old one but shorter and easier to tweak/reason about.
OK afresh1
kettenis [Thu, 16 Feb 2023 14:44:48 +0000 (14:44 +0000)]
Enable dwqe(4).
kettenis [Thu, 16 Feb 2023 14:43:53 +0000 (14:43 +0000)]
Fix MAC address register offsets.
ok patrick@
tb [Thu, 16 Feb 2023 14:34:34 +0000 (14:34 +0000)]
Revert r1.63.
GEN_OTHERNAME is the type of a GENERAL_NAMES, not of a DIST_POINT_NAME,
which needs naked numbers as there is no enum nor defines describing it.
claudio agrees
job [Thu, 16 Feb 2023 14:25:27 +0000 (14:25 +0000)]
Add missing RFC 6487 section 4.8.6 CRLDP compliance checks
OK tb@ claudio@
jsing [Thu, 16 Feb 2023 11:13:05 +0000 (11:13 +0000)]
Enable s2n-bignum word_clz() on amd64.
The BN_num_bits_word() function is a hot path, being called more than
80 million times during a libcrypto regress run. The word_clz()
implementation uses five instructions to do the same as the generic code
that uses more than 60 instructions.
Discussed with tb@
jsing [Thu, 16 Feb 2023 10:58:06 +0000 (10:58 +0000)]
Use bn_addw() in bn_mulw(), rather than duplicating add with carry code.
jsing [Thu, 16 Feb 2023 10:54:20 +0000 (10:54 +0000)]
Change include from _internal_s2n_bignum.h to s2n_bignum_internal.h.
jsing [Thu, 16 Feb 2023 10:53:18 +0000 (10:53 +0000)]
Include the ISC license from s2n-bignum's LICENSE file.
jsing [Thu, 16 Feb 2023 10:51:58 +0000 (10:51 +0000)]
Bring in word_clz.S from s2n-bignum for amd64.
jsing [Thu, 16 Feb 2023 10:41:03 +0000 (10:41 +0000)]
Rename bn_umul_hilo() to bn_mulw().
This keeps the naming consistent with the other bignum primitives that have
been recently introduced. Also, use 1/0 intead of h/l (e.g. a1 instead of
ah), as this keeps consistency with other primitives and allows for naming
that works with double word, triple word and quadruple word inputs/outputs.
Discussed with tb@
tb [Thu, 16 Feb 2023 10:18:59 +0000 (10:18 +0000)]
zap stray empty line
dtucker [Thu, 16 Feb 2023 10:10:00 +0000 (10:10 +0000)]
Remove SSH_BUG_PASSWORDPAD compat bit since it's no longer used.
ok markus@
jsing [Thu, 16 Feb 2023 10:02:02 +0000 (10:02 +0000)]
Add missing masks to accumulator version of bn_umul_hilo()
claudio [Thu, 16 Feb 2023 08:54:47 +0000 (08:54 +0000)]
regen
claudio [Thu, 16 Feb 2023 08:53:16 +0000 (08:53 +0000)]
utrace(2) can run without kernel lock. Now ktruser() will take the
lock only when needed.
OK miod@ cheloha@
claudio [Thu, 16 Feb 2023 08:50:57 +0000 (08:50 +0000)]
Like other ktrace functions make ktruser() callable without kernel lock
by takeing the lock around ktrwrite2().
OK miod@ cheloha@
tb [Thu, 16 Feb 2023 08:38:17 +0000 (08:38 +0000)]
libressl *_namespace.h: adjust *_ALIAS() to require a semicolon
LCRYPTO_ALIAS() and LSSL_ALIAS() contained a trailing semicolon.
This does not conform to style(9), breaks editors and ctags and
(most importantly) my workflow. Fix this by neutering them with
asm("") so that -Wpedantic doesn't complain. There's precedent
in libc's namespace.h
fix suggested by & ok jsing
dtucker [Thu, 16 Feb 2023 07:55:15 +0000 (07:55 +0000)]
Remove SSH_BUG_IGNOREMSG compat flag since it's only applicable to SSH1
and thus no longer used. ok markus@ "kill it with fire" djm@
deraadt [Thu, 16 Feb 2023 05:38:24 +0000 (05:38 +0000)]
sync
deraadt [Thu, 16 Feb 2023 04:43:54 +0000 (04:43 +0000)]
Document pinsyscall(2). The ld.so and kernel enforcement code is not
commited ye -- waiting for enough people to run kernels which support
the system call.
ok jmc
deraadt [Thu, 16 Feb 2023 04:42:27 +0000 (04:42 +0000)]
sync
jsing [Thu, 16 Feb 2023 04:42:20 +0000 (04:42 +0000)]
Reimplement bn_add_words() and bn_sub_words() using bignum primitives.
This removes the effectively duplicate BN_LLONG version of bn_add_words()
and simplifies the code considerably.
ok tb@
deraadt [Thu, 16 Feb 2023 04:42:06 +0000 (04:42 +0000)]
Add pinsyscall(2). With this you can tell the kernel the location
(start,len) of the syscall stub in libc.so for a specified syscall
(using SYS_* notation). Only SYS_execve is supported at this time.
ok gnezdo mortimer kettenis
deraadt [Thu, 16 Feb 2023 04:07:33 +0000 (04:07 +0000)]
explain why ARIN TAL is not included.
ok job
jsg [Thu, 16 Feb 2023 03:09:33 +0000 (03:09 +0000)]
remove the '(R)' from the intel cpu match pattern
Intel(R) does not appear in
cpu0: Intel Atom(R) x6425RE Processor @ 1.90GHz, 1895.90 MHz, 06-96-01
reported by patrick@ ok deraadt@
afresh1 [Thu, 16 Feb 2023 01:07:01 +0000 (01:07 +0000)]
Regen en_US.UTF-8.src for Unicode 14.0.0
That comes with perl 5.36.
OK millert@
afresh1 [Thu, 16 Feb 2023 01:06:01 +0000 (01:06 +0000)]
Whitespace
I am pretty sure it was schwarze@ who pointed this out long ago.
tobhe [Wed, 15 Feb 2023 20:44:01 +0000 (20:44 +0000)]
proc_ispeer() is not used anywhere anymore so remove it everywhere.
ok florian@ bluhm@
ok for vmd mlarkin@
mvs [Wed, 15 Feb 2023 20:43:41 +0000 (20:43 +0000)]
Relax kernel lock assertion within tsleep(9). The `nowake' channel is
the special case which doesn't expect wakeup(9), so allow to use it
without kernel lock held.
Discussed with and ok by claudio@
sashan [Wed, 15 Feb 2023 18:11:47 +0000 (18:11 +0000)]
pfsync(4) panics on NULL pointer dereference if there
are no data ready for bulk transfer. reported and fix
kindly tested by hrvoje@
OK bluhm@
jsing [Wed, 15 Feb 2023 18:10:16 +0000 (18:10 +0000)]
Place bn_mul_add_words() after bn_mul_words().
claudio [Wed, 15 Feb 2023 14:19:08 +0000 (14:19 +0000)]
bgpd no longer immediatly opens the connection to its peers so instead
use 'bgpctl nei RDOMAIN2 up' to force the connection up. While there
use the same timeouts everywhere. May need further tuning but this
works for me.
Issue noticed by anton@
kettenis [Wed, 15 Feb 2023 14:13:38 +0000 (14:13 +0000)]
The GMAC on the Rockchip RK356x and RK3588 SoCs can only do 32-bit DMA
so set the appropriate DMA constraint.
ok patrick@
kettenis [Wed, 15 Feb 2023 14:10:58 +0000 (14:10 +0000)]
Don't print the version twice, but do print a newline before attaching the
PHY.
Put the DMA address of the mbuf into the rx descriptors (instead of the
length). Use the correct value when setting the tx ring tail pointer.
This make sending and receiving packets work as long as the interface
is in promiscuous mode.
ok patrick@
kettenis [Wed, 15 Feb 2023 14:06:43 +0000 (14:06 +0000)]
Add GMAC-related RK356x clocks.
ok patrick@
florian [Wed, 15 Feb 2023 13:47:00 +0000 (13:47 +0000)]
Use correct order of arguments for shutdown(2).
Luckily routesock would never be <= 2 so shutdown would always failing
with EINVAL and not shutting down random other sockets.
The kernel was just uselessly piling up route messages that we were
never reading.
This mistake first showed up in slaacd(8) and then was copied to the
other daemons.
Reported & fixed by Josiah Frentsos (jfrent at tilde.team), thanks!
OK kn
aoyama [Wed, 15 Feb 2023 12:43:32 +0000 (12:43 +0000)]
Now Puffy comes on luna88k bootloader!
"Of course!" miod@
jsg [Wed, 15 Feb 2023 10:33:03 +0000 (10:33 +0000)]
drm/i915: Fix VBT DSI DVO port handling
From Ville Syrjala
7fa83855852e4b13dd05702569f3f0bb3e1c624d in linux-6.1.y/6.1.12
6a7ff131f17f44c593173c5ee30e2c03ef211685 in mainline linux
jsg [Wed, 15 Feb 2023 10:31:23 +0000 (10:31 +0000)]
drm/i915: Initialize the obj flags for shmem objects
From Aravind Iddamsetty
baaed8c92927e2530a799daf2e909e6688dc2943 in linux-6.1.y/6.1.12
44e4c5684fcc82d8f099656c4ea39d9571e2a8ac in mainline linux
jsg [Wed, 15 Feb 2023 10:28:39 +0000 (10:28 +0000)]
drm/i915: Move fd_install after last use of fence
From Rob Clark
bfa700d12274bd3509b64fd545d1046eef89d564 in linux-6.1.y/6.1.12
251e8c5b1b1fadcc387a8e618c7437d330bdac3e in mainline linux
jsg [Wed, 15 Feb 2023 10:26:50 +0000 (10:26 +0000)]
drm/amd/display: fix cursor offset on rotation 180
From Melissa Wen
5af27a53a881ed49e071875c10760b0fc13996a1 in linux-6.1.y/6.1.12
49d0555976f0972af68397ed996375c135b38ba7 in mainline linux
jsg [Wed, 15 Feb 2023 10:23:28 +0000 (10:23 +0000)]
drm/amd/display: properly handling AGP aperture in vm setup
From Alex Deucher
8d81e1c6865e7114d9829b0f3c73a66cd3a0963d in linux-6.1.y/6.1.12
5c4e8c71d1202cd84d870e7e5cb8d6b52f9c3507 in mainline linux
jsg [Wed, 15 Feb 2023 10:21:11 +0000 (10:21 +0000)]
drm/amdgpu/smu: skip pptable init under sriov
From Jane Jian
4609e1773222670af42e71c3a7bbf0453438d74a in linux-6.1.y/6.1.12
c6ac406cd8ff610a2d5da298b1d3071acfcde7f0 in mainline linux
jsg [Wed, 15 Feb 2023 10:18:26 +0000 (10:18 +0000)]
drm/amdgpu/fence: Fix oops due to non-matching drm_sched init/fini
From Guilherme G. Piccoli
2bcbbef9cace772f5b7128b11401c515982de34b in linux-6.1.y/6.1.12
5ad7bbf3dba5c4a684338df1f285080f2588b535 in mainline linux
jsg [Wed, 15 Feb 2023 10:16:50 +0000 (10:16 +0000)]
drm/amd/pm: bump SMU 13.0.7 driver_if header version
From Evan Quan
d82e6903b395aafc5c94b7282eccdd13903942a3 in linux-6.1.y/6.1.12
dc38b996db968f51f0fe45845a519c5cd7f6bd04 in mainline linux
jsg [Wed, 15 Feb 2023 10:15:00 +0000 (10:15 +0000)]
drm/amdgpu: Add unique_id support for GC 11.0.1/2
From Kent Russell
e379d5662c26b65384d95674559f9343be132851 in linux-6.1.y/6.1.12
c108a18462949fe709ebd6b0be68398d643bc285 in mainline linux
jsg [Wed, 15 Feb 2023 10:13:02 +0000 (10:13 +0000)]
drm/amd/pm: bump SMU 13.0.0 driver_if header version
From Evan Quan
daaa0760cd0b6cf5985384d24e991f6c23a236e7 in linux-6.1.y/6.1.12
9874cc2df4e892c8744aa0472866cbf7c3cf1862 in mainline linux
jsg [Wed, 15 Feb 2023 10:11:09 +0000 (10:11 +0000)]
drm/amdgpu: Use the TGID for trace_amdgpu_vm_update_ptes
From Friedrich Vock
a2e60fee4b7681bb9664f6a638d9630102ac978b in linux-6.1.y/6.1.12
e53448e0a1efa5133c7db78f1df1f4caf177676b in mainline linux
jsg [Wed, 15 Feb 2023 10:09:37 +0000 (10:09 +0000)]
drm/amd/pm: add SMU 13.0.7 missing GetPptLimit message mapping
From Evan Quan
62890f3eabf80676c0fefbbdd88e0f3f12528032 in linux-6.1.y/6.1.12
0e763afcb50814e256ecb780fcc0f3bade2e1a0c in mainline linux
claudio [Wed, 15 Feb 2023 10:07:50 +0000 (10:07 +0000)]
Use the nowake channel for sys_nanosleep() instead of handrolling the same.
OK cheloha@ jca@ mvs@
jsg [Wed, 15 Feb 2023 10:07:43 +0000 (10:07 +0000)]
drm/i915: Don't do the WM0->WM1 copy w/a if WM1 is already enabled
From Ville Syrjala
d05b72328810897a28fe313735481789edfef7e4 in linux-6.1.y/6.1.12
90d5e8301ac24550be80d193aa5582cab56c29fc in mainline linux
jsg [Wed, 15 Feb 2023 06:08:53 +0000 (06:08 +0000)]
regen
jsg [Wed, 15 Feb 2023 06:08:18 +0000 (06:08 +0000)]
add a Navi 33 / Radeon RX 7600S device id
spotted in notebookcheck review of
ASUS TUF Gaming A16 Advantage Edition (2023), model FA617NS
tb [Wed, 15 Feb 2023 05:20:01 +0000 (05:20 +0000)]
sync
tb [Wed, 15 Feb 2023 04:46:49 +0000 (04:46 +0000)]
zap tab
afresh1 [Wed, 15 Feb 2023 01:41:05 +0000 (01:41 +0000)]
sync - perl 5.36.0
afresh1 [Wed, 15 Feb 2023 01:39:49 +0000 (01:39 +0000)]
Apply pre-built unicore patch - perl-5.36.0
OK bluhm@
a good time naddy@
afresh1 [Wed, 15 Feb 2023 01:38:20 +0000 (01:38 +0000)]
Apply local patches - perl-5.36.0
OK bluhm@
a good time naddy@
afresh1 [Wed, 15 Feb 2023 01:36:12 +0000 (01:36 +0000)]
Fix merge issues, remove excess files - match perl-5.36.0 dist
OK bluhm@
a good time naddy@
afresh1 [Wed, 15 Feb 2023 01:31:50 +0000 (01:31 +0000)]
Import perl-5.36.0
OK bluhm@
a good time naddy@
kettenis [Tue, 14 Feb 2023 19:06:18 +0000 (19:06 +0000)]
enable scmi(4)
jsing [Tue, 14 Feb 2023 18:45:39 +0000 (18:45 +0000)]
Remove the misnamed and now unused mul, mul_add and mul_add_c macros.
There were only three versions of each one...
ok tb@
jsing [Tue, 14 Feb 2023 18:37:15 +0000 (18:37 +0000)]
Reimplement bn_mul_words(), bn_mul_add_words() and bn_mul_comba{4,8}().
Use bignum primitives rather than the current mess of macros, which also
allows us to remove the essentially duplicate versions of
bn_mul_words() and bn_mul_add_words() for BN_LLONG.
The "mul" macro gets replaced by bn_mulw_addw(), "mul_add" with
bn_mulw_addw_addw() and "mul_add_c" with bn_mulw_addtw() (where 'w'
indicates single word input and 'tw' indicates triple word input).
The variables in the comba functions have also been reordered, so that the
patterns are easier to understand - the compiler can take care of
optimising the inputs and outputs to avoid register moves.
ok tb@
jsing [Tue, 14 Feb 2023 18:31:02 +0000 (18:31 +0000)]
Provide big number primitives for word addition/multiplication.
These use a consistent naming scheme and are implemented using
bitwise/constant time style operations, which should generally be safe on
all platforms (until a compiler decides to optimise and use branches).
More optimised versions can be provided for a given architecture.
ok tb@
jsing [Tue, 14 Feb 2023 18:22:35 +0000 (18:22 +0000)]
Make BN_is_zero() check word values.
Rather than completely relying on top, check the words of a bignum.
This gets us one step away from being dependent on top and additionally
means that we correctly report zero even if top is not yet correct.
ok tb@
jsing [Tue, 14 Feb 2023 18:19:27 +0000 (18:19 +0000)]
Fix a -0 corner case in BN_div_internal()
If the numerator is negative, the numerator and divisor are the same
length (in words) and the absolute value of the divisor > the absolute
value of the numerator, the "no_branch" case produces -0 since negative
has already been set. Call BN_set_negative() at the end of the function
to avoid this.
ok tb@
jsing [Tue, 14 Feb 2023 18:06:06 +0000 (18:06 +0000)]
Reimplement BN_num_bits_word().
Provide a simpler and more readable bn_word_clz() function that returns the
number of leading zeros for a given BN_ULONG, then implement
BN_num_bits_word() using bn_word_clz(). This is a hot path and
bn_word_clz() can now be replaced with architecture specific versions where
possible.
ok tb@
jsing [Tue, 14 Feb 2023 18:01:15 +0000 (18:01 +0000)]
Make BN_set_negative() closer to constant time.
ok tb@
jsing [Tue, 14 Feb 2023 17:58:26 +0000 (17:58 +0000)]
Provide bn_ct_{eq,ne}_zero{,_mask}() inline functions.
These will be used to test a BN_ULONG in cases where constant time style
behaviour is required.
ok tb@
job [Tue, 14 Feb 2023 17:15:15 +0000 (17:15 +0000)]
Fix handling of port numbers in host[:port]/module URLs
With and OK tb@
claudio [Tue, 14 Feb 2023 15:37:45 +0000 (15:37 +0000)]
When initalizing a new peer, wait an extra 5 seconds before connecting
eo the remote end. With this the RDE has a chance to finish config reload
before the session to a new peer is established.
OK tb@
claudio [Tue, 14 Feb 2023 15:33:46 +0000 (15:33 +0000)]
No longer wait for the RTR process to finish the config reload before
sending the IMSG_RECONF_DONE message to the RDE. The RDE does not depend
on the RTR config reload (in contrast to the SE).
The ROA / ASPA reload is async from the RDE config reload.
OK tb@
tb [Tue, 14 Feb 2023 15:08:15 +0000 (15:08 +0000)]
Add regress coverage for BN_num_bits_word()
stsp [Tue, 14 Feb 2023 12:14:07 +0000 (12:14 +0000)]
jca@ points out that the field I split in iwx(4) Rx descriptors is in a union.
Keep semantics of the field intact by wrapping the split values in struct { }.
Again no size change, because of union semantics.
diff from jca@ with request to commit if ok, thanks!
build-tested again + ok tb@
claudio [Tue, 14 Feb 2023 11:46:08 +0000 (11:46 +0000)]
Add -mpls to the route monitor case. It is an allowed address family.
OK sthen@ florian@
jsg [Tue, 14 Feb 2023 11:34:32 +0000 (11:34 +0000)]
use pragma pack around PPTable_t definitions
Avoids warnings about alignment changing when embedded inside of a
packed struct (such as _ATOM_VEGA20_POWERPLAYTABLE) seen with clang 15
on arm64.
reported and compile tested by tb@
sent upstream to amd-gfx list
jsg [Tue, 14 Feb 2023 11:31:47 +0000 (11:31 +0000)]
use pragma pack around dmub_addr definition
Avoids warnings about alignment changing when embedded inside of a
packed struct (dmub_rb_cmd_mall) seen with clang 15 on arm64.
reported and compile tested by tb@
sent upstream to amd-gfx list
mvs [Tue, 14 Feb 2023 08:35:20 +0000 (08:35 +0000)]
regen
mvs [Tue, 14 Feb 2023 08:34:49 +0000 (08:34 +0000)]
Backout previous. Assertion was triggered within tsleep().
kettenis [Tue, 14 Feb 2023 08:26:59 +0000 (08:26 +0000)]
Fix scmi(4) entry.
jsg [Tue, 14 Feb 2023 05:28:35 +0000 (05:28 +0000)]
smci -> scmi
kn [Tue, 14 Feb 2023 00:41:02 +0000 (00:41 +0000)]
Typofix -ssthresh in HISTORY
deraadt [Mon, 13 Feb 2023 21:13:08 +0000 (21:13 +0000)]
sync
kettenis [Mon, 13 Feb 2023 19:33:51 +0000 (19:33 +0000)]
scmi(4)
kettenis [Mon, 13 Feb 2023 19:26:15 +0000 (19:26 +0000)]
Add a driver for the ARM System Control and Management Interface, which,
among other things allows management of clocks under firmware management.
ok patrick@
kettenis [Mon, 13 Feb 2023 19:19:29 +0000 (19:19 +0000)]
Add RK356x TSADC clocks.
ok patrick@
patrick [Mon, 13 Feb 2023 19:18:53 +0000 (19:18 +0000)]
Add dwqe(4), a driver for the Synopsis DesignWare Ethernet QoS controller
used on the NXP i.MX8MP, the Rockchip RK35xx series and Intel Elkhart Lake.
For now it is committed with FDT-attachment only and still in rough shape,
but it's time for development to occur in-tree.
Discussed with bluhm@
ok kettenis@
kettenis [Mon, 13 Feb 2023 19:18:23 +0000 (19:18 +0000)]
Mention TCS4525.
kettenis [Mon, 13 Feb 2023 19:16:50 +0000 (19:16 +0000)]
Add support for the Shenzhen Tangcheng Technology TCS4525 voltage
regulator.
ok patrick@
claudio [Mon, 13 Feb 2023 18:09:05 +0000 (18:09 +0000)]
Adjust function prototype of a stub function after change to
rde_generate_updates() in bgpd.
claudio [Mon, 13 Feb 2023 18:07:53 +0000 (18:07 +0000)]
Pass struct rib_entry to rde_generate_updates() instead of struct rib.
With this the newbest and oldbest arguments can go since the infromation
is part of the rib_entry. Especially the prefix in the rib_entry is
always valid so simplify some code in various functions below to use
this information.
OK tb@
kettenis [Mon, 13 Feb 2023 16:16:03 +0000 (16:16 +0000)]
Support device trees with NOPs in them (like the kernel version already
does).
tested by jca@ (riscv64)
ok patrick@