Commit Graph

278289 Commits

Author SHA1 Message Date
Andrew Turner
7a5d47de97 Make adding children consistant in the GICv3 drivers
Reorder statements to make them consistant between the ACPI and FDT
GICv3 attachments.

Reported by:	jrtc27
Sponsored by:	Innovate UK
2022-09-23 15:28:45 +01:00
Andrew Turner
839374bbfe Teach the GICv3 driver to translate memory ranges
As with the GICv1/2 driver teach the GICv3 driver to translate memory
ranges of children. This allows us to create a common
bus_alloc_resource implementation for bot hACPI and FDT attachments.

Sponsored by:	The FreeBSD Foundation
2022-09-23 15:28:45 +01:00
Andrew Turner
bdc9ece97b Move the GICv3 bus_print_child function to the parent
This should be common for both ACPI and FDT. Move this to the common
part of the driver.

Sponsored by:	The FreeBSD Foundation
2022-09-23 15:28:45 +01:00
Andrew Turner
6fc6896c47 Add bus_get_resource_list functions to the GICv3 driver
This will be used to reduce code duplication between the ACPI and FDT
attachments.

Sponsored by:	The FreeBSD Foundation
2022-09-23 15:28:45 +01:00
Hans Petter Selasky
f50274674e ibcore: The use of IN_LOOPBACK() now requires a valid VNET context.
Make sure the VNET is set before using this macro.

Fixes:		efe58855f3
PR:		266054
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2022-09-23 13:42:03 +02:00
Pau Amma
f968cb140f Track removal of Tokenring and FDDI media types from devd.cc.
Fixes:	eec02418d8 Remove support for FDDI and token ring media types in userland utilities.

Reviewed by:	brooks, gjb, imp

Approved by:	brooks (src), gjb (mentor, src), imp (src)

Differential Revision: https://reviews.freebsd.org/D36668

MFC after:	3 days
2022-09-23 10:32:49 +02:00
Cy Schubert
00d8a28f19 ipfilter/libipf: printpool_live() consumer ignores return code
The single consumer of printpool_live() ignores the return code.
Avoid wasting resources on this.

MFC after:	2 weeks
2022-09-22 15:38:12 -07:00
Cy Schubert
5568c8b2c5 ipfilter/ippool: Return error code when listing a pool fails
When an internal or other error occurs during the listing of a pool,
return an error code when extiting ippool(8). Printing an error to
stderr without returning an error code is useless in shell scripts.

MFC after:	2 weeks
2022-09-22 15:38:11 -07:00
Cy Schubert
7531c434a5 ipfilter/ippool: Dump a copy of ippool in ippool.conf format
Add an ippool(8) option to dump a copy of the inm-memory ippool tables
in an ippool(5) format so that it can be reloaded using ippool -f.

MFC after:	2 weeks
2022-09-22 15:38:11 -07:00
Maxim Konovalov
7e58c8aa82 iwlwifi.4: typo fixed
PR:	266554
2022-09-22 22:35:16 +00:00
John Baldwin
6bddde307e Bump __FreeBSD_version for pmap_unmap*() and kmem_*() API changes.
Sponsored by:	DARPA
2022-09-22 15:10:03 -07:00
John Baldwin
f49fd63a6a kmem_malloc/free: Use void * instead of vm_offset_t for kernel pointers.
Reviewed by:	kib, markj
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D36549
2022-09-22 15:09:19 -07:00
John Baldwin
7ae99f80b6 pmap_unmapdev/bios: Accept a pointer instead of a vm_offset_t.
This matches the return type of pmap_mapdev/bios.

Reviewed by:	kib, markj
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D36548
2022-09-22 15:08:52 -07:00
Navdeep Parhar
02fac928ab cxgbe(4): Fix potential integer overflow in t4_tstmp_to_ns.
Coverity flagged this in its latest run but it is not a problem in
practice as the card's core clock would have to be > 4.2GHz for any
overflow to occur.

CID 1498303:  Integer handling issues  (OVERFLOW_BEFORE_WIDEN)
Potentially overflowing expression "sc->params.vpd.cclk * 1000U" with type "unsigned int" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then used in a context that expects an expression of type "uint64_t" (64 bits, unsigned).

Reported by:	Coverity Scan (CID 1498303)
Sponsored by:	Chelsio Communications
2022-09-22 09:47:11 -07:00
Bjoern A. Zeeb
f95c0bc89e Bump __FreeBSD_version after LinuxKPI changes. 2022-09-22 15:11:41 +00:00
Bjoern A. Zeeb
f7c0c1590e LinuxKPI: cache.h add L1_CACHE_ALIGN()
Sponsored by:	The FreeBSD Foundation
MFC after:	7 days
Reviewed by:	hselasky
Differential Revision: https://reviews.freebsd.org/D36655
2022-09-22 15:10:04 +00:00
Bjoern A. Zeeb
30048f6142 LinuxKPI: pci.h split up pcim_iomap_regions_request_all()
Factor out parts of pcim_iomap_regions_request_all() into
pcim_iomap_regions() now needed for a driver.

Sponsored by:	The FreeBSD Foundation
MFC after:	7 days
Reviewed by:	hselasky
Differential Revision: https://reviews.freebsd.org/D36654
2022-09-22 15:10:04 +00:00
Bjoern A. Zeeb
8e30f49256 LinuxKPI: if_ether.h add more constants
In addition to the ones added last year add more found in modern
drivers.

Sponsored by:	The FreeBSD Foundation
MFC after:	7 days
Reviewed by:	hselasky
Differential Revision: https://reviews.freebsd.org/D36656
2022-09-22 15:10:04 +00:00
Bjoern A. Zeeb
046b82842c LinuxKPI: io.h constify arguments and add more functions
Constify "*from" arguments and add __ioread32_copy() and
__ioread64_copy() based on the already existing implementations.

Sponsored by:	The FreeBSD Foundation
MFC after:	7 days
Reviewed by:	hselasky
Differential Revision: https://reviews.freebsd.org/D36657
2022-09-22 15:10:04 +00:00
Bjoern A. Zeeb
7105f0d967 LinuxKPI: dma-mapping: add dmam_alloc_coherent()
Add the devres version dmam_alloc_coherent() of dma_alloc_coherent()
along with the ancillary free function.

Sponsored by:	The FreeBSD Foundation
MFC after:	7 days
Reviewed by:	hselasky
Differential Revision: https://reviews.freebsd.org/D36661
2022-09-22 15:10:03 +00:00
Bjoern A. Zeeb
f9f4988dc4 LinuxKPI: tracepoint.h add more defines
Add some more defines used in drivers to make it easier to compile.

MFC after:	7 days
Reviewed by:	hselasky, emaste
Differential Revision: https://reviews.freebsd.org/D36660
2022-09-22 15:10:03 +00:00
Bjoern A. Zeeb
fdc7ef3c98 LinuxKPI: pci_ids.h Add more Vendor IDs.
Add PCI vendor IDs found in ath and mt76 drivers.  This should make it
easier for me and others not having to re-define them locally.

MFC after:	7 days
Reviewed by:	hselasky, emaste
Differential Revision: https://reviews.freebsd.org/D36659
2022-09-22 15:10:03 +00:00
Bjoern A. Zeeb
b27c3aa800 LinuxKPI: lockdep.h add lockdep_{,un}register_key()
Add NOPs for lockdep_{,un}register_key().

Sponsored by:	The FreeBSD Foundation
MFC after:	7 days
Reviewed by:	hselasky, emaste
Differential Revision: https://reviews.freebsd.org/D36658
2022-09-22 15:10:03 +00:00
Bjoern A. Zeeb
c41d83548b LinuxKPI: pci.h add more defines and functions
Add #defines for PCI_DEVICE_ID and repoint the PCI_VENDOR_ID one.
Add dev_is_pci().
Add pcie_capability_clear_word() according to similar implementations.

Sponsored by:	The FreeBSD Foundation
MFC after:	7 days
Reviewed by:	hselasky, emaste
Differential Revision: https://reviews.freebsd.org/D36653
2022-09-22 15:10:03 +00:00
Bjoern A. Zeeb
e999fbf077 LinuxKPI: device.h add devm_kmemdup()
Add devm_kmemdup() as needed by a networking driver.

Sponsored by:	The FreeBSD Foundation
MFC after:	7 days
eviewed by: 	hselasky, emaste
Differential Revision: https://reviews.freebsd.org/D36652
2022-09-22 15:09:26 +00:00
Alexander V. Chernikov
91ebcbe02a if_clone: migrate some consumers to the new KPI.
Convert most of the cloner customers who require custom params
 to the new if_clone KPI.

Reviewed by:	kp
Differential Revision:	https://reviews.freebsd.org/D36636
MFC after:	2 weeks
2022-09-22 12:30:09 +00:00
Richard Scheffenegger
a743fc8826 tcp: fix cwnd restricted SACK retransmission loop
While doing the initial SACK retransmission segment while heavily cwnd
constrained, tcp_ouput can erroneously send out the entire sendbuffer
again. This may happen after an retransmission timeout, which resets
snd_nxt to snd_una while the SACK scoreboard is still populated.

Reviewed By:		tuexen, #transport
PR:			264257
PR:			263445
PR:			260393
MFC after:		3 days
Sponsored by:		NetApp, Inc.
Differential Revision:	https://reviews.freebsd.org/D36637
2022-09-22 13:28:43 +02:00
Konstantin Belousov
2f72ee987d ldd: remove '[preloaded]' marker for the preloaded objects
for the default output.  For '-a' (per-object needed printout) the
[preloaded] banner is kept.

Instead, use special format2 for printing the preloaded objects (and
vdso), which does not include DT_NEEDED, since there is no object
needing the printed one.

In this way, the output is more compatible with glibc.

Example:
LD_PRELOAD=/lib/libthr.so.3 LD_TRACE_LOADED_OBJECTS=1 /libexec/ld-elf.so.1 /bin/ls
        libutil.so.9 => /lib/libutil.so.9 (0x801099000)
        libncursesw.so.9 => /lib/libncursesw.so.9 (0x8010b0000)
        libc.so.7 => /lib/libc.so.7 (0x801123000)
        [vdso] (0x7ffffffff000)
        /lib/libthr.so.3 (0x80106c000)
Note the absense of the part before and including '=>' for preloaded
libthr.so.3, and for vdso.

PR:	265750
Reviewed by:	jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D36616
2022-09-22 14:20:13 +03:00
Alexander V. Chernikov
09ee0fc023 if_clone: rework cloning KPI
The current cloning KPI does not provide a way of creating interfaces
 with parameres from within kernel. The reason is that those parameters
 are passed as an opaque pointer and it is not possible to specify whether
 this pointer references kernel-space or user-space.
Instead of just adding a flag, generalise the KPI to simplify the
 extension process. Unify current notion of `SIMPLE` and `ADVANCED` users
 by leveraging newly-added IFC_C_AUTOUNIT flag to automatically pick
 unit number, which is a primary feature of the "SIMPLE" KPI.
Use extendable structures everywhere instead of passing function
 pointers or parameters.
Isolate all parts of the oldKPI under `CLONE_COMPAT_13` so it can be safely
 merged back to 13. Old KPI will be removed after the merge.

Differential Revision: https://reviews.freebsd.org/D36632
MFC after:	2 weeks
2022-09-22 10:18:31 +00:00
Michael Tuexen
5ae83e0d87 tcp: send ACKs when requested
When doing Limited Transmit send an ACK when needed by the protocol
processing (like sending ACKs with a DSACK block).

PR:			264257
PR:			263445
PR:			260393
Reviewed by:		rscheff@
MFC after:		3 days
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D36631
2022-09-22 12:12:11 +02:00
Martin Matuska
1761afc50a zfs: fix powerpc build broken in c7046f76c2
The breakage was introduced in OpenZFS commit 48cf170d5.
When a (different) fix solving this issue gets upstreamed
it will replace the current fix in the next merge from OpenZFS.
2022-09-22 12:04:28 +02:00
Alexander V. Chernikov
12aeeb9190 epair: deduplicate interface allocation code #1
Simplify epair_clone_create() and epair_clone_destroy() by
 factoring out epair softc allocation / desctruction and
 interface setup/teardown into separate functions.

Reviewed By: kp, zlei.huang_gmail.com
Differential Revision: https://reviews.freebsd.org/D36614
MFC after:	2 weeks
2022-09-22 09:06:06 +00:00
Gleb Smirnoff
9453ec6619 tcp: increment tcpstats in tcp_respond()
tcp_respond() crafts a packet and sends it directly to ip[6]output(),
bypassing tcp_output().  Hence it must increment TCP send statistics.

Reviewed by:		rscheff, tuexen, rrs (implicitly)
Differential revision:	https://reviews.freebsd.org/D36641
2022-09-21 14:03:33 -07:00
Gleb Smirnoff
493105c2a8 tcp: fix simultaneous open and refine e80062a2d4
- The soisconnected() call on transition from SYN_RCVD to ESTABLISHED
  is also necessary for a half-synchronized connection.  Fix that
  just setting the flag, when we transfer SYN-SENT -> SYN-RECEIVED.
- Provide a comment that explains at what conditions the call to
  soisconnected() is necessary.
- Hence mechanically rename the TF_INCQUEUE flag to TF_SONOTCONN.
- Extend the change to the BBR and RACK stacks.

Note: the interaction between the accept_filter(9) and the socket layer
is not fully consistent, yet.  For most accept filters this call to
soisconnected() will not move the connection from the incomplete queue
to the complete.  The move would happen only when the filter has received
the desired data, and soisconnected() would be called once again from
sorwakeup().  Ideally, we should mark socket as connected only there,
and leave the soisconnected() from SYN_RCVD->ESTABLISHED only for the
simultaneous open case.  However, this doesn't yet work.

Reviewed by:		rscheff, tuexen, rrs
Differential revision:	https://reviews.freebsd.org/D36641
2022-09-21 14:02:49 -07:00
Zhenlei Huang
d819ddba9a lio: Remove unneeded include.
Reviewed by:		adiran, imp
Differential Revision:	https://reviews.freebsd.org/D36501
2022-09-21 14:53:00 -06:00
Kristof Provost
d99d59a79f if_ovpn: fix memory leak on unload
When we're unloading the if_ovpn module we sometimes end up only freeing
the softc after the module is unloaded and the M_OVPN malloc type no
longer exists.

Don't return from ovpn_clone_destroy() until the epoch callbacks have
been called, which ensures that we've freed the softc before we destroy
M_OVPN.

Sponsored by:	Rubicon Communications, LLC ("Netgate")
2022-09-21 21:44:59 +02:00
Kristof Provost
9dfbbc919f if_ovpn: remove incorrect rounding up of packet sizes
The ciphers used by OpenVPN (DCO) do not require data to be block-sized.
Do not round up to AES_BLOCK_LEN, as this can lead to issues with
fragmented packets.

Reported by:	Gert Doering <gert@greenie.muc.de>
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2022-09-21 21:44:59 +02:00
Bjoern A. Zeeb
8ea48fc59e LinuxKPI: device.h remove duplicate #include
linux/types.h is included twice; reduce to the first.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2022-09-21 17:25:34 +00:00
Bjoern A. Zeeb
f02e21159b LinuxKPI: 802.11: add more header compat bits
First part adding more bits in order to synch up drivers to the same
level and enable a new ones.

MFC after:	3 days
2022-09-21 17:12:48 +00:00
Konstantin Belousov
8d42019058 cxgbe: fix kernel build without TCP_OFFLOAD or RATELIMIT
Reviewed by:	np
Fixes:	e398922eaf
Sponsored by:	Nvidia networking
Differential revision:	https://reviews.freebsd.org/D36648
2022-09-21 19:19:28 +03:00
Brooks Davis
24e1824e46 Deprecate telnet daemon
The telnetd codebase is old, unmaintained, and has a number of quality
issues.  Users wishing to provide telnetd service should find a
maintained implementation.  The telnet client is NOT deprecated as it
is lower risk.

Reviewed by:	pauamma, kevans, kp, melifaro
MFC After:	3 days
Differential Revision:	https://reviews.freebsd.org/D36619
2022-09-21 16:17:04 +01:00
Martin Matuska
c7046f76c2 zfs: merge openzfs/zfs@c629f0bf6
Notable upstream pull request merges:
  #13725 Fix BLAKE3 tuneable and module loading on Linux and FreeBSD
  #13756 FreeBSD: Organize sysctls
  #13773 FreeBSD: add kqfilter support for zvol cdev
  #13781 Importing from cachefile can trip assertion
  #13794 Apply arc_shrink_shift to ARC above arc_c_min
  #13798 Improve too large physical ashift handling
  #13799 Revert "Avoid panic with recordsize > 128k, raw sending and
         no large_blocks"
  #13802 Add zfs.sync.snapshot_rename
  #13831 zfs_enter rework
  #13855 zfs recv hangs if max recordsize is less than received
         recordsize

Obtained from:	OpenZFS
OpenZFS commit:	c629f0bf62
2022-09-21 14:17:13 +02:00
Zhenlei Huang
440217b0af debugnet: Fix parameter order in the calls to m_get()
Reviewed by:	markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D36643
2022-09-21 06:55:20 -04:00
Andrew Turner
42353d81e3 Use DEFINE_CLASS_0 in the arm generic timer
Rather than defining the structure manually use the DEFINE_CLASS_0
macro. As we have both an ACPI and FDT attachment we need to use the
_0 variant of the macro as DEFINE_CLASS would create two structures
with the same name.

Sponsored by:	The FreeBSD Foundation
2022-09-21 10:59:14 +01:00
Andrew Turner
e13c6a6fca Teach the GICv3 driver about a vgic child
This will be used by bhyve to attach a virtual GIC driver.

Sponsored by:	Innovate UK
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D36590
2022-09-21 10:59:13 +01:00
Andrew Turner
9526031cd5 Create macros for the Arm timer IRQ indexes
Rather than hard coding these values use a macro to document which
interrupt is being used.

Reviewed by:	emaste
Obtained from:	https://github.com/FreeBSD-UPB/freebsd-src (earlier version)
Sponsored by:	Innovate UK
Sponsored by:	The FreeBSD Foundation
Sponsored by:	University Politehnica of Bucharest
Differential Revision: https://reviews.freebsd.org/D36600
2022-09-21 10:59:08 +01:00
Xin LI
71f0c44a04 MFV 66082b6c88: libbsdxml (expat) 2.4.9 2022-09-21 00:02:38 -07:00
Xin LI
66082b6c88 Vendor import of expat 2.4.9. 2022-09-20 23:53:08 -07:00
Peter Holm
5b42ac2914 stress2: Added two syzkaller reproducers 2022-09-21 07:40:47 +02:00
Doug Moore
86d00db451 Use 0 and 1, not false and true, in tree.h changes.
Reported by:	jenkins
2022-09-20 23:36:40 -05:00