- 02 Dec, 2021 16 commits
-
-
Gleb Smirnoff authored
It will hide some internal HPTS knowledge from the consumers. Reviewed by: rrs Differential revision: https://reviews.freebsd.org/D33023
-
Gleb Smirnoff authored
With introduction of epoch(9) synchronization to network stack the inpcb database became protected by the network epoch together with static network data (interfaces, addresses, etc). However, inpcb aren't static in nature, they are created and destroyed all the time, which creates some traffic on the epoch(9) garbage collector. Fairly new feature of uma(9) - Safe Memory Reclamation allows to safely free memory in page-sized batches, with virtually zero overhead compared to uma_zfree(). However, unlike epoch(9), it puts stricter requirement on the access to the protected memory, needing the critical(9) section to access it. Details: - The database is already build on CK lists, thanks to epoch(9). - For write access nothing is changed. - For a lookup in the database SMR section is now required. Once the desired inpcb is found we need to transition from SMR section to r/w lock on the inpcb itself, with a check that inpcb isn't yet freed. This requires some compexity, since SMR section itself is a critical(9) section. The complexity is hidden from KPI users in inp_smr_lock(). - For a inpcb list traversal (a pcblist sysctl, or broadcast notification) also a new KPI is provided, that hides internals of the database - inp_next(struct inp_iterator *). Reviewed by: rrs Differential revision: https://reviews.freebsd.org/D33022
-
Gleb Smirnoff authored
Reviewed by: rrs Differential revision: https://reviews.freebsd.org/D33021
-
Gleb Smirnoff authored
With upcoming changes to the inpcb synchronisation it is going to be broken. Even its current status after the move of PCB synchronization to the network epoch is very questionable. This experimental feature was sponsored by Juniper but ended never to be used in Juniper and doesn't exist in their source tree [sjg@, stevek@, jtl@]. In the past (AFAIK, pre-epoch times) it was tried out at Netflix [gallatin@, rrs@] with no positive result and at Yandex [ae@, melifaro@]. I'm up to resurrecting it back if there is any interest from anybody. Reviewed by: rrs Differential revision: https://reviews.freebsd.org/D33020
-
Gleb Smirnoff authored
Reviewed by: rrs Differential revision: https://reviews.freebsd.org/D33019
-
Don Morris authored
Reviewed by: vangyzen, whu, bdrewery Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D30060
-
Ed Maste authored
-
Ed Maste authored
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
-
Gordon Bergling authored
- s/duirng/during/ MFC after: 3 days
-
Mateusz Piotrowski authored
The ports tree now has its own prepare-commit-msg Git hook, so there is not need to keep ports-specific metadata fields around in the src tree. Differential Revision: https://reviews.freebsd.org/D29860
-
Randall Stewart authored
I just discovered that the return of the EBUSY error was incorrectly rigged so that you could unload a CC module that was set to default. Its supposed to be an EBUSY error. Make it so. Reviewed by: Michael Tuexen Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D33229
-
Gordon Bergling authored
- s/osbolete/obsolete/ MFC after: 3 days
-
Gordon Bergling authored
- s/parameteres/parameters/ MFC after: 3 days
-
Hubert Mazur authored
Add driver for TMP461 thermal sensor. Register new sysctl node of integer type for device. Read register and fill sysctl with valid temperature. Reviewed by: Sponsored by: Alstom Obtained from: Semihalf Differential revision: https://reviews.freebsd.org/D32818
-
Hubert Mazur authored
Add helper functions for 32 and 64 bit unsigned to signed integers conversions. Reviewed by: Sponsored by: Alstom Obtained from: Semihalf Differential revision: https://reviews.freebsd.org/D33162
-
Ed Maste authored
In fact MK_CXX does not control whether /usr/bin/c++ is built -- it is installed as a link to Clang (which is always a C/C++ compiler), and it already exists in OptionalObsoleteFiles under MK_TOOLCHAIN. Sponsored by: The FreeBSD Foundation
-
- 01 Dec, 2021 19 commits
-
-
John Baldwin authored
Reported by: Mark Millard
-
John Baldwin authored
-
John Baldwin authored
Reported by: Mark Millard
-
John Baldwin authored
Reported by: Mark Millard Fixes: d6dffbae lastcomm/sa: Remove sparc64 tests, they aren't needed.
-
John Baldwin authored
Reported by: Mark Millard
-
Rick Macklem authored
When an ACL is presented to the NFSv4 server in Setattr or Verify, parsing of the ACL assumed a sane acecnt and sane sizes for the "who" strings. This patch adds sanity checks for these. The patch also fixes handling of an error return from nfsrv_dissectacl() for one broken case. Reported by: rtm@lcs.mit.edu Tested by: rtm@lcs.mit.edu PR: 260111 MFC after: 2 weeks
-
Rick Macklem authored
When nfsrv_checksequence() replies NFSERR_BADSLOT, the value of nd_slotid is not valid. As such, the reply cannot be cached in the session. Do not set ND_HASSEQUENCE for this case. Reported by: rtm@lcs.mit.edu Tested by: rtm@lcs.mit.edu PR: 260076 MFC after: 2 weeks
-
Ed Maste authored
/usr/bin/CC is installed by usr.bin/clang/clang/Makefile, as with /usr/bin/cc, /usr/bin/cpp, etc., and is not controlled by MK_CXX. Move it to the same section as those tools. (It may be that these should all be under MK_TOOLCHAIN == no || MK_CLANG_IS_CC == no, but that seems like unnecessary complexity.) Sponsored by: The FreeBSD Foundation
-
Vincenzo Maffione authored
Similarly to the other Intel drivers, don't try to process RX checksum offloads when this feature (IFCAP_RXCSUM) is disabled. Reviewed by: gallatin, kbowling, erj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D33155
-
Vincenzo Maffione authored
The ifp (struct ifnet) backpointer in the e1000 private ifnet data is not used anymore since the iflib transition. Remove it so that developers are not tempted to use it and get a NULL pointer dereference. Reviewed by: markj, kbowling, erj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D33157
-
Michael Tuexen authored
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
-
Alexander Motin authored
While it still looks like previous code worked by coincidence, this change broke things even more instead of fixing. Reported by: avg@ MFC after: 1 week
-
Michael Tuexen authored
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
-
Andrew Turner authored
This is only available in recent toolchains. Check for it so we can use it in libmd. Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33166
-
Zhenlei Huang authored
Reviewed by: kp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D33210
-
Michael Tuexen authored
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
-
Michael Tuexen authored
Do not hide errno from getsockopt() called internally. MFC after: 1 week
-
Michael Tuexen authored
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
-
Michael Tuexen authored
MFC after: 1 week
-
- 30 Nov, 2021 4 commits
-
-
Warner Losh authored
DS_BUSY is no longer a device state. Remove it from here. Sponsored by: Netflix
-
Warner Losh authored
The vast majority of the busy/unbusy users in the tree don't acquire Giant before calling device_busy/unbusy. However, if multiple threads are opening a file, say, that causes the device to busy/unbusy, then we can race to the root marking things busy. Move to using a reference count to keep track of how many times a device_t has been made busy. Use that count to make the same decisions that we'd make with the old device state. Note: gpiopps.c uses D_TRACKCLOSE. Others do as well. However, there's a known race with closes that will be corrected for all the drivers that do this in a future commit. Sponsored by: Netflix Reviewed by: hselasky, jhb Differential Revision: https://reviews.freebsd.org/D26284
-
Warner Losh authored
This reverts commit 08e78191. Commit message was for a very old version of the patch. Will re-commit with the right one since it's so bad. There's no locked versions of it...that code was reworked to use refcnt APIs. Noticed by: jhb, jtrc27 Sponsored by: Netflix
-
Warner Losh authored
The vast majority of the busy/unbusy users in the tree don't acquire Giant before calling device_busy/unbusy. However, if multiple threads are opening a file, say, that causes the device to busy/unbusy, then we can race to the root marking things busy. Create a new device_busy_locked and device_unbusy_locked that are the current implemntations of device_busy and device_unbusy. Make device_busy and unbusy acquire Giant before calling the _locked versrions. Since we never sleep in the busy/unbusy path, Giant's single threaded semantics suffice to keep this safe. Sponsored by: Netflix Reviewed by: hselasky, jhb Differential Revision: https://reviews.freebsd.org/D26284
-
- 01 Dec, 2021 1 commit
-
-
Chuck Tuffli authored
NVMe conformance tests for the Format command failed if the backing-storage for the bhyve device was a file instead of a Zvol. The tests (and the specification) expect a Format to destroy all previously written data. The bhyve NVMe emulation implements this by trimming / deallocating all data from the backing-storage. The blockif_candelete() function indicated the file did not support deallocation (i.e. fpathconf(..., _PC_DEALLOC_PRESENT) returned FALSE) even though the kernel supported file hole punching. This occurs on builds with Capsicum enabled because blockif did not allow the fpathconf(2) right. Fix is to add CAP_FPATHCONF to the cap_rights_init(3) call. PR: 260081 Reviewed by: allanjude, markj, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D33203
-