summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
13 hoursperiodic: Support RFC 5424 syslog timestampsHEADmainJoseph Mingrone
This is based on an initial implementation by michaelo in https://reviews.freebsd.org/D54361. PR: 270497 Reported by: michaelo Reviewed by: michaelo Tested by: michaelo MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54606
13 hoursmodules: iwlwifi/rtw89 allow standalone buildBjoern A. Zeeb
The KERN_OPTS:MDEV_ACPI checks are fine for as long as we are building modules along the kernel. If one wants to just build the module standalone out of the module directory this would fail. Add the missing include for kmod.opts.mk (as was done for tcp in 1319a76179682). Sponsored by: The FreeBSD Foundation Reported by: Tassilo Philipp (tphilipp potion-studios.com) Fixes: f5a77dc8f8df ("improve module Makefile dependency on ACPI") Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D54769
16 hoursx86: mask all LAPIC vectors early, before BSP interrupts are enabledKonstantin Belousov
If APIC is left in somewhat bad state, with some source hot (not masked and active, e.g. timers after kexec or due to BIOS bug), we get the interrupt too early. Reported by: jmg Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54543
16 hoursx88/local_apic.c: for each lvt element, add LVT register indexKonstantin Belousov
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54543
16 hoursx86/local_apic.c: convert lvts[] and elvts[] arrays to designated initializersKonstantin Belousov
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54543
23 hoursnetstat: fix typoMichael Tuexen
MFC after: 3 days
27 hoursifconfig: Use strlcpy(3) instead of strncpy(3) for interface nameAmy Vargas
No functional change intended. Reviewed by: pouria, delphij, imp Approved by: glebius (mentor) Differential Revision: https://reviews.freebsd.org/D54752
27 hoursnetlink(4): Add snl(3) to See Also sectionPouria Mousavizadeh Tehrani
While here, fix manlint warnings in rtnetlink(4). Reviewed by: melifaro, ziaee, glebius Approved by: glebius (mentor) Differential Revision: https://reviews.freebsd.org/D53786
29 hoursipfw: fix !VIMAGE buildGleb Smirnoff
NB: Rest of ipfw(4) sources get sx.h via vnet.h, which isn't perfect.
36 hourspflog: tests: Fix rdr_action_head()Jose Luis Duran
Fix a typo in the rdr_action_head() test. Fixes: 685fb4253819 ("pf: Log the intended action when a NAT rule matches a packet") MFC after: 1 week
37 hourspowerpc/loader: Size the CAS PVR array correctlyJustin Hibbits
Fixes: 895eeb492 ("powerpc/loader: Add CAS support for older CPUs") MFC after: 1 week
39 hoursdwc: add receive checksum offload for IPv6Michael Tuexen
This patch adds support for receive checksum offload for TCP/IPv6 and UDP/IPv6. Since receive checksum offload can't be configured separately for IPv4 and IPv6, IFCAP_RXCSUM and IFCAP_RXCSUM_IPV6 can't be changed independently. Reviewed by: Timo Völker MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54756
39 hoursdwc: add transmit checksum offload for IPv6Michael Tuexen
This patch adds support for transmit checksum offload for TCP/IPv6 and UDP/IPv6. Reviewed by: Timo Völker MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54754
40 hourspowerpc/loader: Add CAS support for older CPUsJustin Hibbits
QEMU creates a "ibm,arch-vec-5-platform-support" property for all pseries emulations. Add POWER7 and POWER6 to the CAS list, more can be added later as needed/desired. MFC after: 1 week
41 hoursnetpfil/ipfw: Fix a typo in a source code commentGordon Bergling
- s/vaues/values/ MFC after: 5 days
41 hoursrockship: Fix a typo in a source code commentGordon Bergling
- s/vaues/values/ MFC after: 5 days
41 hoursnanobsd: Fix typosJose Luis Duran
MFC after: 1 week
41 hoursnanobsd: Add a NO_ROOT build optionJose Luis Duran
Add a -U option to build NanoBSD images without root privileges. It relies on makefs/mkimg and metalog (mtree) files, similar to what release engineering uses to build images. Keep the current way to build NanoBSD images untouched. Once this method gets battle tested, it may be used to build images as root as well. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48793
41 hoursnanobsd: Add a provisional populate /data functionJose Luis Duran
Add a provisional _populate_data_part function. It populates the optional /data partition, but using makefs(8), which is more in-line with what release engineering uses to create images. Reviewed by: emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48792
41 hoursnanobsd: Add a provisional populate /cfg functionJose Luis Duran
Add a provisional _populate_cfg_part function. It populates the /cfg partition, but using makefs(8), which is more in-line with what release engineering uses to create images. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48791
41 hoursnanobsd: Add a provisional populate_part functionJose Luis Duran
Add a _populate_part(ition) function that mimics the current populate_slice. Note however, that this function is not backward-compatible with populate_slice, hence the different name. A "_" is prepended to signal that it still experimental. It can be used to populate the /cfg and /data partition using makefs(8). Initially not wired. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48790
41 hoursnanobsd: Add a nano_makefs functionJose Luis Duran
Add a NANO_MAKEFS global variable with options equivalent to NANO_NEWFS to be used with a nano_makefs function for creating images. Also add a function that adjusts the code size calculation, so makefs -s won't error about the minimum rounded size. Ideally this shim should be removed, therefore the suspicious _xxx prefix. Initially not wired. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48789
41 hoursnanobsd: Switch the / partition in fstabJose Luis Duran
Introduce a function tgt_switch_root_fstab() that switches the root partition in the target file system tab file. Initially not wired. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48788
41 hoursnanobsd: Add a NANO_TIMESTAMP variableJose Luis Duran
Initially not wired, this variable will hold the time stamp for all the files of the final image. By default uses the last commit time stamp, if empty, it will use the start time of the NanoBSD build. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48787
41 hoursnanobsd: Add a function to create directoriesJose Luis Duran
Add tgt_dir(), that creates and adds directory entries to the metalog specification file. Initially not wired. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48786
41 hoursnanobsd: Prefer tgt_touch() instead of touchJose Luis Duran
Prefer tgt_touch() as it adds an entry to the metalog file. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48785
41 hoursnanobsd: Set the proper mode for /tmpJose Luis Duran
The correct mode for /tmp is 1777, keep the same mode when symlinking it to /var/tmp. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48784
41 hoursnanobsd: Prefer tgt_dir2symlink() to create symlinksJose Luis Duran
Prefer tgt_dir2symlink() to create symlinks, as it has the benefit of appending the entry to the metalog file. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48783
41 hoursnanobsd: Make tgt_dir2symlink() take a modeJose Luis Duran
Make tgt_dir2symlink() take an optional third argument that sets the mode. By default, assume an absolute mode of 0777, to maintain backward compatibility. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48782
41 hoursnanobsd: Add uname/gname to the specJose Luis Duran
Also include the default NanoBSD uname/gname in the specification file. By default, NANO_DEF_UNAME and NANO_DEF_GNAME map to root and wheel respectively. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48781
41 hoursnanobsd: Prefer nano_umount to umountJose Luis Duran
nano_umount[^1] is a convenience routine used to override issues with umount(8) without changing the nanobsd.sh source code. There were a few places where it was not being used. [^1]: Introduced in 6d12b61a88a6 ("Add a routine for easy workaround any umount issues w/o hacking nanobsd.sh.") Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48780
41 hourstarfs: tests: Increase timeout (again 2)Jose Luis Duran
Bump the timeout value (for the third time), to avoid cutoff on emulated architectures on ci.freebsd.org. One of the runners will take considerably more time to complete this test. Reported by: Jenkins Fixes: a551b0524953 ("tarfs: tests: Increase timeout (again)") MFC after: 3 days
3 daysdwc: prepare for IPv6 transmit checksum offloadingMichael Tuexen
No functional change intended. MFC after: 3 days
2 dayslibc: drop NO_FP_LIBC supportXin LI
NO_FP_LIBC was added in 2004 to save space by disabling FP support in *printf()/*scanf(). The size benefit is negligible on modern systems and conflicts with assumptions made by current base utilities. Remove the option and always build libc with floating-point support. Reported by: Oskar Holmlund <eovholmlund at gmail com> MFC after: 2 weeks
2 daysaq: remove from NOTES; it's unfortunately amd64 onlyAdrian Chadd
Unfortunately the aq driver is using readl/writel calls instead of bus space routines. This broke, well, everything else. Fixes: c75eff16ef54aaae7b5dc52ed894cc73a855f469
2 dayspowerpc: Add ISA 2.06 sub-word atomic set/clearJustin Hibbits
Add atomic_set/clear_short/char for doing 8-bit and 16-bit operations more efficiently on "newer" architectures (POWER7 and later). Piggybacks on b31abc95eb.
2 daystests/ipfw: add a test for ipfw(4) log rules that write to bpf(4)Gleb Smirnoff
2 daysipfw: refactor how we store bpf tap pointsGleb Smirnoff
Make the tap database belong to ip_fw_chain, but leave the default "ipfw0" tap per-vnet. This is only slightly better than keeping the database per- vnet, as the bpf name space is per-vnet. However, we yet have only single ipfw chain. Whenever multiple chains will coexist, this needs to be addressed. Require the chain lock to make modifications to the database. Move tap allocation to a later ruleset build stage, when all rule numbers are known already. This fixes a panic introduced by 3daae1ac1d82. Fixes: 3daae1ac1d82ecdcd855101bab5206e914b12350
2 daysipfw: in a vnet destructor use NET_EPOCH_WAIT()Gleb Smirnoff
The lock grab & drop predates epoch(9) introduction to the network stack and it doesn't provide a true guarantee that all threads that may use ipfw configuration have finished. Also the lock prevented from sleepable operations when freeing the rules.
2 daysspi: "-S" option for continuous stream from standard input to busSulev-Madis Silber
created to allow addressable leds to be driven by abusing spi bus as waveform generator. this might have other uses for similar "permanent" spi transfers Differential Revision: https://reviews.freebsd.org/D54734 Reviewed by: adrian
2 daysvm/swap_pager.c: silence compiler warningKonstantin Belousov
Initialize pindex in swap_pager_getpages_locked() before the loop actually calculating it by skipping bogus pages. Compiler is worried that loop might never assign to it, which actually cannot happen. Sponsored by: The FreeBSD Foundation Fixes: d198ad51ea73bbb162336923a387f52b0b1c1f1d MFC after: 1 week
2 daysaq: Add to amd64 GENERIC and to sys/conf/NOTESBrad Smith
Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D54633
2 daysswap_pager_getpages(): some pages from ma[] might be bogusKonstantin Belousov
Same as vnode_pager_generic_getpages_async(), swap_pager_getpages() must handle a possibility of the provided page run to include bogus_page on some positions, when called from sendfile_swapin(). The swap pager is used for tmpfs vnodes. In particular, the bogus page must not be used for pindex calculation, we better not update the flags on it or wait for the flag clearing, and we must not call vm_page_valid() because the function expects busy page. This was bisected down to 72ddb6de1028426 (unix: increase net.local.(stream|seqpacket).(recv|send)space to 64 KiB), which is somewhat surprising, but apparently reasonable because it allowed the run of more than one page for page-in from the swap pager, which now might include valid pages replaced by bogus one. In collaboration with: pho Reviewed by: glebius, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54713
2 daysswap_pager_getpages(): assert that bp->b_pages[] is accessed in boundsKonstantin Belousov
Reviewed by: glebius, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54713
2 dayssendfile: remove calculation of unused bsizeKonstantin Belousov
Reviewed by: glebius, markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D54713
2 daysipfw: remove locking workarounds in the table codeGleb Smirnoff
Before the "upper half lock" became sleepable the table manipulation code needed sophisticated workarounds to recover from races, where the lock is temporarily dropped to do malloc(M_WAITOK). Remove all these workarounds as they are no longer needed. Differential Revision: https://reviews.freebsd.org/D54580
2 daysipfw: make the upper half lock sleepableGleb Smirnoff
The so called upper half ipfw lock is not used in the forwarding path. It is used only during configuration changes and servicing system events like interface arrival/departure or vnet creation. The original code drops the lock before malloc(M_WAITOK) and then goes into great efforts to recover from possible races. But the races still exist, e.g. create_table() would first check for table existence, but then drop the lock. The change also fixes unlock leak in check_table_space() in a branch that apparently was never entered. Changing to a sleepable lock we can reduce a lot of existing complexity associated with race recovery, and as use the lock to cover other configuration time allocations, like recently added per-rule bpf(4) taps. This change doesn't remove much of a race recovery code, to ease bisection in case of a regression. This will be done in a separate commit. This change just removes lock drops during configuration events. The only reduction is removal of get_map(), which is a straightforward reduce to a simple malloc(9). The only sleepable context where the lock was acquired was dyn_tick(). The comment said it is done to prevent parallel execution of dyn_expire_states(). However, there is proper internal locking in there and function should be safe to execute in parallel. The real problem is dyn_expire_states() called via userland to race with dyn_grow_hashtable() called via dyn_tick(). Protect against this condition with the main chain lock. Differential Revision: https://reviews.freebsd.org/D54535
2 daystests/ipfw: add a simple fuzzing test for ipfw tablesGleb Smirnoff
Reviewed by: pouria, ae Differential Revision: https://reviews.freebsd.org/D54579
2 daysnet: on interface detach purge all its routes before detaching protocolsGleb Smirnoff
Otherwise, a forwarding thread may use the interface being detached. This is a regression from 0d469d23715d, which manifests itself as a reliably reproducible panic in in6_selecthlim(). Note that there are old bug reports about such a panic, and I believe this change will not fix them, as their nature is not due to a screwed up detach sequence, but due to lack of proper epoch(9) based synchronization between the detach and forwarding. Reviewed by: pouria Reported & tested by: jhibbits PR: 292162 Fixes: 0d469d23715d690b863787ebfa51529e1f6a9092 Differential Revision: https://reviews.freebsd.org/D54721
2 daysmxge(4): avoid clang 21 warning in NO-IP configurationDimitry Andric
Building the LINT-NOIP kernel on amd64 with clang 21 results in a -Werror warning similar to: sys/dev/mxge/if_mxge.c:1846:44: error: variable 'sum' is uninitialized when passed as a const pointer argument here [-Werror,-Wuninitialized-const-pointer] 1846 | cksum_offset, sizeof(sum), (caddr_t)&sum); | ^~~ Indeed, if both `INET` and `INET6` are undefined, `sum` is never initialized. Initialize it to zero to silence the warning. Reviewed by: jhibbits MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D54730