jmc [Thu, 21 Apr 2022 05:27:53 +0000 (05:27 +0000)]
fix SEE ALSO;
kevlo [Thu, 21 Apr 2022 05:08:39 +0000 (05:08 +0000)]
Repair hw vlan tagging. Previously swapped byte RGE_TDEXTSTS_VTAG, this
caused no tag was sent on the outgoing packet.
Bug reported and the fix tested by Andrew Laramore.
tb [Thu, 21 Apr 2022 05:06:07 +0000 (05:06 +0000)]
Clarify comments at the start of {asid,addr}_validate_path_internal()
Requested by jsing
tb [Thu, 21 Apr 2022 04:48:12 +0000 (04:48 +0000)]
Avoid expensive RFC 3779 checks during cert verification
X509v3_{addr,asid}_is_canonical() check that the ipAddrBlocks and
autonomousSysIds extension conform to RFC 3779. These checks are not
cheap. Certs containing non-conformant extensions should not be
considered valid, so mark them with EXFLAG_INVALID while caching the
extension information in x509v3_cache_extensions(). This way the
expensive check while walking the chains during X509_verify_cert() is
replaced with a cheap check of the extension flags. This avoids a lot
of superfluous work when validating numerous certs with similar chains
against the same roots as is done in rpki-client.
Issue noticed and fix suggested by claudio
ok claudio inoguchi jsing
tb [Thu, 21 Apr 2022 04:24:51 +0000 (04:24 +0000)]
Fix X509_get_extension_flags()
Ensure that EXFLAG_INVALID is set on X509_get_purpose() failure.
ok inoguchi jsing
dtucker [Thu, 21 Apr 2022 01:36:46 +0000 (01:36 +0000)]
It looks like we can't completely avoid waiting for processes to
exit so retrieve the pid via controlmaster and use that.
krw [Wed, 20 Apr 2022 23:36:30 +0000 (23:36 +0000)]
Refine the GPT partition entry table validity check to ensure
that the partition entry table associated with the primary GPT
header at sector 1 doesn't overwrite the header or intrude into
the sectors available for partitions.
Similarly ensure that the partition entry table associated with
the alternate header does not overwrite that header or intrude
into the sectors available for partitions.
jcs [Wed, 20 Apr 2022 21:55:17 +0000 (21:55 +0000)]
Use glob to expand wildcards in "other device" paths rather than a
custom implementation that only allowed matching all files in a
directory.
ok millert
bluhm [Wed, 20 Apr 2022 20:51:09 +0000 (20:51 +0000)]
In pfsync there were some KASSERT hidden behind #ifdef PFSYNC_DEBUG.
Assertions should be active and rely on #ifdef DIAGNOSTIC. Retire
PFSYNC_DEBUG.
OK sashan@ dlg@
krw [Wed, 20 Apr 2022 20:43:32 +0000 (20:43 +0000)]
Wrap a long line.
tb [Wed, 20 Apr 2022 20:26:22 +0000 (20:26 +0000)]
Fix mandoc -Tlint warning about trailing whitespace
bluhm [Wed, 20 Apr 2022 17:58:22 +0000 (17:58 +0000)]
Fix white space and wrap long lines.
tb [Wed, 20 Apr 2022 17:37:53 +0000 (17:37 +0000)]
While I'm here, prepare regress for claudio's upcoming diff
tb [Wed, 20 Apr 2022 17:26:53 +0000 (17:26 +0000)]
Fix rpki-client regress after -j -f change
krw [Wed, 20 Apr 2022 17:14:35 +0000 (17:14 +0000)]
Sigh. Another forgotten header file.
millert [Wed, 20 Apr 2022 16:00:25 +0000 (16:00 +0000)]
Remove unnecessary includes: openssl/hmac.h and openssl/evp.h.
From Martin Vahlensieck.
millert [Wed, 20 Apr 2022 15:59:18 +0000 (15:59 +0000)]
Add missing includes of stdlib.h and stdint.h.
We need stdlib.h for malloc(3) and stdint.h for SIZE_MAX.
Unlike the other xmss files, ssh-xmss.c does not include xmss_commons.h
so ssh-xmss.c must include those headers itself.
From Martin Vahlensieck
millert [Wed, 20 Apr 2022 15:56:49 +0000 (15:56 +0000)]
Avoid an unnecessary xstrdup in rm_env() when matching patterns.
Since match_pattern() doesn't modify its arguments (they are const),
there is no need to make an extra copy of the strings in options->send_env.
From Martin Vahlensieck
krw [Wed, 20 Apr 2022 15:49:56 +0000 (15:49 +0000)]
Simpify code manipulating GPT partition names by coalescing
logic into GPT_get_name(), string_to_name() and name_to_string()
functions. Remove unnecessarily abstract functions ask_string(),
utf16le_to_string() and string_to_utf16le().
No intentional functional change.
deraadt [Wed, 20 Apr 2022 15:38:24 +0000 (15:38 +0000)]
more whitespace cleanups
tb [Wed, 20 Apr 2022 15:31:48 +0000 (15:31 +0000)]
Fix various annoying whitespace errors.
tb [Wed, 20 Apr 2022 15:29:24 +0000 (15:29 +0000)]
Print UTC time with gmtime()
This replaces a strange hack that sets TZ=UTC and calls localtime().
Tweak format string to keep printing UTC.
ok claudio
job [Wed, 20 Apr 2022 15:13:08 +0000 (15:13 +0000)]
Improve proc_parser_file handling of Trust Anchors
OK tb@
deraadt [Wed, 20 Apr 2022 14:21:56 +0000 (14:21 +0000)]
repair kstat entry
espie [Wed, 20 Apr 2022 14:00:38 +0000 (14:00 +0000)]
don't try to create a partial-* package when we find out there's nothing
where we expected a symlink.
millert [Wed, 20 Apr 2022 14:00:19 +0000 (14:00 +0000)]
Make the termp and winp arguments for openpty, et al. const.
This matches the prototypes in glibc and musl libc.
From Matthew Martin. OK tb@
tb [Wed, 20 Apr 2022 13:32:34 +0000 (13:32 +0000)]
Avoid use of uninitialized in BN_mod_exp_recp()
If either of the two initial BN_CTX_get() fails, we will call
BN_RECP_CTX_free() on the uninitialized recp, which won't end
well, so hoist the BN_RECP_CTX_init() call a few lines up.
From Pauli, OpenSSL
ad249412
ok inoguchi jsing
dtucker [Wed, 20 Apr 2022 13:25:55 +0000 (13:25 +0000)]
Use ssh -f and ControlPersist to start up test forwards and ssh -O stop
to shut them down intead of sleep loops. This speeds up the test by
an order of magnitude.
dv [Wed, 20 Apr 2022 12:49:20 +0000 (12:49 +0000)]
Add vmm(4) regress, disabled for now. ok rob@
espie [Wed, 20 Apr 2022 12:10:33 +0000 (12:10 +0000)]
register new tests, they don't pass yet
espie [Wed, 20 Apr 2022 12:09:46 +0000 (12:09 +0000)]
it also breaks somewhat differently when files vanish, we still need
a few checks
job [Wed, 20 Apr 2022 10:46:20 +0000 (10:46 +0000)]
Add Concatenated JSON output in filemode (rpki-client -j -f *)
The schema is still work in progress.
OK claudio@
espie [Wed, 20 Apr 2022 09:58:19 +0000 (09:58 +0000)]
add a symlink test that currently fails, I want to fix it soonish
bluhm [Wed, 20 Apr 2022 09:38:25 +0000 (09:38 +0000)]
Route timeout was a mixture of int, u_int and long. Use type int
for timeout, add sysctl bounds checking between 0 and max int, and
use time_t for absolute times.
Some code assumes that the route timeout queue can be NULL and at
some places this was checked. Better make sure that all queues
always exist. The pool_get for struct rttimer_queue is only called
from initialization and from syscall, so PR_WAITOK is possible.
Keep the special hack when ip_mtudisc is set to 0. Destroy the
queue and generate an empty one.
If redirect timeout is 0, it should not time out. Check the value
in IPv6 to make the behavior like IPv4.
Sysctl net.inet6.icmp6.redirtimeout had no effect as the queue
timeout was not modified. Make icmp6_sysctl() look like icmp_sysctl().
OK claudio@
espie [Wed, 20 Apr 2022 09:24:07 +0000 (09:24 +0000)]
likewise for set flavors
espie [Wed, 20 Apr 2022 09:19:52 +0000 (09:19 +0000)]
zap branch info so that pre-caching works with stuff like autoconf%2.64
espie [Wed, 20 Apr 2022 09:08:09 +0000 (09:08 +0000)]
reinstate temp-error3: do an update that will force temp files to be
created since the contents changed
espie [Wed, 20 Apr 2022 09:07:42 +0000 (09:07 +0000)]
better error report when I botch some test writing
dtucker [Wed, 20 Apr 2022 05:24:13 +0000 (05:24 +0000)]
Simplify forward-control test. Since we no longer need to support SSH1
we don't need to run shell commands on the other end of the connection
and can use ssh -N instead. This also makes the test less racy.
tb [Wed, 20 Apr 2022 04:40:33 +0000 (04:40 +0000)]
Remove an unreachable error message
If timeout != 0 and 0 <= timeout <= 24*60*60, then timeout < 1 is
impossible.
ok
djm [Wed, 20 Apr 2022 04:19:11 +0000 (04:19 +0000)]
Try to continue running local I/O for channels in state OPEN during
SSH transport rekeying. The most visible benefit is that it should make
~-escapes work in the client (e.g. to exit) if the connection happened
to have stalled during a rekey event. Based work by and ok dtucker@
deraadt [Wed, 20 Apr 2022 01:39:49 +0000 (01:39 +0000)]
sync
dtucker [Wed, 20 Apr 2022 01:13:47 +0000 (01:13 +0000)]
Import regenerated moduli
krw [Wed, 20 Apr 2022 00:47:32 +0000 (00:47 +0000)]
Eliminate some local pointers to gp[pn] and just use gp[pn].
Fix some whitespace and memset() parameters in passing.
No intentional functional change.
bluhm [Tue, 19 Apr 2022 22:16:24 +0000 (22:16 +0000)]
Add dummy implementation for rt_timer_init(). Kernel sources are
build for regress and need that function now.
tb [Tue, 19 Apr 2022 20:06:48 +0000 (20:06 +0000)]
zap extra line break and extra empty line
krw [Tue, 19 Apr 2022 20:02:56 +0000 (20:02 +0000)]
Forgot a file for previous commit.
No functional change.
bluhm [Tue, 19 Apr 2022 19:19:31 +0000 (19:19 +0000)]
Use a pool instead of malloc for struct rttimer_queue. As routing
runs without kernel lock, use IPL_MPFLOOR protection for its pools.
OK mvs@ claudio@
claudio [Tue, 19 Apr 2022 19:01:19 +0000 (19:01 +0000)]
Do not use a hidden global for the EVP_ENCODE_CTX to save a calloc() call.
Make this work concurrently by allocating and freeing the EVP_ENCODE_CTX
for every call to base64_decode(). This is not a hot path so the impact
is negligible.
OK tb@
tb [Tue, 19 Apr 2022 18:52:36 +0000 (18:52 +0000)]
Avoid leaking crldp in mft_parse() if one of the crlfile checks fails.
ok claudio
krw [Tue, 19 Apr 2022 17:53:15 +0000 (17:53 +0000)]
Bring GPT_print_partition() into line with other functions being passed
an index to the gp[] array by calling said parameter 'pn' and making it
const unsigned int.
No functional change.
krw [Tue, 19 Apr 2022 17:36:36 +0000 (17:36 +0000)]
Move declaration of DEBUG-only variable inside #ifdef DEBUG.
No functional change.
krw [Tue, 19 Apr 2022 17:30:36 +0000 (17:30 +0000)]
Eliminate superfluous intermediate variables 'pncnt' now that
gh.gh_part_num does not need a letoh32().
No functional change.
tb [Tue, 19 Apr 2022 17:01:43 +0000 (17:01 +0000)]
Drop unused KeyUpdate from debug printf
The handshake state machine does not handle key updates since that's a
post-handshake handshake message. This is code under #ifdef TLS13_DEBUG
and if it is ever to be reused in tls13_handshake_msg.c, that will have
to be revisited.
ok inoguchi jsing
bluhm [Tue, 19 Apr 2022 15:44:56 +0000 (15:44 +0000)]
Instead of a MP unsafe global variable to initialize at first use,
call rt_timer_init() from rtable_init().
OK mvs@ claudio@
semarie [Tue, 19 Apr 2022 15:30:52 +0000 (15:30 +0000)]
add missing unlock before returning in uvn_detach()
uvn_detach sets UVM_VNODE_RELKILL flag and wait for all async i/o to finish. but
uvm_vnp_terminate() could clear the flag and take over the vnode.
mpi@ noted that this code path is mostly dead code because there is no "async
I/O" (uvn_io() is always synchronous).
ok visa@ mpi@
espie [Tue, 19 Apr 2022 15:03:12 +0000 (15:03 +0000)]
document the actual problems that pkg_check-version can diagnose
claudio [Tue, 19 Apr 2022 13:52:24 +0000 (13:52 +0000)]
Change type of talsz and dependent code from size_t to int. Tal ids are
already stored as int and and talsz is the limit for these ids.
OK tb@
claudio [Tue, 19 Apr 2022 13:25:08 +0000 (13:25 +0000)]
Make it a hard error when an unknown repoistory id is passed to
parse_filepath(). If that happens something went very wrong and
it is better to fail hard then to limp along.
OK tb@
espie [Tue, 19 Apr 2022 12:51:32 +0000 (12:51 +0000)]
next iteration: make the support dependent on TEST parameters
-DTEST_CACHING: try the cache
-DTEST_CACHING_VERBOSE: make it say what it does
-DTEST_CACHING_RECHECK: don't trust the cache and compare the extracted
value with the actual package contents (thus making it slower once again)
Quite a few more checks along the way, in general
claudio [Tue, 19 Apr 2022 11:07:33 +0000 (11:07 +0000)]
Cosmetics, add missing space
claudio [Tue, 19 Apr 2022 09:52:29 +0000 (09:52 +0000)]
Adjust on how CRL and MFT files are verified.
Verify the CRL referenced from the mft against the mft's fileAndHash info.
If the CRL matches then load it and use it to validate this mft. If the
mft validated OK add the now also valid CRL to the auth store for later use.
Before the newest CRL was always selected but that has negative consequences
because it is common practice to revoke the previous MFT's EE cert and with
that the cache is turned useless as soon as a new CRL is used. Also there
was a possibility that the CRL used for validation of the MFT was not the
one later used.
Both RFC6486 and draft-ietf-sidrops-6486bis are unclear about this part
of the validation process. We opted in favor of the chached MFT.
With and OK tb@
dlg [Tue, 19 Apr 2022 03:51:47 +0000 (03:51 +0000)]
document the bits of the kstat struct that providers work with.
the kstat api is a small part of implementing a kstat, most of it
depends on how you set up the kstat struct.
kevlo [Tue, 19 Apr 2022 03:26:52 +0000 (03:26 +0000)]
regen
kevlo [Tue, 19 Apr 2022 03:26:33 +0000 (03:26 +0000)]
Add a new RDC PHY.
From Andrius Varanavicius
kevlo [Tue, 19 Apr 2022 03:25:46 +0000 (03:25 +0000)]
Restore original MDC speed control register value on vte_reset,
which is needed for at least Vortex86DX3 machines.
Patch from Andrius Varanavicius via bugs@
Special thanks to DMP for donating hardware which helped make this fix
possible.
dlg [Tue, 19 Apr 2022 01:39:38 +0000 (01:39 +0000)]
remove a comment saying we might want kstat_remove.
we did want it, so it's there and documented.
dlg [Tue, 19 Apr 2022 01:32:06 +0000 (01:32 +0000)]
enable kstat(4) and kstat(1).
kstat allows the kernel to expose arbitrary data for userland to
consume. currently this is used by some network card drivers to
expose hardware counters they provide, and a bit by the network
stack to show things like ifq counters.
ok bluhm@ deraadt@
krw [Mon, 18 Apr 2022 17:32:16 +0000 (17:32 +0000)]
Convert the GPT header read from disk into a host-endian version,
and then back to little-endian when writing to disk.
Reduces the number of invocations of the letoh*() and htole*()
functions by 90 or so. Also makes that code much easier to read.
No intentional functional change.
kevlo [Mon, 18 Apr 2022 05:51:08 +0000 (05:51 +0000)]
regen
kevlo [Mon, 18 Apr 2022 05:50:29 +0000 (05:50 +0000)]
A few devices found on EBOX-3360-C2CF and EBOX-3300MX.
bluhm [Sun, 17 Apr 2022 17:33:50 +0000 (17:33 +0000)]
When kbd -l was executed as regular user, it failed silently. Try
to open all wskbd devices, but report the first error and exit if
none was successful.
OK deraadt@ espie@
deraadt [Sun, 17 Apr 2022 04:53:33 +0000 (04:53 +0000)]
sync
naddy [Sat, 16 Apr 2022 19:32:54 +0000 (19:32 +0000)]
esm(4): constify sensor tables
naddy [Sat, 16 Apr 2022 19:32:22 +0000 (19:32 +0000)]
it(4): constify sensor tables
naddy [Sat, 16 Apr 2022 19:19:58 +0000 (19:19 +0000)]
constify SCSI adapter entry points
ok krw@
stsp [Sat, 16 Apr 2022 16:22:46 +0000 (16:22 +0000)]
update list of firmware files used by iwx(4)
stsp [Sat, 16 Apr 2022 16:21:50 +0000 (16:21 +0000)]
Make device matching in iwx(4) more similar to Linux iwlwifi.
There are a few chips which cannot be recognized by PCI ID alone.
Reading device registers is also required to identify such devices.
iwx(4) should now detect AX201 devices requiring the following firmware
images:
iwx-Qu-b0-hr-b0-63
iwx-Qu-b0-jf-b0-63
iwx-Qu-c0-jf-b0-63
iwx-QuZ-a0-hr-b0-67
iwx-QuZ-a0-jf-b0-63
These are already installed in /etc/firmware but have so far been unused.
This is obviously going to cover a range of devices which have not actually
been tested yet. If you have such a device please test and report back.
Tested on previously working AX200/AX201 devices by jmc@ and myself.
Sven Wolf has successfully tested a newly supported device.
Based on an initial patch by Iraklis Karagkiozoglou, thanks!
stsp [Sat, 16 Apr 2022 16:13:15 +0000 (16:13 +0000)]
regen
stsp [Sat, 16 Apr 2022 16:12:56 +0000 (16:12 +0000)]
Add more Intel wifi PCI device IDs. Some AX201, some AX210, some AX211.
espie [Sat, 16 Apr 2022 09:32:40 +0000 (09:32 +0000)]
refactor the code so that caching is setup in the repository that's
linked to quirks during do_quirks.
then add a pre-cache that does run locate once on the full list of things
we want to update/install (assuming "regular" pkgsets, that is, where the
names are the ones we want).
Then the actual fetching of caching info will look in that pre-cache before
resorting to locate itself (or going straight to the wire).
The code isn't active yet, the XXX comment in
OpenBSD/PackageRepository/Installed.pm
says it all.
dtucker [Sat, 16 Apr 2022 04:30:10 +0000 (04:30 +0000)]
ssh-keygen's -G/-T have been replaced with -M generate/screen.
tj [Sat, 16 Apr 2022 00:22:31 +0000 (00:22 +0000)]
list the correct version number when usage of the sftp protocol became default
and fix a typo
from ed maste
tb [Fri, 15 Apr 2022 12:59:44 +0000 (12:59 +0000)]
Allow more than one CRL URI in certificates
The spec (RFC 6487, 4.8.6) expresses a preference for a single rsync URI
but allows for other URIs in the CRL distributionPoint. This doesn't
currently happen in practice but could come at some point. So look for
the rsync URI and skip over others, which is more correct and might help
in the future.
Pointed out by & ok claudio
espie [Fri, 15 Apr 2022 10:54:00 +0000 (10:54 +0000)]
make use of the fact that repositories are unique objects: we don't need
string comparison, we can simply annotate the quirks repository as cached.
this does streamline the code somewhat
so simply activate warp-speed by uncommenting one line.
espie [Fri, 15 Apr 2022 08:03:33 +0000 (08:03 +0000)]
we probably already have that info, but in any case, we don't need
the full plist for a signature.
shaves most of the remaining time with caching active
deraadt [Fri, 15 Apr 2022 03:04:52 +0000 (03:04 +0000)]
delete an ancient paragraph suggesting the wrong reason to use close(2)
(and we all laughed a little)
bluhm [Thu, 14 Apr 2022 20:24:15 +0000 (20:24 +0000)]
The XOR instruction affects the carry and zero flag. Move it before
the VM instructions so that SETNA propagates the error condition
of the latter. Avoids "cpu0: failed to enter VMM mode" errors.
Fixes previous commit.
tested by Hrvoje; OK dv@
naddy [Thu, 14 Apr 2022 19:47:10 +0000 (19:47 +0000)]
ddb: constify command tables
ok jca@
krw [Thu, 14 Apr 2022 16:33:25 +0000 (16:33 +0000)]
Move ((gh_part_size % d_secsize) == 0) validity check
to get_header() with the rest of the header validity
checks.
No functional change.
claudio [Thu, 14 Apr 2022 14:10:22 +0000 (14:10 +0000)]
Relax address availability check for multicast binds.
While it makes sense to limit bind(2) of unicast addresses that overlap
each other to be all from the same UID (like 0.0.0.0:53 and 127.0.0.1:53)
it makes little sense for multicast. Multicast is delivered to all sockets
that match so there is no risk of someone stealing traffic from someone
else. This should hopefully help with mDNS as reported by robert@
OK deraadt@ bluhm@
bluhm [Thu, 14 Apr 2022 11:39:44 +0000 (11:39 +0000)]
pf and pfsync are running without kernel lock, so the mutexes must
have at least mpfloor spl protection. Fix witness issue found by
Hrvoje where pfsync holds mutex and interrupt grabs kernel lock.
OK sashan@
jsg [Thu, 14 Apr 2022 08:55:23 +0000 (08:55 +0000)]
drm/amdgpu: don't use BACO for reset in S3
From Alex Deucher
b536cf3eb6f949f8bedae7b26713e7ffec13b89b in linux 5.15.y/5.15.34
ebc002e3ee78409c42156e62e4e27ad1d09c5a75 in mainline linux
jsg [Thu, 14 Apr 2022 08:52:38 +0000 (08:52 +0000)]
drm/amdkfd: Create file descriptor after client is added to smi_clients list
From Lee Jones
3c8902bbf2ab5a15443f3daa73e8da18e7792172 in linux 5.15.y/5.15.34
e79a2398e1b2d47060474dca291542368183bc0f in mainline linux
jsg [Thu, 14 Apr 2022 08:51:00 +0000 (08:51 +0000)]
drm/amdgpu/vcn: Fix the register setting for vcn1
From Emily Deng
6a5d209898a605c31c26dbd2b002529e37ff0c6e in linux 5.15.y/5.15.34
02fc996d5098f4c3f65bdf6cdb6b28e3f29ba789 in mainline linux
jsg [Thu, 14 Apr 2022 08:49:35 +0000 (08:49 +0000)]
drm/amdgpu/smu10: fix SoC/fclk units in auto mode
From Alex Deucher
155338be5d9078a569a723d8695b501ab369bdf9 in linux 5.15.y/5.15.34
2f25d8ce09b7ba5d769c132ba3d4eb84a941d2cb in mainline linux
jsg [Thu, 14 Apr 2022 08:47:59 +0000 (08:47 +0000)]
drm/amdgpu/display: change pipe policy for DCN 2.1
From Benjamin Marty
0115e4f2f6bc984bc8fdba41ada55f586dc28502 in linux 5.15.y/5.15.34
879791ad8bf3dc5453061cad74776a617b6e3319 in mainline linux
jsg [Thu, 14 Apr 2022 08:46:31 +0000 (08:46 +0000)]
amd/display: set backlight only if required
From Shirish S
a551e6629247dc84f8cea5d494542c532ea69161 in linux 5.15.y/5.15.34
4052287a75eb3fc0f487fcc5f768a38bede455c8 in mainline linux
jsg [Thu, 14 Apr 2022 08:44:29 +0000 (08:44 +0000)]
drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire()
From Dan Carpenter
5ba9d78a72948325ecdb4dca2a31a46bc9169574 in linux 5.15.y/5.15.34
1647b54ed55d4d48c7199d439f8834626576cbe9 in mainline linux
jsg [Thu, 14 Apr 2022 08:42:44 +0000 (08:42 +0000)]
drm/amdkfd: make CRAT table missing message informational only
From Alex Deucher
f325d3e1dcc85fc3cd984f30fd443ab2f3b42631 in linux 5.15.y/5.15.34
9dff13f9edf755a15f6507874185a3290c1ae8bb in mainline linux