]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
2 years agotcpdrop: use a better name of a variable.
Michael Tuexen [Sat, 4 Dec 2021 12:46:43 +0000 (13:46 +0100)]
tcpdrop: use a better name of a variable.

No functional change intended.

Sponsored by: Netflix, Inc.

(cherry picked from commit 300914a0ffb8b18ace16e6d40fc41270e6039b2e)

2 years agosctp: unbreak NOINET6 builds.
Michael Tuexen [Sat, 4 Dec 2021 18:13:28 +0000 (19:13 +0100)]
sctp: unbreak NOINET6 builds.

PR: 260119
Reported by: kostikbel
MFC after: 1 week

(cherry picked from commit 54912d47b629807cefaed5b65a8f4e6d9bbbdbcf)

2 years agosctp: inherit IP level socket options from listening socket
Michael Tuexen [Fri, 3 Dec 2021 21:40:52 +0000 (22:40 +0100)]
sctp: inherit IP level socket options from listening socket

Ensure that TTL and TOS values set on a listener get inheritet
to the accepted sockets.

PR: 260119
MFC after: 1 week

(cherry picked from commit d79676fb1368f5acac5fd182363ea3f46fb3bd93)

2 years agosctp: use the correct traffic class when sending SCTP/IPv6 packets
Michael Tuexen [Fri, 3 Dec 2021 20:28:47 +0000 (21:28 +0100)]
sctp: use the correct traffic class when sending SCTP/IPv6 packets

When sending packets the stcb was used to access the inp and then
access the endpoint specific IPv6 level options. This fails when
there exists an inp, but no stcb yet. This is the case for sending
an INIT-ACK in response to an INIT when no association already
exists. Fix this by just providing the inp instead of the stcb.

PR: 260120
MFC after: 1 week

(cherry picked from commit f32357be53d07622603049f9855be2d66ca6dc2b)

2 years agolibc sctp: improve conformance of sctp_getpaddrs()
Michael Tuexen [Wed, 1 Dec 2021 18:47:50 +0000 (19:47 +0100)]
libc sctp: improve conformance of sctp_getpaddrs()

When there is no association, don't return -1 and indicate ENOENT,
but return 0 instead. This is specified in RFC 6458.

PR: 260117
MFC after: 1 week

(cherry picked from commit 83a103ec429a6dd862a73857ebeeff863a41a34d)

2 years agolibc sctp: fix sctp_getladdrs() when reporting no addresses
Michael Tuexen [Wed, 1 Dec 2021 15:20:17 +0000 (16:20 +0100)]
libc sctp: fix sctp_getladdrs() when reporting no addresses

Section 9.5 of RFC 6458 (SCTP Socket API) requires that
sctp_getladdrs() returns 0 in case the socket is unbound. This
is the cause of reporting 0 addresses. So don't indicate an
error, just report this case as required.

PR: 260117
MFC after: 1 week

(cherry picked from commit 071966e874ed472bdac031b7e89d08bacf8bbbc4)

2 years agosctp: improve handling of assoc ids in socket options
Michael Tuexen [Wed, 1 Dec 2021 13:54:55 +0000 (14:54 +0100)]
sctp: improve handling of assoc ids in socket options

For socket options related to local and remote addresses providing
generic association ids does not make sense. Report EINVAL in this
case.

MFC after: 1 week

(cherry picked from commit 13c196a41e2604e6f9a4484b997279b82173dc40)

2 years agolibc sctp: improve error reporting of sctp_getladdrs()
Michael Tuexen [Wed, 1 Dec 2021 10:14:36 +0000 (11:14 +0100)]
libc sctp: improve error reporting of sctp_getladdrs()

Do not hide errno from getsockopt() called internally.

MFC after: 1 week

(cherry picked from commit 6e9309bd3b04501b69593900a14e01114c7f2404)

2 years agolibc sctp: fix sctp_getladdrs() for 64-bit BE platforms
Michael Tuexen [Wed, 1 Dec 2021 09:13:20 +0000 (10:13 +0100)]
libc sctp: fix sctp_getladdrs() for 64-bit BE platforms

When calling getsockopt() with SCTP_GET_LOCAL_ADDR_SIZE, use a
pointer to a 32-bit variable, since this is what the kernel
expects.
While there, do some cleanups.

MFC after: 1 week

(cherry picked from commit dabd8bf9145a0a7255473a482e2ccf31919c3089)

2 years agosctp: cleanup, no functional change intended.
Michael Tuexen [Wed, 1 Dec 2021 08:19:40 +0000 (09:19 +0100)]
sctp: cleanup, no functional change intended.

MFC after: 1 week

(cherry picked from commit a01b8859cbde9f2ded7b58a024d8fb46ada596bb)

2 years agoswap_pager.c: Remove MPSAFE and ARGSUSED annotations
Konstantin Belousov [Fri, 3 Dec 2021 08:45:42 +0000 (10:45 +0200)]
swap_pager.c: Remove MPSAFE and ARGSUSED annotations

(cherry picked from commit 6df359449f39cdf01a86e29abf982fa04e888350)

2 years agoimgact_aout.c: some style
Konstantin Belousov [Fri, 3 Dec 2021 10:32:35 +0000 (12:32 +0200)]
imgact_aout.c: some style

(cherry picked from commit 290e05dde058b50aec48464d7116a55c7417575e)

2 years agoimgact_aout.c: We do not expect the aout support to be ported
Konstantin Belousov [Sat, 4 Dec 2021 04:14:38 +0000 (06:14 +0200)]
imgact_aout.c: We do not expect the aout support to be ported

(cherry picked from commit 9da5257e1c045220c01979dcdceadcf2867d20f0)

2 years agonfsd: Add checks for layout errors in LayoutReturn
Rick Macklem [Fri, 26 Nov 2021 23:42:32 +0000 (15:42 -0800)]
nfsd: Add checks for layout errors in LayoutReturn

For a LayoutReturn when using the Flexible File Layout,
error reports may be provided in the request.
Sanity check the size of these error reports and
check that they exist before calling nfsrv_flexlayouterr().

PR: 260012

(cherry picked from commit bdd57cbb1bdafcf2ebffa73c52f0fffc9410ea7b)

2 years agonfscl: Sanity check irdcnt in nfsrpc_createsession
Rick Macklem [Fri, 26 Nov 2021 23:28:40 +0000 (15:28 -0800)]
nfscl: Sanity check irdcnt in nfsrpc_createsession

PR: 259996

(cherry picked from commit 22f7bcb523e7138248832fb304559c8f23276e08)

2 years agounbount: Vendor import 1.14.0rc1
Cy Schubert [Fri, 3 Dec 2021 06:11:04 +0000 (22:11 -0800)]
unbount: Vendor import 1.14.0rc1

This vendor import was requested by glebius@ as it should fix unbound
crashes.

Reported by: glebius

(cherry picked from commit 24e365220007c415f495cf8dcb228ece6002b8b7)

2 years agounbound: Vendor import 1.13.2
Cy Schubert [Tue, 17 Aug 2021 09:32:56 +0000 (02:32 -0700)]
unbound: Vendor import 1.13.2

Merge commit '625f1c1312fb7defbd148c8ba121a0cf058707ef'

(cherry picked from commit 5469a9953005a9a4d4aad7be88545d441622e9a0)

2 years agoipfilter: Avoid more null if-then-else blocks
Cy Schubert [Wed, 20 Oct 2021 03:11:40 +0000 (20:11 -0700)]
ipfilter: Avoid more null if-then-else blocks

As in 73db3b64f167, when WITHOUT_INET6 is selected, null if-then-else
blocks are generated because #if statements are incorrectly placed.
Moving the #if statements reduces unnecessary runtime comparisons or
compiler optimizations.

(cherry picked from commit 130df64793d7d3c680c0f7177a707867a8a19665)

2 years agoipfilter: Correct a comment and add notation
Cy Schubert [Wed, 20 Oct 2021 02:33:02 +0000 (19:33 -0700)]
ipfilter: Correct a comment and add notation

Correct a comment to accurately reflect what is being done. While
we're at it document the next step in the process.

(cherry picked from commit 1ca73c39a54750a4a2f584efd7c57f453bf7dbbe)

2 years agoipfilter: Correct function description
Cy Schubert [Tue, 19 Oct 2021 00:14:43 +0000 (17:14 -0700)]
ipfilter: Correct function description

As of 874b1a35486b, ip_proxy_check() return codes have been simplified.
The original comment was also incorrect in the first place.

(cherry picked from commit 06b96a4bd606999538a1ca2f408342bf8540acb4)

2 years agoipfilter: Add DTrace SDT probe
Cy Schubert [Tue, 5 Oct 2021 04:26:58 +0000 (21:26 -0700)]
ipfilter: Add DTrace SDT probe

Add an SDT probe, using the newly created DT5 macro, in similar vein
to DEBUG_PARSE printf for when FTP junk is anticipated and ok. This
will assist in debugging port (active) FTP proxy issues.

(cherry picked from commit 106f42596e4b61c26425735a3999bd51d39dd82c)

2 years agoipfilter: New DT5 DTrace macro
Cy Schubert [Tue, 5 Oct 2021 04:18:42 +0000 (21:18 -0700)]
ipfilter: New DT5 DTrace macro

Define a new DT5 DTrace macro used to call DTRACE_PROBE5, for use with
SDT probes with five arguments.

(cherry picked from commit ca8bf28e1ee6ff213338c2a111069f5e639ea03a)

2 years agoipfilter: Whitespace cleanup
Cy Schubert [Tue, 5 Oct 2021 04:16:16 +0000 (21:16 -0700)]
ipfilter: Whitespace cleanup

Clean up whitespace from compaction of DTn macro definitions.

(cherry picked from commit fca9c3871dddb75d62e06386f750363f549cb069)

2 years agoipfilter: Compat and simplify DTrace macro definitions
Cy Schubert [Tue, 5 Oct 2021 04:13:47 +0000 (21:13 -0700)]
ipfilter: Compat and simplify DTrace macro definitions

Use a compound #if to simplify and compact DTn DTRACE_PROBEn macros
used by ipfilter.

(cherry picked from commit 2d74fed5be523370345af10fdccd0b4fc8baa53e)

2 years agoipfilter: Save a word of stack space
Cy Schubert [Mon, 4 Oct 2021 18:36:15 +0000 (11:36 -0700)]
ipfilter: Save a word of stack space

Rather than save the return code into an intermediate variable, which BTW
is optimized out anyway, explicitly remove the return code from the stack.

(cherry picked from commit b7f127b6e5f9febff895da9230c3269dfcd971c2)

2 years agoinetd.8: Lint the file
Mateusz Piotrowski [Mon, 6 Dec 2021 20:45:26 +0000 (21:45 +0100)]
inetd.8: Lint the file

Remove Tn macros and fix other style warnings.

MFC after: 3 days

(cherry picked from commit aab6fe0c2c3195c1b9ee967796b7c8c6c82d94ec)

2 years agoinetd.8: Sort options
Mateusz Piotrowski [Mon, 6 Dec 2021 20:56:42 +0000 (21:56 +0100)]
inetd.8: Sort options

While here:

- Cluster flags without arguments together.
- Simplify the synopsis of the -a flag. There is no need to distinguish
  between address and hostname there.
- Add a missing argument to the -a flag in the description section.
- Fix some typos.

MFC after: 3 days

(cherry picked from commit 593ad024e4ed04e4c875446e5277d82e3111848f)

2 years agosrc.conf.5: regen after WITH_/WITHOUT_CXX description update
Ed Maste [Thu, 9 Dec 2021 01:52:33 +0000 (20:52 -0500)]
src.conf.5: regen after WITH_/WITHOUT_CXX description update

Sponsored by: The FreeBSD Foundation

2 years agoWITH_/WITHOUT_CXX: update description
Ed Maste [Thu, 2 Dec 2021 16:24:08 +0000 (11:24 -0500)]
WITH_/WITHOUT_CXX: update description

Contrary to the previous description WITHOUT_CXX does not disable
/usr/bin/c++, which is just a link to Clang.  We also no longer have
gperf.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

(cherry picked from commit 145a574fa1a9fa6732a7917778ed3185e990d1dd)

2 years agoig4: Add PCI IDs for Intel Alder Lake I2C controller.
Alexander Motin [Thu, 25 Nov 2021 01:13:38 +0000 (20:13 -0500)]
ig4: Add PCI IDs for Intel Alder Lake I2C controller.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 2 weeks

(cherry picked from commit e8e8d2290ee68ddf8753ea345d4424f959bdb69d)

2 years agoAPEI: Fix Generic Error Data Entry revision 3.0 handling.
Alexander Motin [Thu, 25 Nov 2021 04:03:20 +0000 (23:03 -0500)]
APEI: Fix Generic Error Data Entry revision 3.0 handling.

Since revision 3.0 this structure grown another field, breaking access
to the following data structures.  This change fixes the PCIe errors
decoding on newer systems.

MFC after: 2 weeks

(cherry picked from commit ba83762a623033576bab5942312365d2d738f437)

2 years agoprocstat_getfiles_sysctl: do not require non-null ki_fd
Konstantin Belousov [Thu, 2 Dec 2021 18:03:01 +0000 (20:03 +0200)]
procstat_getfiles_sysctl: do not require non-null ki_fd

PR: 260174

(cherry picked from commit 7a9423d6f360e3758ca67fbb25d309140ea93670)

2 years agoStyle
Konstantin Belousov [Thu, 2 Dec 2021 18:02:26 +0000 (20:02 +0200)]
Style

(cherry picked from commit 0ea3e4a27bc0d1b0fdf876c3ef89d790e29ad5b1)

2 years agovm_fault: Factor out per-object operations into vm_fault_object()
Mark Johnston [Wed, 24 Nov 2021 18:43:38 +0000 (13:43 -0500)]
vm_fault: Factor out per-object operations into vm_fault_object()

No functional change intended.

Obtained from: jeff (object_concurrency patches)
Reviewed by: kib

(cherry picked from commit d47d3a94bb2d873b1c3a5cdfe9cc00e4619f649b)

2 years agovm_fault: Introduce a fault_status enum for internal return types
Mark Johnston [Wed, 24 Nov 2021 18:43:26 +0000 (13:43 -0500)]
vm_fault: Introduce a fault_status enum for internal return types

Rather than overloading the meanings of the Mach statuses, introduce a
new set for use internally in the fault code.  This makes the control
flow easier to follow and provides some extra error checking when a
fault status variable is used in a switch statement.

vm_fault_lookup() and vm_fault_relookup() continue to use Mach statuses
for now, as there isn't much benefit to converting them and they
effectively pass through a status from vm_map_lookup().

Obtained from: jeff (object_concurrency patches)
Reviewed by: kib

(cherry picked from commit f1b642c255a2931fd793219d11562310a2ce49c8)

2 years agovm_fault: Move nera into faultstate
Mark Johnston [Wed, 24 Nov 2021 18:42:32 +0000 (13:42 -0500)]
vm_fault: Move nera into faultstate

This makes it easier to factor out pieces of vm_fault().  No functional
change intended.

Obtained from: jeff (object_concurrency patches)
Reviewed by: kib

(cherry picked from commit 45c09a74d681cfcad0a556b753cd56f6084ace46)

2 years agoichsmb: Add PCI IDs for Intel Alder Lake SMBus controller
Alexander Motin [Wed, 24 Nov 2021 18:06:52 +0000 (13:06 -0500)]
ichsmb: Add PCI IDs for Intel Alder Lake SMBus controller

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 2 weeks

(cherry picked from commit f29f6b2e1fc93ea68171f6c974ffe654232d09ca)

2 years agompsutil: Fix data truncation by too short buffers.
Alexander Motin [Tue, 30 Nov 2021 01:14:13 +0000 (20:14 -0500)]
mpsutil: Fix data truncation by too short buffers.

Length of some string buffers was insufficient for cases of more that
99 targets per HBA or slots per enclosure.  Some others are tuned just
for better alignment.  While there also fix output formatting issues.

MFC after: 1 week
Sponsored by: iXsystems, Inc.

(cherry picked from commit f5b0083302edcf421265530cc01dd87c06b23af1)

2 years agoGEOM: Switch g_io_deliver() locking from cp to pp.
Alexander Motin [Sun, 21 Nov 2021 23:50:59 +0000 (18:50 -0500)]
GEOM: Switch g_io_deliver() locking from cp to pp.

Single provider may have multiple consumers, and locking one of consumers
is not sufficient to protect the provider.  Though the only part of the
provider this locking protects now is its statistics.

Reported by: Arka Sharma <arka.sw1988@gmail.com>
MFC after: 2 weeks

(cherry picked from commit 06bd74e1e39cb33b18b19a748a80b5e1d70fda17)

2 years agonet80211(4): Fix a typo in a sysctl description
Gordon Bergling [Sat, 4 Dec 2021 11:09:17 +0000 (12:09 +0100)]
net80211(4): Fix a typo in a sysctl description

- s/travelse/traversal/

(cherry picked from commit a9beea051171e19f3ea36febc84df55b3cd78d6b)

2 years agoipfilter(4): Fix a typo in an error message
Gordon Bergling [Sat, 4 Dec 2021 11:10:39 +0000 (12:10 +0100)]
ipfilter(4): Fix a typo in an error message

- s/addresss/address/

This is a direct commit to contrib since the upstream is
no longer active.

(cherry picked from commit e10ac086319df82b7bdc93aa9af61620a33eda2f)

2 years agoomap4: Fix a few typos in source code comments
Gordon Bergling [Sat, 4 Dec 2021 11:13:27 +0000 (12:13 +0100)]
omap4: Fix a few typos in source code comments

- s/addresss/address/

(cherry picked from commit b86066a15edb85c035d7d1dc9cf661d727bfb951)

2 years agoImplement GET_STACK_USAGE on remaining archs
Mitchell Horne [Thu, 25 Nov 2021 16:01:11 +0000 (12:01 -0400)]
Implement GET_STACK_USAGE on remaining archs

This definition enables callers to estimate remaining space on the
kstack, and take action on it. Notably, it enables optimizations in the
GEOM and netgraph subsystems to directly dispatch work items when there
is sufficient stack space, rather than queuing them for a worker thread.

Implement it for riscv, arm, and mips. Remove the #ifdefs, so it will
not go unimplemented elsewhere.

PR: 259157
Reviewed by: mav, kib, markj (previous version)
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32580

(cherry picked from commit 0d2224733e970aaa67a4e1af7b340044adda92f6)

2 years agoarm64, powerpc: fix calculation of 'used' in GET_STACK_USAGE
Mitchell Horne [Tue, 30 Nov 2021 15:15:44 +0000 (11:15 -0400)]
arm64, powerpc: fix calculation of 'used' in GET_STACK_USAGE

We do not consider the space reserved for the pcb to be part of the
total kstack size, so it should not be included in the calculation of
the used stack size.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation

(cherry picked from commit b02908b051c897117ebbc3dcb55848383b17c435)

2 years agoi386: take pcb and fpu area into account in GET_STACK_USAGE
Mitchell Horne [Thu, 25 Nov 2021 15:54:33 +0000 (11:54 -0400)]
i386: take pcb and fpu area into account in GET_STACK_USAGE

On this platform, the pcb and FPU save area are allocated from the top
of each kernel stack, so they should be excluded from the calculation of
the total and used stack sizes.

Reviewed by: kib
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32581

(cherry picked from commit 8bc792b3845ecf64145fda7964a7b5cc54dea777)

2 years agopf: remove unused variables
Kristof Provost [Mon, 22 Nov 2021 19:30:22 +0000 (20:30 +0100)]
pf: remove unused variables

No functional change intended.

Reviewed by: glebius
MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D33085

(cherry picked from commit c36f90417b734e56ef938cc2d19601001c709f40)

2 years agoMakefile.inc1: Silence an error in make packages
Juraj Lutter [Sun, 28 Nov 2021 20:44:13 +0000 (21:44 +0100)]
Makefile.inc1: Silence an error in make packages

Silence an error in "packages" target, like:

eval: /usr/src: Permission denied

on systems without subversion present.

Reviewed by: emaste
Approved by: emaste
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D33153

(cherry picked from commit aaa4cd7f3c933950582dfb4f0eac23a200dafe53)

2 years agofusefs: Fix a bug during VOP_STRATEGY when the server changes file size
Alan Somers [Sun, 3 Oct 2021 17:51:14 +0000 (11:51 -0600)]
fusefs: Fix a bug during VOP_STRATEGY when the server changes file size

If the FUSE server tells the kernel that a file's size has changed, then
the kernel must invalidate any portion of that file in cache.  But the
kernel can't do that during VOP_STRATEGY, because the file's buffers are
already locked.  Instead, proceed with the write.

PR: 256937
Reported by: Agata <chogata@moosefs.pro>
Tested by: Agata <chogata@moosefs.pro>
Reviewed by: pfg
Differential Revision: https://reviews.freebsd.org/D32332

(cherry picked from commit 032a5bd55b3a003d3560435422a95f27f91685fe)

2 years agofusefs: fix a recurse-on-non-recursive lockmgr panic
Alan Somers [Sat, 2 Oct 2021 18:17:36 +0000 (12:17 -0600)]
fusefs: fix a recurse-on-non-recursive lockmgr panic

fuse_vnop_bmap needs to know the file's size in order to calculate the
optimum amount of readahead.  If the file's size is unknown, it must ask
the FUSE server.  But if the file's data was previously cached and the
server reports that its size has shrunk, fusefs must invalidate the
cached data.  That's not possible during VOP_BMAP because the buffer
object is already locked.

Fix the panic by not querying the FUSE server for the file's size during
VOP_BMAP if we don't need it.  That's also a a slight performance
optimization.

PR: 256937
Reported by: Agata <chogata@moosefs.pro>
Tested by: Agata <chogata@moosefs.pro>

(cherry picked from commit 7430017b9978cae054ed99e5160f739e5ca021d5)

2 years agofusefs: quiet some cache-related warnings
Alan Somers [Sun, 3 Oct 2021 16:59:04 +0000 (10:59 -0600)]
fusefs: quiet some cache-related warnings

If the FUSE server does something that would make our cache incoherent,
we should print a warning to the user.  However, we previously warned in
some situations when we shouldn't, such as if the file's size changed on
the server _after_ our own attribute cache had expired.  This change
suppresses the warning in cases like that.  It also moves the warning
logic to a single place within the code.

PR: 256936
Reported by: Agata <chogata@moosefs.pro>
Tested by: Agata <chogata@moosefs.pro>, jSML4ThWwBID69YC@protonmail.com

(cherry picked from commit 5d94aaacb5180798b2f698e33937f068386004eb)

2 years agofusefs: implement FUSE_NO_OPEN_SUPPORT and FUSE_NO_OPENDIR_SUPPORT
Alan Somers [Sat, 25 Sep 2021 03:53:28 +0000 (21:53 -0600)]
fusefs: implement FUSE_NO_OPEN_SUPPORT and FUSE_NO_OPENDIR_SUPPORT

For file systems that allow it, fusefs will skip FUSE_OPEN,
FUSE_RELEASE, FUSE_OPENDIR, and FUSE_RELEASEDIR operations, a minor
optimization.

Reviewed by: pfg
Differential Revision: https://reviews.freebsd.org/D32141

(cherry picked from commit 7124d2bc3a3bd58f6d3803a0579f2e0fa853b56d)

2 years agofusefs: diff reduction in fuse_kernel.h
Alan Somers [Sat, 25 Sep 2021 14:23:54 +0000 (08:23 -0600)]
fusefs: diff reduction in fuse_kernel.h

Synchronize formatting and documentation in fuse_kernel.h with upstream
sources.

Reviewed by: pfg
Differential Revision: https://reviews.freebsd.org/D32141

(cherry picked from commit a3a1ce3794e85fe27cb5af5e9f48a490a9ef70c2)

2 years agoAdd tests for posix_spawn_file_actions_add{chdir,fchdir}_np(3)
Konstantin Belousov [Sun, 28 Nov 2021 00:55:26 +0000 (02:55 +0200)]
Add tests for posix_spawn_file_actions_add{chdir,fchdir}_np(3)

(cherry picked from commit f16ec9c6e36f1d481468e7301d6f3b857db17561)

2 years agoDocument posix_spawn_file_actions_addclosefrom_np(3)
Konstantin Belousov [Sun, 28 Nov 2021 00:23:55 +0000 (02:23 +0200)]
Document posix_spawn_file_actions_addclosefrom_np(3)

(cherry picked from commit 78963d796d5cd8b4f6f0e810eaae7a5f02706b02)

2 years agoposix_spawn: add closefrom non-portable action
Konstantin Belousov [Sat, 27 Nov 2021 22:54:16 +0000 (00:54 +0200)]
posix_spawn: add closefrom non-portable action

(cherry picked from commit a18ddf775744f31a844fd01fbe90207f7c5e706d)

2 years agoDocument posix_spawn_file_actions_addchdir_np(3)
Konstantin Belousov [Sun, 28 Nov 2021 00:11:21 +0000 (02:11 +0200)]
Document posix_spawn_file_actions_addchdir_np(3)

(cherry picked from commit bd44dce5b3176c19a9435a5e7e125fc06182fbc9)

2 years agoposix_spawn: add chdir-related non-portable actions
Konstantin Belousov [Sat, 27 Nov 2021 22:49:03 +0000 (00:49 +0200)]
posix_spawn: add chdir-related non-portable actions

(cherry picked from commit 25cda42a498101612687b32005856cd8b14f2f7a)

2 years agoposix_spawn(3), posix_spawn_file_actions_addopen(3): use .Fo/.Fc
Konstantin Belousov [Sun, 28 Nov 2021 00:16:26 +0000 (02:16 +0200)]
posix_spawn(3), posix_spawn_file_actions_addopen(3): use .Fo/.Fc

(cherry picked from commit 8ed1e4a5c1a9d0550f1a81e80e22c4012dadec64)

2 years agoposix_spawn: style, use return ()
Konstantin Belousov [Sat, 27 Nov 2021 22:45:12 +0000 (00:45 +0200)]
posix_spawn: style, use return ()

(cherry picked from commit b239cc204a57de4fea7c9477169591ed2df36fc8)

2 years agoposix_spawn.c: format fae_action anon enum more stylish
Konstantin Belousov [Sat, 27 Nov 2021 22:36:19 +0000 (00:36 +0200)]
posix_spawn.c: format fae_action anon enum more stylish

(cherry picked from commit adbaf1b443c68c70911aeb62c9963dd583ec9b45)

2 years agoAdd elfctl to toolchain.
Marcin Wojtas [Fri, 21 May 2021 09:27:27 +0000 (11:27 +0200)]
Add elfctl to toolchain.

Add elfctl program to toolchain to allow modifying ELF feature flags
during system build.

Submitted by: Dawid Gorecki <dgr@semihalf.com>
Obtained from: Semihalf
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D29552

(cherry picked from commit c6081dea597a475e4bbcc8588ece03ae78b58978)

2 years agoBelatedly update contrib/llvm-project/FREEBSD-Xlist for llvm 13
Dimitry Andric [Sat, 20 Nov 2021 17:06:36 +0000 (18:06 +0100)]
Belatedly update contrib/llvm-project/FREEBSD-Xlist for llvm 13

(cherry picked from commit 3adc9c8c73a5225a841e663822b329b8bb8e64b6)

2 years agomips: Fix build of kernel.tramp.bin after upstream merge
Jessica Clarke [Thu, 11 Nov 2021 18:28:24 +0000 (19:28 +0100)]
mips: Fix build of kernel.tramp.bin after upstream merge

Since the upstream merge we end up with the compiler generating calls to
memcpy (and it appears upstream LLVM does too, so this will probably
also be a problem upstream when the LLVM 13 import is finished). Like
the kernel we should just compile this file with -ffreestanding to avoid
such surprises.

Note that elf_trampoline.c does actually provide a memcpy, but it's
static. That's a bit weird, and means by the time the memcpy calls are
generated by the compiler the explicit ones have already been inlined
and the function itself GC'ed, but since using -ffreestanding is the
right thing to do for this kind of code anyway, that doesn't actually
matter.

Obtained from: https://github.com/CTSRD-CHERI/cheribsd/commit/219ddb6293c

(cherry picked from commit a2fa290024e73107a214e37c257ce93a3f131a41)

2 years agoApply fix for LLVM PR51957 (Miscompilation in Botan's SHA3)
Dimitry Andric [Wed, 10 Nov 2021 18:38:23 +0000 (19:38 +0100)]
Apply fix for LLVM PR51957 (Miscompilation in Botan's SHA3)

Merge commit e27a6db5298f from llvm git (by Jameson Nash):

  Bad SLPVectorization shufflevector replacement, resulting in write to wrong memory location

  We see that it might otherwise do:

    %10 = getelementptr {}**, <2 x {}***> %9, <2 x i32> <i32 10, i32 4>
    %11 = bitcast <2 x {}***> %10 to <2 x i64*>
  ...
    %27 = extractelement <2 x i64*> %11, i32 0
    %28 = bitcast i64* %27 to <2 x i64>*
    store <2 x i64> %22, <2 x i64>* %28, align 4, !tbaa !2

  Which is an out-of-bounds store (the extractelement got offset 10
  instead of offset 4 as intended). With the fix, we correctly generate
  extractelement for i32 1 and generate correct code.

  Differential Revision: https://reviews.llvm.org/D106613

(cherry picked from commit 397a8ba05313cc3815d219c9d1b2de1372fcb561)

2 years agoFix assertion when building devel/glog with new pass manager
Dimitry Andric [Tue, 2 Nov 2021 10:17:37 +0000 (11:17 +0100)]
Fix assertion when building devel/glog with new pass manager

Merge commit 029f1a534489 from llvm git (by Arthur Eubanks):

  [LazyCallGraph] Skip blockaddresses

  blockaddresses do not participate in the call graph since the only
  instructions that use them must all return to someplace within the
  current function. And passes cannot retrieve a function address from a
  blockaddress.

  This was suggested by efriedma in D58260.

  Fixes PR50881.

  Reviewed By: nickdesaulniers

  Differential Revision: https://reviews.llvm.org/D112178

(cherry picked from commit a18c6161efc903f636c41b8e521e917a5b315ce8)

2 years agoFix "Bad machine code" when building world for mips or mips64
Dimitry Andric [Mon, 18 Oct 2021 14:50:24 +0000 (16:50 +0200)]
Fix "Bad machine code" when building world for mips or mips64

Merge commit f5755c0849a5 from llvm git (by Jessica Clarke):

  [Mips] Add glue between CopyFromReg, CopyToReg and RDHWR nodes for TLS

  The MIPS ABI requires the thread pointer be accessed via rdhwr $3, $r29.
  This is currently represented by (CopyToReg $3, (RDHWR $29)) followed by
  a (CopyFromReg $3). However, there is no glue between these, meaning
  scheduling can break those apart. In particular, PR51691 is a report
  where PseudoSELECT_I was moved to between the CopyToReg and CopyFromReg,
  and since its expansion uses branches, it split the def and use of the
  physical register between two basic blocks, resulting in the def being
  eliminated and the use having no def. It also seems possible that a
  similar situation could arise splitting up the CopyToReg from the RDHWR,
  causing the RDHWR to use a destination register other than $3, violating
  the ABI requirement.

  Thus, add glue between all three nodes to ensure they aren't split up
  during instruction selection. No regression test is added since any test
  would be implictly relying on specific scheduling behaviour, so whilst
  it might be testing that glue is preventing reordering today, changes to
  scheduling behaviour could result in the test no longer being able to
  catch a regression here, as the reordering might no longer happen for
  other unrelated reasons.

  Fixes PR51691.

  Reviewed By: atanasyan, dim

  Differential Revision: https://reviews.llvm.org/D111967

(cherry picked from commit 4e117af10caf2b6f95c7ef44b08aa7a812a37286)

2 years agoStop clang 13 from defining conflicting macros on PowerPC
Dimitry Andric [Fri, 1 Oct 2021 19:43:21 +0000 (21:43 +0200)]
Stop clang 13 from defining conflicting macros on PowerPC

Merge commit c9539f957f57 from llvm git (by Nemanja Ivanovic):

  [PowerPC] Define XL-compatible macros only for AIX and Linux

  Since XLC only ever shipped on PowerPC AIX and Linux, it is not
  reasonable to provide the compatibility macros on any target other
  than those two. This patch restricts those macros to AIX/Linux.

  Differential revision: https://reviews.llvm.org/D110213

PR: 258209
(cherry picked from commit 39dadd0628cd1f28be39a3ab35969545b7401623)

2 years agoMerge llvm-project 13.0.0 release
Dimitry Andric [Sun, 26 Sep 2021 11:33:13 +0000 (13:33 +0200)]
Merge llvm-project 13.0.0 release

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-0-gd7b669b3a303, aka 13.0.0 release.

PR: 258209

(cherry picked from commit 28a41182c08e79534be77131840bcfdf73d31343)

2 years agollvm-readobj: Add missed source file
Dimitry Andric [Sat, 16 Oct 2021 21:16:46 +0000 (23:16 +0200)]
llvm-readobj: Add missed source file

In some configurations (e.g. powerpc64) the llvm-readobj tool also needs
contrib/llvm-project/llvm/BinaryFormat/MsgPackWriter.cpp, so add it to
libllvm.

Reported by: Shawn Webb <shawn.webb@hardenedbsd.org>
Fixes: 1b85b68da0b2

(cherry picked from commit 79239b5b47540d64ffd1e1226f0d12d49df339c1)

2 years agoFix a syntax error in 1b85b68da0b2
Alex Richardson [Thu, 14 Oct 2021 16:44:13 +0000 (17:44 +0100)]
Fix a syntax error in 1b85b68da0b2

Reported by: Michael Butler, jenkins

(cherry picked from commit 367ec75323e660f7827e960f55688d557291236c)

2 years agollvm-readobj: Attach to buildsystem
Cameron Katri [Thu, 14 Oct 2021 16:00:27 +0000 (17:00 +0100)]
llvm-readobj: Attach to buildsystem

Also install it as readelf when MK_LLVM_BINUTILS is set.

Reviewed By: dim, arichardson
Differential Revision: https://reviews.freebsd.org/D32058

(cherry picked from commit 1b85b68da0b2de80e0e3aefb1ade226bcf3951cb)

2 years agoMerge llvm-project release/13.x llvmorg-13.0.0-rc3-8-g08642a395f23
Dimitry Andric [Sun, 19 Sep 2021 08:42:48 +0000 (10:42 +0200)]
Merge llvm-project release/13.x llvmorg-13.0.0-rc3-8-g08642a395f23

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc3-8-g08642a395f23.

PR: 258209

(cherry picked from commit 8c6f6c0c80f896f9c90b7833def615dcb0ce9244)

2 years agoMerge llvm-project release/13.x llvmorg-13.0.0-rc2-43-gf56129fe78d5
Dimitry Andric [Thu, 9 Sep 2021 20:15:13 +0000 (22:15 +0200)]
Merge llvm-project release/13.x llvmorg-13.0.0-rc2-43-gf56129fe78d5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc2-43-gf56129fe78d5.

PR: 258209

(cherry picked from commit 69ade1e033e478ec426cafc0ec2104d672de294a)

2 years agoMerge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a
Dimitry Andric [Wed, 25 Aug 2021 18:31:14 +0000 (20:31 +0200)]
Merge llvm-project release/13.x llvmorg-13.0.0-rc1-97-g23ba3732246a

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13.0.0-rc1-97-g23ba3732246a.

PR: 258209

(cherry picked from commit 6e75b2fbf9a03e6876e0a3c089e0b3ad71876125)

2 years agoMerge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5
Dimitry Andric [Sun, 22 Aug 2021 19:00:43 +0000 (21:00 +0200)]
Merge llvm-project main llvmorg-13-init-16847-g88e66fa60ae5

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-13-init-16847-g88e66fa60ae5, the last commit before
the upstream release/13.x branch was created.

PR: 258209

(cherry picked from commit fe6060f10f634930ff71b7c50291ddc610da2475)

2 years agoheaders: Implement _ISOC11_SOURCES macro when __POSIX_C_SOURCE defined
Warner Losh [Thu, 6 May 2021 22:20:19 +0000 (16:20 -0600)]
headers: Implement _ISOC11_SOURCES macro when __POSIX_C_SOURCE defined

When _ISOC11_SOURCES is defined for glibc at the same time
__POSIX_C_SOURCE is defined, it extends the __POSIX_C_SOURCE definition
by exaclty what C11 adds to the spec for each system header.  We follow
both OpenBSD's and glibc's convention by also C11 or higher compliation
mode is selected.

The Open Group is working on issuing a new version of the POSIX standard
that will realign the standard from C99 to a newer version of C. This
commit is a stop-gap measure for greater compatibility until that
environment has been standardized.

Reviewed by: brooks@, arichards@, Olivier Certne
(comments tweaked before commit)
PR: 255290
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D29902

(cherry picked from commit a709a4f0d4e0303eb40ea1b39b4bb35837800805)

2 years agompr: fix freeze / release mismatch in timeout code
Warner Losh [Sun, 21 Nov 2021 15:50:46 +0000 (08:50 -0700)]
mpr: fix freeze / release mismatch in timeout code

So, if we're processing a timeout, and we've sent an ABORT to the
firmware for that timeout, but not yet received the response from the
firmware, AND we get another timeout, we queue the timeout and freeze
the queue. However, when we've finally processed them all, we only
release the queue once. This causes all I/O to halt as the devq remains
frozen forever.

Instead, only freeze the queue when we start the process (eg set INRESET
on the target). This will allow the release when all the timed out I/Os
have finished ABORTing.

Sponsored by: Netflix
Reviewed by: mav
Differential Revision: https://reviews.freebsd.org/D33054

(cherry picked from commit a8837c77efd0bb9d934657edf87a9a66baac7479)

2 years agosys/uuid.h: Include sys/types.h
Warner Losh [Wed, 24 Nov 2021 17:49:53 +0000 (10:49 -0700)]
sys/uuid.h: Include sys/types.h

Change the include of sys/cdefs.h to sys/types.h to pick up all the
types. sys/types.h includes cdefs.h.

Sponsored by: Netflix

(cherry picked from commit 00dbcdbe0a5af49d76711a48a84a720ab4243a57)

2 years agosys/backlight.h: include sys/types.h
Warner Losh [Wed, 24 Nov 2021 17:49:34 +0000 (10:49 -0700)]
sys/backlight.h: include sys/types.h

Sponsored by: Netflix

(cherry picked from commit 9be3985f6501034f15b220fd1ce16a8cdc011f6a)

2 years agosys/ata.h: Include sys/types.h
Warner Losh [Wed, 24 Nov 2021 17:48:10 +0000 (10:48 -0700)]
sys/ata.h: Include sys/types.h

This file needs types defined by sys/types.h, and there's no reason not
to include sys/types.h here.

Sponsored by: Netflix

(cherry picked from commit d69b6fa5b449422b217aad22a81f3e3ec8dd6894)

2 years agosys/disk/*.h: Include sys/types.h
Warner Losh [Wed, 24 Nov 2021 17:41:57 +0000 (10:41 -0700)]
sys/disk/*.h: Include sys/types.h

All these files use types defined by sys/types.h. Add an include of it
at the top to make them standalone.

Sponsored by: Netflix

(cherry picked from commit fde1edaae7f05f753f3d0787744bcb466b634e7b)

2 years agosys/alq.h: Kernel only file, mark as such
Warner Losh [Wed, 24 Nov 2021 17:39:10 +0000 (10:39 -0700)]
sys/alq.h: Kernel only file, mark as such

The alq interfaces are 100% in-kernel, so make this whole file #ifdef
_KERNEL. There's no users of this in the tree outside of the kernel, nor
does it define anything that could be useful at peeking into the state
of alq.

Sponsored by: Netflix

(cherry picked from commit 242d6201a6c840a68dc19b0df1157568751e1391)

2 years agosys/acct.h: Add sys/types.h include
Warner Losh [Wed, 24 Nov 2021 17:37:48 +0000 (10:37 -0700)]
sys/acct.h: Add sys/types.h include

There's no harm in including sys/types.h here and acct.h needs it. This
file isn't defined by any standard, so what we do here wrt namespaces
likely doesn't matter. If it does, it will be easy enough to add the
necessary __BSD_VISIBLE guards in the future.

Sponsored by: Netflix

(cherry picked from commit b194db935565d58392c21906419cbd99a5ecc0c3)

2 years agosys/file.h: Allow inclusion when compiling for a strict namespace
Warner Losh [Wed, 24 Nov 2021 09:25:47 +0000 (02:25 -0700)]
sys/file.h: Allow inclusion when compiling for a strict namespace

Although not part of the standard, this file is sometimes included with
-D_POSIX_C_SOURCE=<value> or -D_XOPEN_SOURCE=<value>. Limit those
sturctures that use types hidden by __BSD_VISIBLE to when they are
visible.

PR: 259975, 234205
Sponsored by: Netflix

(cherry picked from commit a2b53e53a3f38dd89b64500a2d2a1727baffe4f9)

2 years agodevctl.h: Spelling typo
Warner Losh [Wed, 24 Nov 2021 09:12:35 +0000 (02:12 -0700)]
devctl.h: Spelling typo

Spell identifier correctly. While I'm here, further simplify.

Fixes: ee2c52fd3fd9
Sponsored by: Netflix

(cherry picked from commit b3fab418301eaadb3b9ac24f9ff295a84521dc54)

2 years agocam: Unbreak CAM_IO_STATS build
Warner Losh [Wed, 24 Nov 2021 09:10:53 +0000 (02:10 -0700)]
cam: Unbreak CAM_IO_STATS build

Fixes: 6637b7460066
Sponsored by: Netflix

(cherry picked from commit 1bc9ca3b35d280cdb0dbefa69bebf687970d1ef6)

2 years agoFix copyright to be like all my others in the tree
Warner Losh [Wed, 24 Nov 2021 03:52:59 +0000 (20:52 -0700)]
Fix copyright to be like all my others in the tree

(cherry picked from commit 09f1ead2302109abff50277533cc16ebfc406eb0)

2 years agoBasic signal tests: Can we deliver a signal?
Warner Losh [Tue, 23 Nov 2021 20:37:14 +0000 (13:37 -0700)]
Basic signal tests: Can we deliver a signal?

Basic signal tests that tests can we deliver a signal via raise() and
can we deliver one via SIGALARM asynchronously.

In addition, tests whether or not on ARM T32 (Thumb) code can interrupt
A32 (normal) and vice versa.

While this test is aimed at ensuring basic qemu signals are working,
it's good to have in the base.

Sponsored by: Netflix
Discussed with: kevans, cognet
Differential Revision: https://reviews.freebsd.org/D33078

(cherry picked from commit afc5ab870d8661a7dacdbd65554c2f3533aecb8d)

2 years agocam: Remove all the write-only variables
Warner Losh [Wed, 24 Nov 2021 04:14:05 +0000 (21:14 -0700)]
cam: Remove all the write-only variables

Delete all the write only variables in CAM. At worst, the only behavior
change would be to prevent core dumps from chasing NULL pointers (though
I think in all these cases the pointers can't be NULL).

Sponsored by: Netflix

(cherry picked from commit 6637b7460066314f9b3ce0073ec6563e15ece608)

2 years agosys/devctl.h: Only declare kernel functions in kernel.
Warner Losh [Wed, 24 Nov 2021 03:28:45 +0000 (20:28 -0700)]
sys/devctl.h: Only declare kernel functions in kernel.

Also, while I'm here, switch to newer, shorter format and fix my
copyright to match the others in the tree.

Sponsored by: Netflix

(cherry picked from commit ee2c52fd3fd9dd19c1f7117cdda968ec4e08c898)

2 years agopowerpc: Make machine/reg.h self-contained
Warner Losh [Wed, 24 Nov 2021 01:50:20 +0000 (18:50 -0700)]
powerpc: Make machine/reg.h self-contained

Make powerpc*'s machine/reg.h self-contained so that sys/reg.h can be
self-contained.

Sponsored by: Netflix

(cherry picked from commit 76d6bb6a6e8f61ed267ac245cdf2d293deade8d7)

2 years agoriscv: Make machine/regs.h self-contained
Warner Losh [Wed, 24 Nov 2021 01:47:26 +0000 (18:47 -0700)]
riscv: Make machine/regs.h self-contained

Make sys/reg.h self-contained by making riscv's machine/reg.h
self-contained.

Sponsored by: Netflix

(cherry picked from commit d2bf8c544adc4b080d3ab15d4f08f501b689d964)

2 years agoarm64: Make machine/reg.h self contained
Warner Losh [Wed, 24 Nov 2021 01:01:01 +0000 (18:01 -0700)]
arm64: Make machine/reg.h self contained

Make sys/reg.h includable on aarch64 by making machine/reg.h
self-contained: Include sys/_types.h and use __uint* instead of uint*.

Sponsored by: Netflix

(cherry picked from commit 8ee8271e22975f77f8c147c81470b8eaee3bbab9)

2 years agoarm: Make machine/reg.h self-contained
Warner Losh [Wed, 24 Nov 2021 00:49:56 +0000 (17:49 -0700)]
arm: Make machine/reg.h self-contained

Allow inclusion of sys/reg.h w/o pre-requisites by making arm's machine/reg.h
self-contained.

Sponsored by: Netflix

(cherry picked from commit b57e0aa4ef4319334df8018bc60fd28a84b074cc)

2 years agokqueue: Define older kqueue event types better
Warner Losh [Tue, 23 Nov 2021 17:51:46 +0000 (10:51 -0700)]
kqueue: Define older kqueue event types better

struct kqueue is designed to live in a restricted namespace, but the
older compat versions are not. Shift to using unsigned short instead
of u_short, unsigned int instead of u_int and the __*int*_t types
instead of the unprefiexed versions.

Sponsored by: Netflix
Reviewed by: brooks
Differential Revision: https://reviews.freebsd.org/D33056

(cherry picked from commit 9109192197166e72ce0c04e5f04fc82f35a82f40)

2 years agoCorrect the name of the second parameter of biowait to wmesg
Wuyang Chung [Sun, 17 Oct 2021 03:25:27 +0000 (11:25 +0800)]
Correct the name of the second parameter of biowait to wmesg

This parameter is passed directly to msleep, and the name of the msleep
parameter is wmesg. Make them match.

Pull Request: https://github.com/freebsd/freebsd-src/pull/557

(cherry picked from commit 8587d752558ccdfa3e3a9aa95f3af50304a973dc)

2 years agorelease/packages/Makefile.package: Fix typo
Elyes HAOUAS [Sat, 6 Nov 2021 11:59:36 +0000 (12:59 +0100)]
release/packages/Makefile.package: Fix typo

"librairies" --> "libraries"

Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Pull Request: https://github.com/freebsd/freebsd-src/pull/553
(cherry picked from commit 04912a8d1c15f9771545059032eedb9b0fea6e70)

2 years agoFix typo on "Celsius"
Elyes HAOUAS [Wed, 6 Oct 2021 15:32:15 +0000 (17:32 +0200)]
Fix typo on "Celsius"

"Celcius" --> "Celsius"

Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
Pull Request: https://github.com/freebsd/freebsd-src/pull/551/files
(cherry picked from commit 9097ac9af4144187d080cf6c796c50d777e517b1)

2 years agonanobsd/rescue: Catch up to 20210907 OpenSSH import
Warner Losh [Fri, 19 Nov 2021 05:54:54 +0000 (22:54 -0700)]
nanobsd/rescue: Catch up to 20210907 OpenSSH import

Sponsored by: Netflix

(cherry picked from commit 872d50a5d8fca234823385c0a134cd0da0f4477a)

2 years agonanobsd: remove psuedo-terminals from ttys
Warner Losh [Fri, 19 Nov 2021 05:49:13 +0000 (22:49 -0700)]
nanobsd: remove psuedo-terminals from ttys

Yowsa! Another review mentioned this in passing... Only 10 years late.

Sponsored by: Netflix

(cherry picked from commit 137692469769bb10625fb7dd29f867f93f05b641)