Skip to content
Success

Changes

Summary

  1. Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN. (details)
  2. Refactor dbuf_read() for safer decryption (details)
  3. L2ARC: Cleanup buffer re-compression (details)
  4. Make more taskq parameters writable (details)
  5. Slightly improve dnode hash (details)
  6. Fix scn_queue races on very old pools (details)
  7. Fix ZIL clone records for legacy holes (details)
  8. ZAP: Fix leaf references on zap_expand_leaf() errors (details)
  9. FreeBSD: Add zfs_link_create() error handling (details)
  10. Fix assertion in Persistent L2ARC (details)
  11. head_errlog: fix use-after-free (details)
  12. Linux 6.7 compat: detect if kernel defines intptr_t (details)
  13. Linux 6.9: Call add_disk() from workqueue to fix zfs_allow_010_pos (#16282) (details)
  14. Linux 6.9: Fix UBSAN errors in zap_micro.c (details)
  15. Linux 6.10: rework queue limits setup (details)
  16. Linux 6.10: work harder to avoid kmem_cache_alloc reuse (details)
  17. Linux 5.16: use bdev_nr_bytes() to get device capacity (details)
  18. ZTS: Fix redacted_send failures on FreeBSD (details)
  19. ZTS: handle FreeBSD version numbers correctly (#16340) (details)
  20. Linux 6.9 compat: META (#16358) (details)
  21. one-word manpage correction: snapshot->rollback (#16294) (details)
  22. Fix missing semicolon in trace_dbuf.h (#16281) (details)
  23. zts: allow running a single test by name only (details)
  24. zts: add a debug option to get full test output (details)
  25. abd_iter_page: rework to handle multipage scatterlists (details)
  26. find_system_library: fix var cleanup when library not found (details)
  27. Only provide execvpe(3) when needed (details)
  28. libspl/assert: show process/task details in assert output (details)
  29. libspl/assert: add lock around assertion output (details)
  30. libspl/assert: dump backtrace in assert (details)
  31. libspl/assert: use libunwind for backtrace when available (details)
  32. Unbreak FreeBSD cross-build on MacOS broken in 051460b8b (details)
  33. libspl_assert: always link -lpthread on FreeBSD (details)
  34. zdb: bring crash handling over from ztest (details)
  35. Use memset to zero stack allocations containing unions (details)
  36. Destroy ARC buffer in case of fill error (details)
  37. Some improvements to metaslabs eviction (details)
  38. disable automatic dependency tracking for dkms builds (details)
  39. zts: test single-disk pool resumes properly after disk pull (details)
  40. vdev_open: clear async fault flag after reopen (details)
  41. zdb: dump ZAP_FLAG_UINT64_KEY ZAPs properly (#16334) (details)
  42. FreeBSD: Use a statement expression to implement SET_ERROR() (#16284) (details)
  43. AUTHORS: refresh with recent new contributors (#16362) (details)
  44. Fix long_free_dirty accounting for small files (#16264) (details)
  45. Linux 6.9: Fix UBSAN errors in sa.c (#16380) (details)
  46. ZTS: Make do_vol_test() more deterministic (#16379) (details)
  47. [2.2.5-only] Make 'rmmod zfs' work after zfs-2.2.4 (#16406) (details)
  48. Tag zfs-2.2.5 (details)
  49. tcpsso: add example to man page (details)
  50. tcpsso: improve man page (details)
  51. tcp: fix t_flags2 collision (details)
  52. LinuxKPI: update linuxkpi_video to Linux 6.6 (details)
  53. mailer.conf for sendmail: remove duplicate word. (details)
  54. usr.sbin/gstat: add microsecond precision for disk latency (details)
  55. linuxkpi: use canonical tests for is_{zero,broadcast}_ether_addr (details)
  56. pipe: keep uio_iovcnt consistent (details)
  57. acl_copyin: avoid returning uninitialized memory (details)
  58. tcp: initialize V_ts_offset_secret for all vnets (details)
  59. axgbe: Fix two typos in source code comments (details)
  60. sctp(4): Fix typos in source code comments (details)
  61. ipfilter(4): Fix typos in source code comments (details)
  62. stress2: Fix a typo in namecache2.sh (details)
  63. Fix enum warnings in ath_hal's ar9300 (details)
  64. Merge commit d2353ae00c3b from llvm git (by Argyrios Kyrtzidis): (details)
  65. ddb: update printing of t_flags and tflags2 (details)
  66. Revert "ddb: update printing of t_flags and tflags2" (details)
  67. ddb: update printing of t_flags and tflags2 (details)
  68. pxeboot: Allow a different default loader for pxeboot (details)
  69. pxeboot: Enforce a 500k limit here (details)
  70. loader: Document that WITH_BEARSSL may need other tweaks (details)
  71. loader: Add WITH/WITHOUT_LOADER_PXEBOOT build option (details)
  72. qlnxe: Allow MAC address override (details)
  73. msun/ld80/e_powl.c: add const qualifiers to the static immutable values (details)
  74. msun/ld80/e_powl.c: make powl() thread-safe by making static variables thread-local (details)
  75. Fix EFI loader reproducibility with lld (details)
  76. intr: Remove dead code from intr_event_remove_handler() (details)
  77. ithread: Annotate a branch in ithread_execute_handlers() (details)
  78. ktrace tests: Add a test case for handling of exec+setuid binaries (details)
  79. bhyve: Escape binary data sent in reply packets (details)
  80. zdb: Fix printf formatting of a uint64_t (details)
  81. msdosfs: fix cluster limit when mounting FAT-16 file systems (details)
  82. MFC jail: only chdir to user's home directory when user is specified (details)
  83. dhclient: Switch timeouts from time_t to timespec (details)
  84. dhclient: Timeouts for entering state_selecting (details)
  85. dhclient: Use clock_gettime() instead of time() (details)
  86. dhclient: Make arp_timeout configurable (details)
  87. dhclient: Update dhclient man page for n flag (details)
  88. dhclient: rc.conf option to disable ARP resolution (details)
  89. dhclient: Update rc.conf.5 with dhclient_arpwait (details)
  90. EC2: Set dhclient_arpwait="NO" (details)
  91. socket: Fix handling of listening sockets in sotoxsocket() (details)
  92. socket: Make the sopt_rights field a pointer to const (details)
  93. xen/netfront: Decouple XENNET tags from mbuf lifetimes (details)
  94. ithread: Improve synchronization in ithread_destroy() (details)
  95. pf: fix icmp-in-icmp state lookup (details)
  96. pf tests: ensure that traceroutes using ICMP work (details)
  97. pf: invert direction for inner icmp state lookups (details)
  98. EC2: Bump AMI size to 8 GB (details)
  99. adduser: Better document ZFS dataset creation. (details)
  100. pw userdel: destroy home dataset if empty (details)
  101. exit(3): make it thread-safe (details)
  102. exit(3): clarify how to obtain full exit status of the exited process (details)
  103. tail -F: fix crash (details)
  104. Makefile.ec2: Add missing CLEANFILES entry (details)
  105. pf tests: ensure temporary files end up in the atf working directory (details)
  106. vnet tests: verify that we can load if_epair and if_bridge (details)
  107. ZTS: fix io_uring test on RHEL 9 variants (#16411) (details)
  108. linux/zvol_os: fix SET_ERROR with negative return codes (details)
  109. zfs: add bounds checking to zil_parse (#16308) (details)
  110. FreeBSD: Fix RLIMIT_FSIZE handling for block cloning (details)
  111. ZTS: Add a test to verify that copy_file_range obeys RLIMIT_FSIZE (details)
  112. Linux 6.11: enable queue flush through queue limits (details)
  113. Linux 6.11: get backing_dev_info through queue gendisk (details)
  114. Linux 6.11: first arg to proc_handler is now const (details)
  115. Linux 6.11: IO stats is now a queue feature flag (details)
  116. Linux 6.11: add more queue_limit fields with removed setters (details)
  117. Linux 6.11: add compat macro for page_mapping() (details)
  118. Linux 6.11: avoid passing "end" sentinel to register_sysctl() (details)
  119. ZTS: Use /dev/urandom instead of /dev/random (details)
  120. Linux 6.10 compat: fix rpm-kmod and builtin (details)
  121. Linux 6.10 compat: Fix zvol NULL pointer deference (details)
  122. Fix null ptr deref when renaming a zvol with snaps and snapdev=visible (#16316) (details)
  123. linux/zvol_os.c: Fix max_discard_sectors limit for 6.8+ kernel (details)
  124. linux/zvol_os.c: cleanup limits for non-blk mq case (details)
  125. Linux 6.10 compat: META (details)
  126. unbound: Remove backup file (details)
  127. unbound: Vendor import 1.21.0 (details)
  128. pam_xdg.8: the module option name corrected (details)
  129. libalias: fix subtle racy problem in outside-inside forwarding (details)
  130. amdsmn(4), amdtemp(4): add support for AMD Ryzen 7 "Phoenix" processors (details)
  131. linux.4: clarify path translation (details)
  132. ctl: avoid heap info leak in ctl_request_sense (details)
  133. sound tests: Add SNDSTIOC_ADD_USER_DEVS test (details)
  134. mixer(8): Implement hot-swapping (details)
  135. sound examples: Simplify MIDI example (details)
  136. sound examples: Simplify audio example (details)
  137. sound examples: Move MIDI example out of OSS directory (details)
  138. sound: Improve sndstat nvlist feederchain format (details)
  139. ObsoleteFiles.inc: Update after sound changes (details)
  140. sound examples: Delete stale ossinit.h file (details)
  141. Revert "mcast: fix memory leak in imf_purge()" (details)
  142. mcast: fix leaked igmp packets on multicast cleanup (details)
  143. nvme: Use the NVMEV macro instead of expanded versions (details)
  144. nda: Use the NVMEV macro instead of expanded versions (details)
  145. nvmecontrol: Use the NVMEV macro instead of expanded versions (details)
  146. bhyve: Use the NVMEV macro instead of expanded versions (details)
  147. camdd: Use the NVMEV macro instead of expanded versions (details)
  148. bhyve: Use NVMEV to read the ASQS field of AQA (details)
  149. nvme: Rename NVMEB helper macro to NVMEM (details)
  150. nvme: Use the NVMEM macro instead of expanded versions (details)
  151. bhyve: Use the NVMEM macro instead of expanded versions (details)
  152. nvme: Add NVMEF helper macro as the inverse of NVMEV (details)
  153. nvme: Use the NVMEF macro to construct fields (details)
  154. nvmecontrol: Use NVMEF macro to construct fields (details)
  155. bhyve: Use NVMEF macro to construct fields (details)
  156. nvmecontrol(8): Fix typo in ns.c (details)
  157. nvme: Export constants for min and max queue sizes (details)
  158. nvme: Add SGL structure and constants for use in NVMe commands (details)
  159. nvme: Add constants for the PSDT field in cdw0 (details)
  160. nvme: Add constants for the extended data for Get Log Page command flag (details)
  161. nvme: Add constants for fields in AER completion dword 0 (details)
  162. nvme: Add constants and types for the discovery log page (details)
  163. nvme: Add constants for the Controller Attributes field in cdata (details)
  164. nvme: Add NVMe over Fabrics fields to nvme_controller_data (details)
  165. nvmecontrol: Display additional Fabrics-related fields for cdata (details)
  166. nvme: Add my copyright to logpage.c (details)
  167. nvmecontrol: Create letoh to generically convert to host order (details)
  168. nvmecontrol: Make the error log page work on native format (details)
  169. nvmecontrol: Have to truncate on all 32-bit architectures (details)
  170. nvmecontrol: Fix to128 for big endian targets (details)
  171. nvmecontrol: Move smart/health printing to little endian orderinng (details)
  172. nvmecontrol: Move namespace change page printing to little endian orderinng (details)
  173. nvmecontrol: Move self test status page printing to little endian orderinng (details)
  174. nvmecontrol: Move command effeccts page printing to little endian orderinng (details)
  175. nvmecontrol: Move reservation notifcation page printing to little endian orderinng (details)
  176. nvmecontrol: Move sanitize status page printing to little endian orderinng (details)
  177. nvmecontrol: Move intel temperature page printing to little endian orderinng (details)
  178. nvme: Eliminate intel_log_temp_stats_swapbytes (details)
  179. nvmecontrol: add newlines where needed for ns command printfs (details)
  180. nvmecontrol: Preliminary namespace documentation (details)
  181. nvmecontrol: Add nvme 2.0 fields to read_logpage (details)
  182. nvmecontrol: One file per line (details)
  183. WITH_NVME: Remove from broken. (details)
  184. ObsoleteFiles.inc: Don't remove recently added mixer(8) tests (details)
  185. module/icp/asm-arm/sha2: auto detect __ARM_ARCH (details)
  186. module/icp/asm-arm/sha2: enable non-SIMD asm kernels on armv5/6 (details)
  187. contrib: link zpool to zfs in bash-completion (#16376) (details)
  188. ZTS: fix history_007_pos test on Ubuntu 24.04 (#16410) (details)
  189. ZTS: fix zfs_copies_006_pos test on Ubuntu 20.04 (#16409) (details)
  190. linux/zvol_os: tidy and document queue limit/config setup (details)
  191. linux/zvol_os: fix zvol queue limits initialization (details)
  192. Fix incremental build with WITH_NVME newly enabled (details)
  193. tools: Remove stray "then" (details)
  194. pf: cope with SCTP port re-use (details)
  195. src.conf.5: rebuild after WITH_NVME changes (details)
  196. camcontrol: One file per line in Makefile (details)
  197. camcontrol: Enable WITH_NVME unconditionally (details)
  198. nvmecontrol: Always build instead of being conditional on WITH_NVME (details)
  199. Remove the MK_NVME build option (details)
  200. src.conf.5: Regen after removing MK_NVME (details)
  201. options: Make it clearer some x86 / BIOS only things (details)
  202. src.conf.5: Regen after ddcd3b606c9d (details)
  203. camcontrol(8): Fix typos (details)
  204. camcontrol(8): Fix grammar: a ATA -> an ATA (details)
  205. camcontrol: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0]) (details)
  206. nvmecontrol(8): Remove a double word in a source code comment (details)
  207. nvmecontrol: Flesh out nvmecontrol format information (details)
  208. nvmecontrol: Allow optional /dev/ for device names (details)
  209. ctld: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0]) (details)
  210. ctladm: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0]) (details)
  211. ctladm: Use nitems() in a few more places (details)
  212. rc.d/ldconfig: Compute ldconfig paths in a function (details)
  213. defaults/rc.conf: Remove /usr/lib32 from ldconfig32_paths (details)
  214. Enable L2 cache of all (MRU+MFU) metadata but MFU data only (details)
  215. Tag zfs-2.2.6 (details)
  216. DMAR: clear dmar_devs[unit] if attach failed (details)
  217. amd64: add convenience wrappers for INVLPGB and TBLSYNC (details)
  218. amd64: add variables indicating INVLPGB works (details)
  219. amd64: use INVLPGB for kernel pmap invalidations (details)
  220. loader.efi(8): beef up the updating the ESP (details)
  221. tcp: fix list iteration in tcp_lro_flush_active() (details)
  222. tcp: initialize the LRO hash table with correct size (details)
  223. tcp: improve consistency of SYN-cache handling (details)
  224. sctp: fix format of sysctl variables (details)
  225. tcp: fix format of sysctl variable (details)
  226. nfsproto.h: Define the new mode_umask attribute (details)
  227. release: Redirect etcupdate logfile to /dev/null. (details)
  228. msdosfs: return ENOENT if looking up invalid name for OPEN or DELETE (details)
  229. open(2): mandoc -T lint (details)
  230. rename(2): Extend EINVAL's description (details)
  231. open(2): Extend EINVAL's description (details)
  232. mixer(8) tests: Fix cleanup routine (details)
  233. libnetmap: remove interface name validation (details)
  234. u3g: add SIERRA AC340U (details)
  235. init_main: Sprinkle const qualifiers where appropriate (details)
  236. kern: Align the declaration of kernconfstring with its definition (details)
  237. vm: Use vmem_xalloc in kva_alloc (details)
  238. vm: Add kva_alloc_aligned (details)
  239. uart: Split out initilisation of the acpi devinfo (details)
  240. arm64: Support passing more registers to signals (details)
  241. libc/aarch64: Copy the trivial getcontextx (details)
  242. libc/aarch64: Add a non-trivial getcontextx (details)
  243. scmi: Implement scmi_clknode_recalc_freq method (details)
  244. linux64: Fix the build on arm64 with bti checking (details)
  245. arm64: Clear td_frame when returning to userspace (details)
  246. arm64: Support counter access with E2H (details)
  247. arm64: Fix the gicv3 check in locore.S (details)
  248. arm64: Ensure sctlr and pstate are in known states (details)
  249. dev/uart: Add APMC0D08 as found in the Intel E2100 (details)
  250. buf_ring: Remove PREFETCH_DEFINED (details)
  251. buf_ring: Support DEBUG_BUFRING in userspace (details)
  252. buf_ring: Consistently use atomic_*_32 (details)
  253. buf_ring: Keep the full head and tail values (details)
  254. buf_ring: Use atomic operations with br_cons_tail (details)
  255. buf_ring: Remove old arm-only dequeue code (details)
  256. buf_ring: Use atomic operations with br_prod_tail (details)
  257. buf_ring: Ensure correct ordering of loads (details)
  258. buf_ring: Add an Arm copyright (details)
  259. arm64: Expand the use of Armv8.1-A atomics (details)
  260. arm64: Use store-pair to zero the kernel bss (details)
  261. libc/aarch64: Remove an unneeded weak symbol (details)
  262. sqlite3: Vendor import of sqlite3 3.46.1 (details)
  263. nuageinit: check for both user_data and user-data (details)
  264. nuageinit: Accept plain text passwords (details)
  265. nuageinit: Set recommended SSH permissions (details)
  266. nuageinit: Fix the homedir variable name (details)
  267. nuageinit: Fix tests (details)
  268. CODEOWNERS: Add nuageinit (details)
  269. nuageinit: readd ssh key parsing when key is in meta_data.json (details)
  270. nuageinit: improve debugging when mkdir fails (details)
  271. pci_vendors: update to 2024.06.23 (details)
  272. usb_vendors: update to 2024.07.04 (details)
  273. pam_xdg: Fix user xdg runtime directory's descriptor leak (details)
  274. bhyve: avoid updating fbaddr when vm_mmap_memseg fails (details)
  275. turnstile: Mention the lock name when panicking due to a sleeping thread (details)
  276. build.7: Document the packages target (details)
  277. netinet: Add a sysctl to allow disabling connections to INADDR_ANY (details)
  278. libgeom: Avoid fixed remappings of the devstat device (details)
  279. pkgbase: Avoid hard-coding the package prefix in generate-ucl.sh (details)
  280. socket: Split up soreceive_stream() (details)
  281. socket: Split up soreceive_generic() (details)
  282. socket: Split up sosend_generic() (details)
  283. socket: Microoptimize soreceive_stream_locked() (details)
  284. socket: Set lock flags properly (details)
  285. fusefs: Fix warning formatting (details)
  286. vendor/bc: upgrade to version 7.0.0 (details)
  287. contrib/bc: fix build with GCC (details)
  288. openssl: Avoid type errors in EAI-related name check logic. (details)
  289. loader.efi.8: Remove rogue duplicated lines (details)
  290. x86: Detect NVMM hypervisor (details)
  291. pfctl tests: fix dependency (details)
  292. pf: improve the ICMPv6 direction check (details)
  293. pf tests: ensure that neighbour discovery works as expected (details)
  294. pf: try to lookup the icmp state based on a correct packet descriptor (details)
  295. pf: be less strict about icmp state checking for sloppy state tracking (details)
  296. pf: rework pf_icmp_state_lookup() failure mode (details)
  297. libnv: allocate buffer in a safe way (details)
  298. libnv: verify that string is null terminated (details)
  299. bhyve: fix Out-Of-Bounds read/write heap in tpm_ppi_mem_handler (details)
  300. bhyve: fix off by one error in pci_xhci (details)
  301. ctl: fix Use-After-Free in ctl_write_buffer (details)
  302. ctl: fix memory disclosure in read/write buffer commands (details)
  303. ctl: fix Out-Of-Bounds access in ctl_report_supported_opcodes (details)
  304. ctl: add some ATF tests for READ BUFFER (details)
  305. umtx: shm: Collapse USHMF_REG_LINKED and USHMF_OBJ_LINKED flags (details)
  306. umtx: shm: Fix use-after-free due to multiple drops of the registry reference (details)
  307. umtx: shm: Prevent reference counting overflow (details)
  308. umtx: shm: 'ushm_refcnt > 0' => 'ushm_refcnt != 0' (details)
  309. atomic: Avoid casting the return value of atomic_load_ptr to void * (details)
  310. atomic: Fix the cast in the atomic_load_consume() interceptor (details)
  311. agp: Set the driver-specific field correctly (details)
  312. libfetch: don't include fragments in HTTP requests (details)
  313. sys: Mark ACL conversion routines as __result_use_check (details)
  314. beep: show error upon failure to open sound device (details)
  315. bsd.symver.mk: pass $CFLAGS to $CPP invocation (details)
  316. stand: bump arbitrary build date to 2024-01-01 (details)
  317. arm/mpic: remove empty pic_init_secondary() hook (details)
  318. intrng: Remove irq_root_ipicount and corresponding intr_pic_claim_root arg (details)
  319. intrng: Extract arm/arm64 IPI->PIC glue code (details)
  320. intrng: Allow alternative IPI PICs to be registered and used (details)
  321. riscv: Create a newbus device for the SBI driver (details)
  322. riscv: Convert local interrupt controller to a newbus PIC (details)
  323. riscv: Remove the unused riscv64_cpu driver (details)
  324. bsdinstall: Fix netconfig script when no interfaces are present (details)
  325. bsdinstall: Drop Error from title in netconfig no interfaces dialog (details)
  326. arm: Set NEW_PCIB in DEFAULTS rather than a subset of kernel configs (details)
  327. efibootmgr: Simplify make_next_boot_var_name and fix cnt == 0 case (details)
  328. ee: Fix use of uninitialised pointer in ispell_op (details)
  329. Fix off-by-one bug in btpand (details)
  330. mx25l.4: Document the correct disk device path (details)
  331. beinstall: Pass -B to etcupdate (details)
  332. rc.d/devmatch: Silence sysctl hw.bus.devctl_nomatch_enabled=1 (details)
  333. tools/build/make.py: Add missing comma to fix tinderbox and worlds (details)
  334. tools/build/make.py: Avoid Python 3.7+ subprocess.run capture_output (details)
  335. netinet: fix LINT-NOINET build failure (details)
  336. fu740_pci_dw: Fix PERST delay and keep asserted for rest of reset sequence (details)
  337. openssl: Remove fips module from base system. (details)
  338. tpm: Register TPM as entropy source (details)
  339. Improve accuracy of asinf(3) and acosf(3) (details)
  340. UPDATING: keep sorted by date. (details)
  341. Add UPDATING note about running make delete-old after libc++ 18 upgrade (details)
  342. libcbor: Ignore errors for unknown #pragmas (details)
  343. contrib/tzdata: import tzdata 2024b (details)
  344. tcpdump: ppp: Use the buffer stack for the de-escaping buffer (details)
  345. mfi: correct typo in sysctl/tunable description (details)
  346. development.7: markup nits, tag spdx (details)
  347. nfsd: Fix handling of NFSv4 setable attributes (details)
  348. vmstat: Add root element to libxo output (details)
  349. mfiutil: Handle potential ioctl(2) failures in mfi_flash.c (details)
  350. ndp: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0]) (details)
  351. ndp: Fix libxo formatting for the header of neighbor cache (details)
  352. release/Makefile.vm: Add cloudware overrides (details)
  353. vmimage.subr: Pass $INSTALLOPTS to install* (details)
  354. EC2: Move network config into a separate function (details)
  355. EC2: Make amazon-ssm-agent optional (details)
  356. EC2: Add new "small" AMIs (details)
  357. Intel DMAR: improve X2X macros to fix failures in certain syntax contexts (details)
  358. DMAR: use DMAR2IOMMU() for DMAR_LOCK() and related macros (details)
  359. x86: allow to have more than one kind of IOMMU (details)
  360. x86 iommu: move DMAR-independent parts of the qi code into common (details)
  361. dmar_qi_XXX_invalidate_glob(): reduce code duplication (details)
  362. dmar_qi_emit(): use atomic_store_64() when available (details)
  363. DMAR: rename domain_{alloc,free}_pgtbl to domain_domain_$1_pgtbl (details)
  364. x86 iommu x86_unit_common: expand hw completion write-out area to 8 bytes (details)
  365. x86 iommu: move DMAR-independent parts of the interrupt setup code into common (details)
  366. x86 iommu: move device_tag_init() to utils (details)
  367. x86 dmar: generalize dmar_domain_free_entry() into iommu_domain_free_entry() (details)
  368. x86 iommu: move page level related functions to common utils (details)
  369. DMAR: move hw.iommu.dmar.{tbl_pagecnt,batch_coalesce} sysctls up one level (details)
  370. DMAR: provide hw.iommu.ir alias for the hw.dmar.ir tunable (details)
  371. busdma_iommu: indirect dmar-specific method calls in iommu_get_dev_ctx() (details)
  372. dmar: avoid excessive indirection in KASSERT() in domain_map_buf() (details)
  373. msi_alloc(): do not leak msi_lock in error case (details)
  374. msi_release(): consistently unlock msi_lock around iommu_unmap_msi_intr() (details)
  375. x86: always provide dummy x86_iommu virtual methods (details)
  376. vfs_default.c: trim whitespace (details)
  377. vop_stdadvise(): restore correct handling of length == 0 (details)
  378. zfs: fix build without MAC (details)
  379. if_ovpn: ensure it's safe to modify the mbuf (details)
  380. MFC: fetch(1): suppress "Not Modified" in quiet mode (details)
  381. libnv: correct the calculation of the structure's size (details)
  382. stale-symlink-buildworld.sh: improve documentation (details)
  383. stale symlinks: configurable obj dir prefix (details)
  384. MFC: ng_ipfw(4): add missing change after previous commit (details)
  385. pf: fix debug printf (details)
  386. if_ovpn: declare our dependency on the crypto module (details)
  387. bhyve: improve input validation in pci_xhci (details)
  388. ctladm.8: fix several errors in the "port" section (details)
  389. Add some ATF tests for ctladm (details)
  390. ctladm: print port number with a succesful "port -c" command (details)
  391. ctladm: better documentation for adding and removing cfiscsi ports (details)
  392. ctladm: don't require the use of "-p" with "port -r" (details)
  393. ctladm: deprecate the undocumented "port -l" option (details)
  394. ctld: plug memory leaks (details)
  395. ctld: parse config file independently of getting kernel info (details)
  396. ctl: add tests for START STOP UNIT (details)
  397. ctl: add tests for PREVENT ALLOW MEDIUM REMOVAL (details)
  398. ctl: fix uninitialized data used by PREVENT ALLOW MEDIUM REMOVAL (details)
  399. targ: fix compiling the example (details)
  400. fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE (details)
  401. ums(4): fix incorrect mouse button reporting via evdev (details)
  402. zfs: cherry-pick change from openzfs (details)
  403. kernel: Make some compile time constant variables const (details)
  404. asmc: Add support for MacbookPro11,4 (details)
  405. ggate tests: Use unique ports among tests (details)
  406. capsicum tests: Serialize functional tests (details)
  407. netinet: Explicitly disallow connections to the unspecified address (details)
  408. ifnet: Remove if_getamcount() (details)
  409. pkgbase: Unify pkg ABI handling for pkgbase targets (details)
  410. pkgbase: Let source packages be built in parallel (details)
  411. pkgbase: Make src package creation recipes more precise (details)
  412. src.conf: Add a MK_ZFS_TESTS knob (details)
  413. ifnet: Add handling for toggling IFF_ALLMULTI in ifhwioctl() (details)
  414. ifconfig: Add an allmulti verb (details)
  415. Revert "tzsetup: symlink /etc/localtime instead of copying" (details)
  416. e1000: Fix a typo in a source code comment (details)
  417. getrlimit(2): document RLIMIT_UMTXP (details)
  418. procstat(1): make rlimit_param[] size assertion automatic (details)
  419. softdep_mount: on journal start failure, report the mount point path (details)
  420. softdep_mount: report failure of the softdepflush thread creation (details)
  421. amd64 sysarch(2): style (details)
  422. growfs.8: align and alphabetize options (details)
  423. diskless.8: show in `apropos pxe` + tag SPDX (details)
  424. ure.4: description consistencies + tag spdx (details)
  425. UPDATING: increase visibility of footnotes (details)
  426. ip6addrctl: Update the sample configuration file (details)
  427. geom.8: minor cleanup (markup, spdx, gsched) (details)
  428. adduser.8: update log location + spdx (details)
  429. ip6addrctl.8: Reference RFC 6724 instead (details)
  430. dummynet: fix pie (details)
  431. kernel: Fix defining of .init_array and .fini_array sections (details)
  432. kernel: Add defination of .init_array and .fini_array for all other platforms (details)
  433. tcp: keep syncache flags when updating ECN info (details)
  434. ncal: add -M to start week on Monday in cal mode (details)
  435. bluetooth(3): Fix two typos in source code comments (details)
  436. arm64: Fix a typo in a source code comment (details)
  437. VOP_ATTRIB.9: switch to Fa/Fc (details)
  438. amd64 pmap: be more verbose around entering and leaving LA57 trampoline (details)
  439. amd64 pmap: flush whole TLB after LA57 trampoline is installed (details)
  440. amd64 la57_trampoline: jump immediately after re-enabling paging (details)
  441. amd64 la57_trampoline: stop using %rdx to remember original %cr0 (details)
  442. amd64 la57_trampoline: disable EFER.LME around setting CR4.LA57 (details)
  443. amd64 la57_trampoline: turn off global pages and PCID before turning off paging (details)
  444. amd64 la57_trampoline: lgdt descriptor is always 10 bytes in long mode (details)
  445. amd64 la57_trampoline: save registers in memory (details)
  446. la57: do not set global bit for PML5 entry (details)
  447. pmap_bootstrap_la57(): reload IDT (details)
  448. amd64 pmap: do not set PG_G for usermode pmap pml5 kernel entry (details)
  449. amd64: pml5 entries do not support PAT bits (details)
  450. sysarch: improve checks for max user address (details)
  451. pf: use AF_INET6 when comparing IPv6 addresses (details)
  452. bpf: Add IfAPI analogue for bpf_peers_present() (details)
  453. bpf: Update a comment (details)
  454. bpf: Add a comment on the large `#ifdef _KERNEL` block (details)
  455. bpf: Some style and white space cleanup (details)
  456. vendor/bc: upgrade to version 7.0.2 (details)
  457. MFC jail: unbreak the zfs.mount_snapshot option (details)
  458. src.conf.5: regen for ZFS_TESTS knob (details)
  459. bhyve: validate corb->wp to avoid infinite loop (details)
  460. Add some AMD device IDs. (details)
  461. hda: remove duplicate codec defines (details)
  462. bhyve: simplify slot validation in xHCI emulation (details)
  463. regex: mixed sets are misidentified as singletons (details)
  464. ure(4): Add ID for LAN port in Thinkpad OneLink+ dock (details)
  465. e1000: fix link power down (details)
  466. ixgbe: increase VF reset timeout (details)
  467. ixv: fix x550 VF link speed reported (details)
  468. ixgbe: fix PHY ID for X550 (details)
  469. ixgbe: rename VF message type macros (details)
  470. ixgbe: correct register names to match datasheet (details)
  471. iflib: Fix compiler warnings (details)
  472. iflib: Correct indentation according to style(9) (details)
  473. iflib: Prefer C99's __func__ over GCC's __FUNCTION__ (details)
  474. iflib: Many style fixes (details)
  475. faccessat(2): Honor AT_SYMLINK_NOFOLLOW (details)
  476. ixgbe: introduce new mailbox API (details)
  477. ixgbe: increase DCB BW calculation for MTU (details)
  478. ixgbe: improve function comments (details)
  479. ixgbe: add reset count field to HW struct (details)
  480. ixgbe: Remove Atom C3000 HIC FW access (details)
  481. ixgbe: replace implicit fall-through comments (details)
  482. ixgbe: use primary and block terminology (details)
  483. ixgbe: remove circular dependency in ixgbe_mbx.h (details)
  484. ixgbe: add missing QV defines (details)
  485. ixgbe: improve Atom C3000 SWFW semaphore acq (details)
  486. ixgbe: prevent PBA read over eeprom word size (details)
  487. ixgbe: remove unused function prototypes (details)
  488. ixgbe: fix compilation for VF (details)
  489. ixgbe: update if_sriov to use the new mailbox apis (details)
  490. mountd: Add check for "=" after exports(5) options (details)
  491. openssl: Import OpenSSL 3.0.15. (details)
  492. radlib: fix a memory leak in `is_valid_request` (details)
  493. lib/libcrypt: remove trailing whitespace (details)
  494. lib/libcrypt: another trivial style change (details)
  495. e1000: Update igb driver version to 2.5.28-fbsd (details)
  496. ixgbe: update if_bypass to ix-3.3.38 (details)
  497. ixgbe: update ixgbe_phy with ix-3.3.38 changes (details)
  498. ixgbe: update ixgbe_mbx with ix-3.3.38 changes (details)
  499. ixgbe: update if_ix and ixgbe api with ix-3.3.38 changes (details)
  500. ixgbe: update if_sriov with ix-3.3.38 changes (details)
  501. ixgbe: fix fw_recovery_mode callout (details)
  502. libc/getnameinfo: stop adding NI_NUMERICHOST where inappropriate (details)
  503. rc: network.subr update consitency with older change (v6/v4 order) (details)
  504. mmccam: fix mmcsd disk aliases (details)
  505. malloc(9): extend contigmalloc(9) by a "slab cookie" (details)
  506. kern_malloc: remove '.' and '\n' from KASSERT/panic (details)
  507. kern_malloc: fold free and zfree together into one __always_inline func (details)
  508. LinuxKPI: move __kmalloc from slab.h to slab.c (details)
  509. LinuxKPI: 802.11 compile in debugging based on IEEE80211 debugging (details)
  510. net80211: scan/internal: change boolean argument from int to bool (details)
  511. LinuxKPI/lindebugfs: stop panicing in lindebugfs, fix simple_read_from_buffer (details)
  512. LinuxKPI: 802.11: consistently spell TRACE-RX: as such (details)
  513. LinuxKPI: 802.11: implement ieee80211_sn_*() (details)
  514. LinuxKPI: 802.11: support manual lladdr changes (details)
  515. LinuxKPI: add get_random_u8() (details)
  516. LinuxKPI: add ENAVAIL error code (details)
  517. LinuxKPI: add eth_hdr() (details)
  518. LinuxKPI: add no_printk (details)
  519. LinuxKPI: add general module_driver(), use it for module_pci_driver() (details)
  520. LinuxKPI: add pci_err() (details)
  521. LinuxKPI: add more fields to mhi.h (details)
  522. LinuxKPI; add more defintions to netdevice.h (details)
  523. LinuxKPI: some additions for mt76 (details)
  524. LinuxKPI: 802.11: add futher defines to ieee80211.h and nl80211.h (details)
  525. e1000: remove NEEDGIANT from a couple sysctls (details)
  526. ixgbe: fix misleading indentation in ixgbe_phy (details)
  527. e1000: drop NEEDGIANT on em_sysctl_reg_handler uses (details)
  528. e1000: drop NEEDGIANT from em_sysctl_debug_info use (details)
  529. random: Avoid magic numbers (details)
  530. loader: Add TSLOG to interpreter built-ins (details)
  531. loader: Instrument EFI GetRNG with TSLOG (details)
  532. loader: Make EFI entropy size configurable (details)
  533. pkcs5v2: Add pkcs5v2_genkey_raw function (details)
  534. loader: Make pkcs5v2 unconditionally available (details)
  535. loader: Expand EFI entropy if < 2048 bytes (details)
  536. EC2: Set entropy_efi_seed_size to 64 (details)
  537. loader: Load platform entropy even without menu (details)
  538. libpfctl: ensure we return useful error codes (details)
  539. linuxulator: ignore AT_NO_AUTOMOUNT for all stat variants (details)
  540. kern_fail: Stop checking for failures from fp_malloc(M_WAITOK) (details)
  541. boottrace: Stop checking for failures from realloc(M_WAITOK) (details)
  542. subr_bus: Stop checking for failures from malloc(M_WAITOK) (details)
  543. ctl: Stop checking for failures from malloc(M_WAITOK) (details)
  544. udf: Stop checking for failures from malloc(M_WAITOK) (details)
  545. altq: Stop checking for failures from malloc(M_WAITOK) (details)
  546. if_vlan: Stop checking for failures from malloc(M_WAITOK) (details)
  547. pf: Stop checking for failures from malloc(M_WAITOK) (details)
  548. netsmb: Stop checking for failures from malloc(M_WAITOK) (details)
  549. xdr: Stop checking for failures from malloc(M_WAITOK) (details)
  550. LinuxKPI: 802.11: Stop checking for failures from malloc(M_WAITOK) (details)
  551. krping: Stop checking for failures from malloc(M_WAITOK) (details)
  552. tests: Stop checking for failures from malloc(M_WAITOK) (details)
  553. arm ti: Stop checking for failures from malloc(M_WAITOK) (details)
  554. cmn600: Stop checking for failures from malloc/mallocarray(M_WAITOK) (details)
  555. smmu: Stop checking for failures from malloc(M_WAITOK) (details)
  556. al_eth: Stop checking for failures from malloc/buf_ring_alloc(M_WAITOK) (details)
  557. altera: Stop checking for failures from malloc(M_WAITOK) (details)
  558. ath(4): Stop checking for failures from malloc(M_WAITOK) (details)
  559. axgbe: Stop checking for failures from malloc(M_WAITOK) (details)
  560. bnxt(4): Stop checking for failures from malloc(M_WAITOK) (details)
  561. cxgb(4): Stop checking for failures from malloc/buf_ring_alloc(M_WAITOK) (details)
  562. cxgbe(4): Stop checking for failures from malloc/mb_alloc_ext_pgs(M_WAITOK) (details)
  563. drm2: Stop checking for failures from malloc(M_WAITOK) (details)
  564. ena(4): Stop checking for failures from malloc(M_WAITOK) (details)
  565. etherswitch: Stop checking for failures from malloc(M_WAITOK) (details)
  566. flexspi: Stop checking for failures from malloc(M_WAITOK) (details)
  567. fwip(4): Stop checking for failures from malloc(M_WAITOK) (details)
  568. hpt27xx(4): Stop checking for failures from malloc(M_WAITOK) (details)
  569. hptnr(4): Stop checking for failures from malloc(M_WAITOK) (details)
  570. hptrr(4): Stop checking for failures from malloc(M_WAITOK) (details)
  571. ice(4): Stop checking for failures from malloc(M_WAITOK) (details)
  572. iser(4): Stop checking for failures from malloc(M_WAITOK) (details)
  573. mana: Stop checking for failures from malloc/mallocarray/buf_ring_alloc(M_WAITOK) (details)
  574. mfi(4): Stop checking for failures from malloc(M_WAITOK) (details)
  575. mlx(4): Stop checking for failures from malloc(M_WAITOK) (details)
  576. mpi3mr(4): Stop checking for failures from malloc(M_WAITOK) (details)
  577. mrsas(4): Stop checking for failures from malloc(M_WAITOK) (details)
  578. pms(4): Stop checking for failures from malloc(M_WAITOK) (details)
  579. qat(4): Stop checking for failures from malloc(M_WAITOK) (details)
  580. sume(4): Stop checking for failures from malloc(M_WAITOK) (details)
  581. sound: Stop checking for failures from malloc(M_WAITOK) (details)
  582. sdhci(4): Stop checking for failures from malloc(M_WAITOK) (details)
  583. vchiq(4): Stop checking for failures from malloc(M_WAITOK) (details)
  584. ae(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK) (details)
  585. age(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK) (details)
  586. alc(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK) (details)
  587. ale(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK) (details)
  588. axgbe: Stop checking for failures from taskqueue_create(M_WAITOK) (details)
  589. bge(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK) (details)
  590. cas(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK) (details)
  591. dpaa2: Stop checking for failures from malloc/taskqueue_create(M_WAITOK) (details)
  592. jme(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK) (details)
  593. liquidio(4): Stop checking for failures from malloc/taskqueue_create/buf_ring_alloc(M_WAITOK) (details)
  594. mxge(4): Stop checking for failures from taskqueue_create(M_WAITOK) (details)
  595. bhyve: initialize register value (details)
  596. wpa: Import 2.11 (details)
  597. wpa: Fix gcc build (details)
  598. ntp: Improve descriptions in man pages (details)
  599. rc.d/dnctl: Chmod +x for consistency with other rc scripts (details)
  600. rc.subr.8: Do not use mdoc macros for Bl width (details)
  601. rc.8: Remove false information about rc.d/local (details)
  602. rc.subr: Consistently use an absolute path for sysrc (details)
  603. rc.subr.8: Fix the Bl macro of a list which is actually a table (details)
  604. e1000: Add sysctls for some missing MAC stats (details)
  605. e1000: Handle igb EEE sysctl (details)
  606. e1000: Add sysctl for igb(4) DMA Coalesce (details)
  607. e1000: Delay safe_pause switch until SI_SUB_CLOCKS (details)
  608. iflib: Simplify iflib_legacy_setup (details)
  609. pci_iov: Add a device_printf if out of bus numbers (details)
  610. bhyve: avoid TOCTOU on iov_len in virtio_vq_recordon() (details)
  611. e1000: Clean up legacy absolute and packet timers (details)
  612. e1000: Clean up ITR/EITR in preparation for AIM (details)
  613. extattr(9): Mention system namespace restrictions in a jail (details)
  614. extattr.9: Improve the fragment about jail(8) (details)
  615. bitset: Fix __BIT_FFS_AT()'s herald comment (details)
  616. bitset: __BIT_FFS_AT(): Fix herald comment, take 2 (details)
  617. agp.4: Add a deprecation notice to the man page (details)
  618. netmap: Make the memory ops function pointer table const (details)
  619. iflib: Use if_alloc_dev() to allocate the ifnet (details)
  620. dtrace/amd64: Fix probe argument fetching (details)
  621. dtrace_test: Remove the dependency on dtraceall (details)
  622. dtrace tests: Add a test case which validates FBT probe arguments (details)
  623. dtrace/amd64: Remove the dtrace_invop_callsite symbol (details)
  624. procfs: ensure that RLIMIT_IDENT is properly updated when a limit is added (details)
  625. amd64/mp_machdep.c: style (details)
  626. vm_map: add vm_map_find_locked(9) (details)
  627. kernel: add RLIMIT_PIPEBUF (details)
  628. getrlimit(2): document RLIMIT_PIPEBUF (details)
  629. libutil: support RLIMIT_PIPEBUF (details)
  630. bin/sh: support RLIMIT_PIPEBUF (details)
  631. usr.bin/limits: support RLIMIT_PIPEBUF (details)
  632. login.conf: add a placeholder for the pipebuf limit (details)
  633. procstat: support RLIMIT_PIPEBUF (details)
  634. privs: add PRIV_PIPEBUF (details)
  635. pipes: reserve configured percentage of buffers zone to superuser (details)
  636. pipe: use pipe subsystem KVA counter instead of pipe_map size (details)
  637. pipespace_new(): decrease uidinfo pipebuf usage if reservation check failed (details)
  638. sys_pipe: consistently use cr_ruidinfo for accounting of pipebuf (details)
  639. uifree(9): report non-zero values for all shared resources (details)
  640. procfs rlimit: handle pipebuf (details)
  641. Add proc_nfiles(9) (details)
  642. Add getrlimitusage(2) (details)
  643. Userspace enablement for getrlimitusage(2) (details)
  644. Regen (details)
  645. sysctl: add KERN_PROC_RLIMIT_USAGE (details)
  646. libprocstat: add procstat_getrlimitusage() (details)
  647. procstat(1): add rlimitusage subcommand (details)
  648. intel_idpgtbl.c: rename domain_* functions to dmar_* (details)
  649. iommu: add per-unit sysctls reporting the state of DMA and interrupt remapping (details)
  650. iommu: change iommu_domain_map_ops to take iommu_map_entry (details)
  651. vm_page_free_pages_toq(): return the count of freed pages (details)
  652. iommu: extend iommu_map_entry to store the list of associated freed page table pages (details)
  653. dmar: on unmap, postpone freeing page table pages after the invalidation is done (details)
  654. hyperv: call smp_targeted_tlb_shootdown_native() with pin (details)
  655. ixgbe: Switch if_sriov read/write back to ixgbe_mbx APIs (details)
  656. igc: Remove non-existent legacy absolute and packet timers (details)
  657. igc: Add NVM/firmware prints and sysctl (details)
  658. locate.updatedb: Explicitly exit from trap code. (details)
  659. date: Fix a few nits. (details)
  660. Update tzcode to 2024b. (details)
  661. printf(): Save errno earlier. (details)
  662. vmm: Properly handle writes spanning across two pages in vm_handle_db (details)
  663. vmm: avoid potential KASSERT kernel panic in vm_handle_db (details)
  664. bhyve: improve bounds checks in hda_codec (details)
  665. libpcap: Update to 1.10.5 (details)
  666. tcpdump: Update to 4.99.5 (details)
  667. ObsoleteFiles.inc: Update after libpcap upgrade from 1.10.4 to 1.10.5 (details)
  668. netstat: increase width of Netif column (details)
  669. hhook: Sprinkle const qualifiers where appropriate (details)
  670. khelp: Sprinkle const qualifiers where appropriate (details)
  671. if_enc(4): Make enc_add_hhooks() void (details)
  672. nuageinit: Lua check and lint files (details)
  673. nuageinit: Silence an fstyp(8) warning (details)
  674. nuageinit: Replace os.execute with Lua libraries (details)
  675. nuageinit: Standardize warning/error messages (details)
  676. nuageinit: Standardize user-facing error messages (details)
  677. nuageinit: Fix passwords (details)
  678. nuageinit: tests: Cleanup (details)
  679. release: basic-cloudinit improve default image (details)
  680. Merge commit b84d773fd004 from llvm git (by Fangrui Song): (details)
  681. Bump lld LINKER_FREEBSD_VERSION for reproducibility fix (details)
  682. sys: add conf/std.debug, generic debugging options (details)
  683. Update package-version (details)
Commit 9edf6af4aed14948925588eb4d2171d229c9713a by behlendorf1
Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN.

In P2ALIGN, the result would be incorrect when align is unsigned
integer and x is larger than max value of the type of align.
In that case, -(align) would be a positive integer, which means
high bits would be zero and finally stay zero after '&' when
align is converted to a larger integer type.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Youzhong Yang <yyang@mathworks.com>
Signed-off-by: Qiuhao Chen <chenqiuhao1997@gmail.com>
Closes #15940
The file was modifiedinclude/os/freebsd/spl/sys/sysmacros.h (diff)
The file was modifiedlib/libzfs/os/linux/libzfs_pool_os.c (diff)
The file was modifiedinclude/os/linux/spl/sys/sysmacros.h (diff)
The file was modifiedmodule/zfs/metaslab.c (diff)
The file was modifiedlib/libefi/rdwr_efi.c (diff)
The file was modifiedcmd/zdb/zdb.c (diff)
The file was modifiedlib/libspl/include/os/linux/sys/sysmacros.h (diff)
The file was modifiedmodule/os/freebsd/zfs/vdev_geom.c (diff)
The file was modifiedmodule/zcommon/zfs_fletcher.c (diff)
The file was modifiedmodule/zfs/vdev.c (diff)
The file was modifiedinclude/os/freebsd/spl/sys/ccompile.h (diff)
The file was modifiedmodule/zfs/dmu.c (diff)
The file was modifiedmodule/zfs/dmu_object.c (diff)
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
The file was modifiedmodule/zfs/btree.c (diff)
The file was modifiedcmd/ztest.c (diff)
Commit b474dfad0d9dfe708eea0a14108e17374dd9b093 by behlendorf1
Refactor dbuf_read() for safer decryption

In dbuf_read_verify_dnode_crypt():
- We don't need original dbuf locked there. Instead take a lock
on a dnode dbuf, that is actually manipulated.
- Block decryption for a dnode dbuf if it is currently being
written.  ARC hash lock does not protect anonymous buffers, so
arc_untransform() is unsafe when used on buffers being written,
that may happen in case of encrypted dnode buffers, since they
are not copied by dbuf_dirty()/dbuf_hold_copy().

In dbuf_read():
- If the buffer is in flight, recheck its compression/encryption
status after it is cached, since it may need arc_untransform().

Tested-by: Rich Ercolani <rincebrain@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16104
The file was modifiedmodule/zfs/dbuf.c (diff)
Commit 0f1e8ba2f8260bd36dce010c0adb4dda80a9d442 by behlendorf1
L2ARC: Cleanup buffer re-compression

When compressed ARC is disabled, we may have to re-compress when
writing into L2ARC.  If doing so we can't fit it into the original
physical size, we should just fail immediately, since even if it
may still fit into allocation size, its checksum will never match.

While there, refactor the code similar to other compression places
without using abd_return_buf_copy().

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16038
The file was modifiedmodule/zfs/arc.c (diff)
Commit 938d1588ebc7fb41e24500b2f21839f5a53b4ab5 by behlendorf1
Make more taskq parameters writable

There is no reason for these module parameters to be read-only.
Being modified they just apply on next pool import/creation, that
is useful for testing different values.

Reviewed-by: Rich Ercolani <rincebrain@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16118
The file was modifiedmodule/zfs/spa.c (diff)
The file was modifiedman/man4/zfs.4 (diff)
Commit 672474659687115fc10f56f5473cd16eb307a99f by behlendorf1
Slightly improve dnode hash

As I understand just for being less predictable dnode hash includes
8 bits of objset pointer, starting at 6.  But since objset_t is
more than 1KB in size, its allocations are likely aligned to 2KB,
that means 11 lower bits provide no entropy. Just take the 8 bits
starting from 11.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16131
The file was modifiedmodule/zfs/dmu_objset.c (diff)
Commit 41f2a9c81f6151cd01fc455f13b8330aa72718a6 by behlendorf1
Fix scn_queue races on very old pools

Code for pools before version 11 uses dmu_objset_find_dp() to scan
for children datasets/clones.  It calls enqueue_clones_cb() and
enqueue_cb() callbacks in parallel from multiple taskq threads.
It ends up bad for scan_ds_queue_insert(), corrupting scn_queue
AVL-tree.  Fix it by introducing a mutex to protect those two
scan_ds_queue_insert() calls.  All other calls are done from the
sync thread and so serialized.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16162
The file was modifiedinclude/sys/dsl_scan.h (diff)
The file was modifiedmodule/zfs/dsl_scan.c (diff)
Commit 4c484d66b7f8fe595fdb89d91797e3e8fa686dab by behlendorf1
Fix ZIL clone records for legacy holes

Previous code overengineered cloned range calculation by using
BP_GET_LSIZE(). The problem is that legacy holes don't have the
logical size, so result will be wrong.  But we also don't need
to look on every block size, since they all must be identical.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16165
The file was modifiedmodule/zfs/zfs_log.c (diff)
Commit fa4b1a404e12d3b883c86d8ea13d8c1203addce0 by behlendorf1
ZAP: Fix leaf references on zap_expand_leaf() errors

Depending on kind of error zap_expand_leaf() may return with or
without valid leaf reference held.  Make sure it returns NULL if
due to error it has no leaf to return.  Make its callers to check
the returned leaf pointer, and release the leaf if it is not NULL.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #12366
Closes #16159
The file was modifiedmodule/zfs/zap.c (diff)
Commit 4c0fbd8d6d1565ba2dd3d403a2bb42e2b6c64ec0 by behlendorf1
FreeBSD: Add zfs_link_create() error handling

Originally Solaris didn't expect errors there, but they may happen
if we fail to add entry into ZAP.  Linux fixed it in #7421, but it
was never fully ported to FreeBSD.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored-By: iXsystems, Inc.
Closes #13215
Closes #16138
The file was modifiedmodule/os/freebsd/zfs/zfs_dir.c (diff)
The file was modifiedmodule/os/freebsd/zfs/zfs_znode.c (diff)
The file was modifiedtests/test-runner/bin/zts-report.py.in (diff)
The file was modifiedmodule/os/freebsd/zfs/zfs_vnops_os.c (diff)
Commit 2eab4f7b396a1abb9adf7cab82d6ff47f9d78e9b by behlendorf1
Fix assertion in Persistent L2ARC

At the end of l2arc_evict() fix an assertion in the case that l2ad_hand
+ distance == l2ad_end.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: George Amanakis <gamanakis@gmail.com>
Closes #16202
Closes #16207
The file was modifiedmodule/zfs/arc.c (diff)
Commit 54ef0fdf60a8e7633c38cb46e1f5bcfcec792f4e by noreply
head_errlog: fix use-after-free

In the commit of the head_errlog feature we introduced a bug in
dsl_dataset_promote_sync(): we may dereference origin_head and hds, both
dereferencing ddpa after calling promote_sync() on ddpa.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Chunwei Chen <david.chen@nutanix.com>
Reviewed-by: Rob Norris <robn@despairlabs.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: George Amanakis <gamanakis@gmail.com>
Closes #16272
Closes #16273
The file was modifiedmodule/zfs/dsl_dataset.c (diff)
Commit f4e2aed42a704e2f238886b0dac50c06671b2d70 by hutter2
Linux 6.7 compat: detect if kernel defines intptr_t

Since Linux 6.7 the kernel has defined intptr_t. Clang has
-Wtypedef-redefinition by default, which causes the build to fail
because we also have a typedef for intptr_t.

Since its better to use the kernel's if it exists, detect it and skip
our own.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Closes #16201
The file was modifiedconfig/kernel.m4 (diff)
The file was modifiedinclude/os/linux/spl/sys/types.h (diff)
The file was addedconfig/kernel-types.m4
Commit c24a039042ef846940adae8e1dd1fc33cbb1f147 by hutter2
Linux 6.9: Call add_disk() from workqueue to fix zfs_allow_010_pos (#16282)

The 6.9 kernel behaves differently in how it releases block devices.  In
the common case it will async release the device only after the return
to userspace.  This is different from the 6.8 and older kernels which
release the block devices synchronously.  To get around this, call
add_disk() from a workqueue so that the kernel uses a different
codepath to release our zvols in the way we expect.  This stops
zfs_allow_010_pos from hanging.

Fixes: #16089

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Rob Norris <rob.norris@klarasystems.com>
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
Commit d7bf0e5259f311dbe6466cc3655e8cdb27392fb9 by hutter2
Linux 6.9: Fix UBSAN errors in zap_micro.c

You can use the UBSAN_SANITIZE_* Kbuild options to exclude certain
kernel objects from the UBSAN checks.  We previously excluded
zap_micro.o with:

UBSAN_SANITIZE_zap_micro.o := n

For some reason that didn't work for the 6.9 kernel, which wants us
to use:

UBSAN_SANITIZE_zfs/zap_micro.o := n

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #16278
Closes #16330
The file was modifiedmodule/Kbuild.in (diff)
Commit 0342c4a6b22d872beb286a09004706f521061c24 by hutter2
Linux 6.10: rework queue limits setup

Linux has started moving to a model where instead of applying block
queue limits through individual modification functions, a complete
limits structure is built up and applied atomically, either when the
block device or open, or some time afterwards. As of 6.10 this
transition appears only partly completed.

This commit matches that model within OpenZFS in a way that should work
for past and future kernels. We set up a queue limits structure with any
limits that have had their modification functions removed. For newer
kernels that can have limits applied at block device open
(HAVE_BLK_ALLOC_DISK_2ARG), we have a conversion function to turn the
OpenZFS queue limits structure into Linux's queue_limits structure,
which can then be passed in. For older kernels, we provide an
application function that just calls the old functions for each limit in
the structure.

Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
The file was modifiedconfig/kernel-blk-queue.m4 (diff)
Commit 3ea3649755d4a684a7e04a0c6a5eb3df8f87b27b by hutter2
Linux 6.10: work harder to avoid kmem_cache_alloc reuse

Linux 6.10 change kmem_cache_alloc to be a macro, rather than a
function, such that the old #undef for it in spl-kmem-cache.c would
remove its definition completely, breaking the build.

This inverts the model used before. Rather than always defining the
kmem_cache_* macro, then undefining then inside spl-kmem-cache.c,
instead we make a special tag to indicate we're currently inside
spl-kmem-cache.c, and not defining those in macros in the first place,
so we can use the kernel-supplied kmem_cache_* functions to implement
spl_kmem_cache_*, as we expect.

For all other callers, we create the macros as normal and remove access
to the kernel's own conflicting names.

Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
The file was modifiedinclude/os/linux/spl/sys/kmem_cache.h (diff)
The file was modifiedmodule/os/linux/spl/spl-kmem-cache.c (diff)
Commit 7d8e2a7f730374cb39fefa25e02702c03a41aa85 by hutter2
Linux 5.16: use bdev_nr_bytes() to get device capacity

This helper was introduced long ago, in 5.16. Since 6.10, bd_inode no
longer exists, but the helper has been updated, so detect it and use it
in all versions where it is available.

Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
The file was modifiedmodule/os/linux/zfs/vdev_disk.c (diff)
The file was modifiedconfig/kernel-blkdev.m4 (diff)
Commit 97f1eb80522532b65bf5b529d765c454cfbbc6b8 by hutter2
ZTS: Fix redacted_send failures on FreeBSD

We're seeing failures for redacted_deleted and redacted_mount
on FreeBSD 13-15:

    09:58:34.74 diff: /dev/fd/3: No such file or directory
    09:58:34.74 ERROR: diff /dev/fd/3 /dev/fd/4 exited 2

The test was trying to diff the file listings between two directories to
see if they are the same.  The workaround is to do a string comparison
of the directory listings instead of using `diff`.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #16224
The file was modifiedtests/zfs-tests/tests/functional/redacted_send/redacted_deleted.ksh (diff)
The file was modifiedtests/zfs-tests/tests/functional/redacted_send/redacted_mounts.ksh (diff)
Commit da9da6aea6b925c91b8e46dab0e9cd7488cf1ddc by hutter2
ZTS: handle FreeBSD version numbers correctly (#16340)

FreeBSD patchlevel versions are optional and, if present, in a different
location in the version string.

Sponsored-by: https://despairlabs.com/sponsor/

Signed-off-by: Rob Norris <robn@despairlabs.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedtests/zfs-tests/include/libtest.shlib (diff)
Commit bb401c02fca54e0877d33ee6e8012edb38ce1a27 by hutter2
Linux 6.9 compat: META (#16358)

Update the META file to reflect compatibility with the 6.9
kernel.

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
The file was modifiedMETA (diff)
Commit 08da05400556a778105156640a6f0dbee81e32ee by hutter2
one-word manpage correction: snapshot->rollback (#16294)

This commit fixes what is probably a copy-paste mistake. The
`dracut.zfs` manpage claims that the `bootfs.rollback` option executes
`zfs snapshot -Rf`. `zfs snapshot` does not have a `-R` option. `zfs
rollback` does.

Signed-off-by: Alphan Yılmaz <alphanyilmaz@gmail.com>
Reviewed-by: Rob Norris <rob.norris@klarasystems.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedman/man7/dracut.zfs.7 (diff)
Commit dfdac38afb1f25de0b35c4b522a839fe78052aed by hutter2
Fix missing semicolon in trace_dbuf.h (#16281)

On fedora 40, on the 6.9.4 kernel (in updates-testing), assign_str
expands to a "do {<stuff> } while(0)" loop.  Without this semicolon,
the while(0) is unterminated, causing a cascade of useless errors.
With this semicolon, it compiles fine.  It also compiles fine on 6.8.11
(the previous kernel).  I have not tested earlier kernels than that, but
at worst it should add a pointless semicolon.

All other instances in the source tree are already terminated with
semicolons.

Signed-off-by: Daniel Berlin <dberlin@dberlin.org>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedinclude/os/linux/zfs/sys/trace_dbuf.h (diff)
Commit f14a62ebbe87f52993dc52b6e0f3c0aee1f6d6d2 by hutter2
zts: allow running a single test by name only

Specifying a single test is kind of a hassle, because the full relative
path under the test suite dir has to be included, but it's not always
clear what that path even is.

This change allows `-t` to take the name of a single test instead of a
full path. If the value has no `/` characters, we search for a file of
that name under the test root, and if found, use that as the full test
path instead.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Akash B <akash-b@hpe.com>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #16088
The file was modifiedscripts/zfs-tests.sh (diff)
Commit ad8c8c1e31f94a96f904c59e6aef2972dd10670c by hutter2
zts: add a debug option to get full test output

The test runner accumulates output from individual tests, then writes it
to the log at the end. If a test hangs or crashes the system half way
through, we get no insight into how it got to where it did.

This adds a -D option for "debug". When set, all test output is written
to stdout.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Akash B <akash-b@hpe.com>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #16096
The file was modifiedscripts/zfs-tests.sh (diff)
The file was modifiedtests/test-runner/bin/test-runner.py.in (diff)
Commit fa2480f5b3bc1d265304a950c1b5ab05497853cd by hutter2
abd_iter_page: rework to handle multipage scatterlists

Previously, abd_iter_page() would assume that every scatterlist would
contain a single page (compound or no), because that's all we ever
create in abd_alloc_chunks(). However, scatterlists can contain multiple
pages of arbitrary provenance, and if we get one of those, we'd get all
the math wrong.

This reworks things to handle multiple pages in a scatterlist, by
properly finding the right page within it for the given offset, and
understanding better where the end of the page is and not crossing it.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reported-by: Brian Atkinson <batkinson@lanl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #16108
The file was modifiedmodule/os/linux/zfs/abd_os.c (diff)
Commit 32cd2da551c952298c11b5f17efd5cbb18b98d8f by hutter2
find_system_library: fix var cleanup when library not found

The "not found" path is attempting to clear SOMELIB_CFLAGS and
SOMELIB_LIBS by resetting them in AC_SUBST(). However, the second arg to
AC_SUBST is expanded in autoconf with `m4_ifvaln([$2], [[$1]=$2])`,
which is defined as "if the first arg is non-empty". The m4 "empty"
construction is [], therefore, the existing AC_SUBST calls never modify
the variables at all.

The effect of this is that leftovers from the library test can leak out.
At least, if a library header is found in the first stage, but the
library itself is not, -lsomelib is added to SOMELIB_LIBS and further
tests done. If that library is not found, SOMELIB_LIBS will not be
cleared.

For most of our library tests this hasn't been a problem, as they're
either always found properly via pkg-config or set directly, or the
calling test immediately aborts configure. For an optional dependency
however, an apparent "partial" result where the header is found but no
corresponding library causes link errors later.

I think a complete fix should probably not be setting SOMELIB_xxx until
the final result is known, but for now, adjusting the AC_SUBST calls to
explictly set the empty shell string (which is not "empty" to m4) at
least restores the intent.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16140
The file was modifiedconfig/find_system_library.m4 (diff)
Commit 56684117133943f176f73fdbf0b9535a2bcf251d by hutter2
Only provide execvpe(3) when needed

Check for the existence of execvpe(3) and only provide the FreeBSD
compat version if required.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Brooks Davis <brooks.davis@sri.com>
Closes #15609
The file was modifiedlib/libspl/include/os/freebsd/sys/param.h (diff)
The file was modifiedconfig/user.m4 (diff)
The file was modifiedlib/libzfs/os/freebsd/libzfs_compat.c (diff)
Commit 96cad4ca4c1f78fd57a8e3ae1193457606be9eb4 by hutter2
libspl/assert: show process/task details in assert output

Makes it much easier to see what thing complained.

Getting thread id, program name and thread name vary wildly between
Linux and FreeBSD, so those are set up in macros. pthread_getname_np()
did not appear in musl until very recently, but the same info has always
been available via prctl(PR_GET_NAME), so we use that instead.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16140
The file was modifiedconfig/user.m4 (diff)
The file was modifiedlib/libspl/assert.c (diff)
Commit 3ca305f87377afeeb3006ee6fe053358dc2f1ad8 by hutter2
libspl/assert: add lock around assertion output

If multiple threads trip an assertion at the same moment (quite common),
they can be printing at the same time, and their output gets messy.

This adds a simple lock around the whole thing, to prevent a second task
printing assert output before the first has finished.

Additionally, if libspl_assert_ok is not set, abort() is called without
dropping the lock, so that any other asserting tasks will be killed
before starting any output, rather than only getting part-way through.
This is a tradeoff; it's assumed that multiple threads asserting at the
same moment are likely the same fault in different instances of a
thread, and so there won't be any more useful information from the other
tasks anyway.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16140
The file was modifiedlib/libspl/assert.c (diff)
Commit 21f66db67432ad9f6363d0e69fcabb53976a45e4 by hutter2
libspl/assert: dump backtrace in assert

Adds a check for the backtrace() function. If available, uses it to show
a stack backtrace in the assertion output.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16140
The file was modifiedconfig/user.m4 (diff)
The file was modifiedlib/libspl/Makefile.am (diff)
The file was modifiedlib/libspl/assert.c (diff)
The file was addedconfig/user-backtrace.m4
Commit 88686213c38068492f0831fca0931f949b79ab4b by hutter2
libspl/assert: use libunwind for backtrace when available

libunwind seems to do a better job of resolving a symbols than
backtrace(), and is also useful on platforms that don't have backtrace()
(eg musl). If it's available, use it.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16140
The file was modifiedconfig/user.m4 (diff)
The file was addedconfig/user-libunwind.m4
The file was modifiedlib/libspl/assert.c (diff)
The file was modifiedlib/libspl/Makefile.am (diff)
Commit bc42d96d66d91cbfba98c0cbc34530c1156d6120 by hutter2
Unbreak FreeBSD cross-build on MacOS broken in 051460b8b

MacOS used FreeBSD-compatible getprogname() and pthread_getname_np().
But pthread_getthreadid_np() does not exist on MacOS. This implements
libspl_gettid() using pthread_threadid_np() to get the thread id
of the current thread.

Tested with FreeBSD GitHub actions
freebsd-src/.github/workflows/cross-bootstrap-tools.yml

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Rob Norris <rob.norris@klarasystems.com>
Signed-off-by: Martin Matuska <mm@FreeBSD.org>
Closes #16167
The file was modifiedlib/libspl/assert.c (diff)
Commit 2a2e3584752a172d9b3c406835f1e2057c498ef7 by hutter2
libspl_assert: always link -lpthread on FreeBSD

The pthread_* functions are in -lpthread on FreeBSD. Some of them are
implicitly linked through libc, but on FreeBSD 13 at least
pthread_getname_np() is not. Just be explicit, since -lpthread is the
documented interface anyway.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Closes #16168
The file was modifiedlib/libspl/Makefile.am (diff)
Commit d06c8de7484930de6bb932f0d739ebbd9e255cb5 by hutter2
zdb: bring crash handling over from ztest

ztest has a very nice ability to show a backtrace when there's an
unexpected crash. zdb is used often enough on corrupted data and can
blow up too, so nice output is useful there too.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #16181
The file was modifiedcmd/zdb/zdb.c (diff)
Commit 27cc6df760edb26bf3e55e795f83b92d40fcae8f by hutter2
Use memset to zero stack allocations containing unions

C99 6.7.8.17 says that when an undesignated initialiser is used, only
the first element of a union is initialised. If the first element is not
the largest within the union, how the remaining space is initialised is
up to the compiler.

GCC extends the initialiser to the entire union, while Clang treats the
remainder as padding, and so initialises according to whatever
automatic/implicit initialisation rules are currently active.

When Linux is compiled with CONFIG_INIT_STACK_ALL_PATTERN,
-ftrivial-auto-var-init=pattern is added to the kernel CFLAGS. This flag
sets the policy for automatic/implicit initialisation of variables on
the stack.

Taken together, this means that when compiling under
CONFIG_INIT_STACK_ALL_PATTERN on Clang, the "zero" initialiser will only
zero the first element in a union, and the rest will be filled with a
pattern. This is significant for aes_ctx_t, which in
aes_encrypt_atomic() and aes_decrypt_atomic() is initialised to zero,
but then used as a gcm_ctx_t, which is the fifth element in the union,
and thus gets pattern initialisation. Later, it's assumed to be zero,
resulting in a hang.

As confusing and undiscoverable as it is, by the spec, we are at fault
when we initialise a structure containing a union with the zero
initializer. As such, this commit replaces these uses with an explicit
memset(0).

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #16135
Closes #16206
The file was modifiedlib/libzfs/libzfs_sendrecv.c (diff)
The file was modifiedmodule/icp/io/aes.c (diff)
The file was modifiedtests/zfs-tests/cmd/libzfs_input_check.c (diff)
The file was modifiedcmd/zstream/zstream_redup.c (diff)
Commit ba3c7692cd73291b16abdf5ce7e51c058f73fca7 by hutter2
Destroy ARC buffer in case of fill error

In case of error dmu_buf_fill_done() returns the buffer back into
DB_UNCACHED state.  Since during transition from DB_UNCACHED into
DB_FILL state dbuf_noread() allocates an ARC buffer, we must free
it here, otherwise it will be leaked.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Jorgen Lundman <lundman@lundman.net>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15665
Closes #15802
Closes #16216
The file was modifiedmodule/zfs/dbuf.c (diff)
Commit 13ccbbb47a1be93f2c44e4fa51f6ae1a5a327f5d by hutter2
Some improvements to metaslabs eviction

- Add old eviction for special and dedup metaslab classes. Those
vdevs may be potentially big and fragmented with large metaslabs,
while their asynchronous write pattern is not really different
from normal class. It seems an omission to not evict old metaslabs
from them.
- If we have metaslab preload enabled, which means we are not too
low on memory, do not evict active metaslabs even if they are not
used for some time.  Eviction of active metaslabs means we won't
be able to write anything until we load them, that may take some
time, that is straight opposite to metaslab preload goals.  For
small systems the memory saving should be less important after
recent reduction in number of allocators and so open metaslabs.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #16214
The file was modifiedmodule/zfs/spa.c (diff)
The file was modifiedmodule/zfs/metaslab.c (diff)
Commit c950c5d3695b35ba4f02de167bdd3441862db210 by hutter2
disable automatic dependency tracking for dkms builds

Previously the dkms build left some unwanted files
in `/usr/lib/modules` which could cause package
managers to not properly clean up old kernels.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Martin Wagner <martin.wagner.dev@gmail.com>
Closes #16221
Closes #16241
The file was modifiedscripts/dkms.mkconf (diff)
Commit 25c4271d2f3bf36025abc5c80f6a2f80b84b4a88 by hutter2
zts: test single-disk pool resumes properly after disk pull

A single disk pool should suspend when its disk fails and hold the IO.
When the disk is returned, the pool should return and the IO be
reissued, leaving everything in good shape.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Reviewed-by: Jorgen Lundman <lundman@lundman.net>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Don Brady <don.brady@klarasystems.com>
The file was modifiedtests/runfiles/linux.run (diff)
The file was modifiedtests/zfs-tests/tests/Makefile.am (diff)
The file was addedtests/zfs-tests/tests/functional/fault/suspend_resume_single.ksh
The file was modifiedtests/test-runner/bin/zts-report.py.in (diff)
Commit 4d2f7f9839d12708417457cd57cf43d15cae5e92 by hutter2
vdev_open: clear async fault flag after reopen

After c3f2f1aa2, vdev_fault_wanted is set on a vdev after a probe fails.
An end-of-txg async task is charged with actually faulting the vdev.

In a single-disk pool, the probe failure will degrade the last disk, and
then suspend the pool. However, vdev_fault_wanted is not cleared. After
the pool returns, the transaction finishes and the async task runs and
faults the vdev, which suspends the pool again.

The fix is simple: when reopening a vdev, clear the async fault flag. If
the vdev is still failed, the startup probe will quickly notice and
degrade/suspend it again. If not, all is well!

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Co-authored-by: Don Brady <don.brady@klarasystems.com>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Reviewed-by: Jorgen Lundman <lundman@lundman.net>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Don Brady <don.brady@klarasystems.com>
The file was modifiedmodule/zfs/vdev.c (diff)
Commit 9835255f5dcf52b664ef6272f2db17886b702e10 by hutter2
zdb: dump ZAP_FLAG_UINT64_KEY ZAPs properly (#16334)

These are used for DDT and BRT stores. There's limited information
available to produce meaningful output, but at least we can put
something on screen rather than crashing.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.

Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedcmd/zdb/zdb.c (diff)
Commit 14cce09a65e5921fd33439ae804039c913565a43 by hutter2
FreeBSD: Use a statement expression to implement SET_ERROR() (#16284)

This way we can avoid making assumptions about the SDT probe
implementation.  No functional change intended.

Signed-off-by: Mark Johnston <markj@FreeBSD.org>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Allan Jude <allan@klarasystems.com>
Reviewed-by: Rob Norris <rob.norris@klarasystems.com>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedinclude/os/freebsd/spl/sys/sdt.h (diff)
Commit 9ad205ecded2fc24ee1d3bf38439fbb3c0df7e6c by hutter2
AUTHORS: refresh with recent new contributors (#16362)

Sponsored-by: https://despairlabs.com/sponsor/

Signed-off-by: Rob Norris <robn@despairlabs.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: George Melikov <mail@gmelikov.ru>
The file was modifiedAUTHORS (diff)
The file was modified.mailmap (diff)
Commit ef08cb26dae6b3c2e930e66852f13329babb7c2e by hutter2
Fix long_free_dirty accounting for small files (#16264)

For files smaller than recordsize, it's most likely that they don't have
L1 blocks. However, current calculation will always return at least 1 L1
block.

In this change, we check dnode level to figure out if it has L1 blocks
or not, and return 0 if it doesn't. This will reduce the chance of
unnecessary throttling when deleting a large number of small files.

Signed-off-by: Chunwei Chen <david.chen@nutanix.com>
Co-authored-by: Chunwei Chen <david.chen@nutanix.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
The file was modifiedmodule/zfs/dmu.c (diff)
Commit b5835ed137f7c954efc27630283b4c08d38ceff2 by hutter2
Linux 6.9: Fix UBSAN errors in sa.c (#16380)

This is a follow-on to 156a64161b4f9da35f2e0484106173344cf78317
that ignores UBSAN errors in sa.c.

Thank you @thwalker3 for the fix.

Original-patch-by: @thwalker3
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #16278
Closes #16330
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
The file was modifiedmodule/Kbuild.in (diff)
Commit dd5de55ebaa60ffa3ad1a4b004cf5c068471ba78 by hutter2
ZTS: Make do_vol_test() more deterministic (#16379)

- Explicitly disable compression since mkfile uses a zero buffer.
- Explicitly sync file systems instead of waiting for timeout.

Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedtests/zfs-tests/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib (diff)
Commit 6f27c4cadd29eb9b850c1c66bf71ef9ba119b955 by hutter2
[2.2.5-only] Make 'rmmod zfs' work after zfs-2.2.4 (#16406)

db65272ae was added to zfs-2.2.4 to stub in the
VDEV_PROP_RAIDZ_EXPANDING enum without adding the RAIDz expansion
feature.  This was needed to provide the right enum count for when the
VDEV_PROP_SLOW_IO proprieties got added.  This had the unfortunate side
effect of breaking module removal though.

Specifically, with the VDEV_PROP_RAIDZ_EXPANDING stub added,
the module would correctly omit making kobjects for the RAIDz expansion
vdev property, but then would try to blindly remove its non-existent
kobjects during module unload.

This commit fixes the issue by checking for an uninitialized kobject.

Fixes: #16249

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ameer Hamza <ahamza@ixsystems.com>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
The file was modifiedmodule/os/linux/zfs/zfs_sysfs.c (diff)
Commit 33174af15112ed5c53299da2d28e763b0163f428 by hutter2
Tag zfs-2.2.5

META file and changelog updated.

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedMETA (diff)
Commit c23c718ed63763aabad0b5bef828fcd374d2c4d0 by tuexen
tcpsso: add example to man page

Describe how to switch the TCP stack on all endpoints in the
LISTEN state.

Reviewed by: concussious.bugzilla_runbox.com
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D46218

(cherry picked from commit 5c44e69d2f3d2404f39c552448173a9bd62bd651)
The file was modifiedusr.sbin/tcpsso/tcpsso.8 (diff)
Commit 5c4fd0b523f7c75b0d331025378ed7df12f0fc87 by tuexen
tcpsso: improve man page

Address comment provided by bcr.

Sponsored by: Netflix, Inc.

(cherry picked from commit 2edac5a60a57a2a6ef80c61079d427c4ee31b7a9)
The file was modifiedusr.sbin/tcpsso/tcpsso.8 (diff)
Commit f7425802933f76c9af62c09a79a87753626281e0 by tuexen
tcp: fix t_flags2 collision

Fix the collision of TF2_IPSEC_TSO and TF2_NO_ISS_CHECK

Fixes: 646c28ea80cb ("tcp: improve SEG.ACK validation")
Sponsored by: Netflix, Inc.

(cherry picked from commit 52eacec95d54205962a3d6902e18e41fce8b4e79)
The file was modifiedsys/netinet/tcp_var.h (diff)
Commit 59d36b8969925a68f805338c1fd288d1c14bf7d4 by wulf
LinuxKPI: update linuxkpi_video to Linux 6.6

disable hdmi_audio_infoframe_pack_for_dp function for now as it depends
on not imported yet drm sources and is not used by drm-kmod.

Reviewed by: manu
Sponsored by: Serenity CyberSecurity, LLC
Differential Revision: https://reviews.freebsd.org/D46224

(cherry picked from commit c89d94ad5d95fd15e891b2723caae8a6104ee153)
The file was modifiedsys/compat/linuxkpi/common/src/linux_hdmi.c (diff)
The file was modifiedsys/compat/linuxkpi/common/src/linux_aperture.c (diff)
The file was addedsys/compat/linuxkpi/common/src/linux_cmdline.c
The file was addedsys/compat/linuxkpi/common/include/video/cmdline.h
The file was modifiedsys/modules/linuxkpi_video/Makefile (diff)
The file was modifiedsys/compat/linuxkpi/common/include/linux/aperture.h (diff)
The file was modifiedsys/compat/linuxkpi/common/include/linux/hdmi.h (diff)
Commit 3d2b2d8d02fda59ce3a8be6df91ea729970cdbb3 by marck
mailer.conf for sendmail: remove duplicate word.

MFC after: 3 days

(cherry picked from commit 2c2916a3ec3805ff7815633c0bf90c4339016821)
The file was modifiedetc/mail/mailer.conf (diff)
Commit 6b6eebd39d5a30b43a2d279e029734003688d68b by mizhka
usr.sbin/gstat: add microsecond precision for disk latency

This patch makes gstat to show latency in microseconds if actual latency
is less than 1ms. It affects only "ms/r" and "ms/w" columns.

Before patch:
L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
    0    922      0      0    0.0    922  35809    0.0    2.8| nda0
    0    928      2     34    0.1    926  35809    0.0    3.1| nda1

After patch:
L(q)  ops/s    r/s   kBps   ms/r    w/s   kBps   ms/w   %busy Name
    0    496      1     31  0.156    495  16020  0.040    1.5| nda0
    0    492      0      0  0.000    492  16020  0.042    1.5| nda1

Reviewed by: imp
Sponsored by: Postgres Professional
Differential Revision: https://reviews.freebsd.org/D41999

(cherry picked from commit d471b4f71dd3b09ada5bf58912dfb1266dd47750)
The file was modifiedusr.sbin/gstat/gstat.c (diff)
Commit 6fb0634bc4ce5fe32312a53031e56fe866b0b24d by emaste
linuxkpi: use canonical tests for is_{zero,broadcast}_ether_addr

They are functionally equivalent, but the updated form mirrors the tests
in sys/net/ethernet.h and avoids confusion.

Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D21037

(cherry picked from commit a1295b24842d209e6bf93a4823193d56ad2db064)
The file was modifiedsys/compat/linuxkpi/common/include/linux/etherdevice.h (diff)
Commit cbbc8d67301c650dd683566d44ff554993556224 by emaste
pipe: keep uio_iovcnt consistent

In pipe_build_write_buffer we increment uio_iov but did not update
uio_iovcnt.  This would not cause an OOB read (thanks to to uio_resid)
but is inconsistent and could be an issue if other code changes are made
in the future.

Reported by: Synacktiv
Reviewed by: jhb, markj, brooks
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45999

(cherry picked from commit d8ff42e816848a0d4a427755b46b8560cb86ebc8)
The file was modifiedsys/kern/sys_pipe.c (diff)
Commit 6bf5c32ad8aa1f1602b3cefb0b5e5918db287335 by emaste
acl_copyin: avoid returning uninitialized memory

acl_copyin did not validate the return value of acl_copy_oldacl_into_acl
which could lead to uninitialized acl structure memory reads.

Reported by:    Synacktiv
Reviewed by: markj, emaste
Sponsored by:   The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46125

(cherry picked from commit 6ee6c7b146643170602091e8c330314e4ef47b42)
The file was modifiedsys/kern/vfs_acl.c (diff)
Commit ce42e0ed036b39c5ddf18967b1449e95faf0d3c6 by tuexen
tcp: initialize V_ts_offset_secret for all vnets

Initialize V_ts_offset_secret for each vnet, not only for the
default vnet, since it is vnet specific.

Reviewed by: Peter Lei
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D46246

(cherry picked from commit 9b569353e0b073a513cf10debbe634c2ceb29fdf)
The file was modifiedsys/netinet/tcp_subr.c (diff)
Commit eac2a1edabae65e57bf66236bcbaf04d0c973b5e by gbe
axgbe: Fix two typos in source code comments

- s/specfied/specified/

(cherry picked from commit 619c9488a31ce14c6570d2e31f70d416382ed7a6)
The file was modifiedsys/dev/axgbe/xgbe-phy-v2.c (diff)
Commit 0ea9f98023cf159c3299774e28ef486ac13bf8b2 by gbe
sctp(4): Fix typos in source code comments

- s/collasped/collapsed/
- s/defininitions/definitions/
- s/optionaly/optionally/

Obtained from: NetBSD

(cherry picked from commit 58c99e07506e67c06d703b080c2fc22cc39237f2)
The file was modifiedsys/netinet6/sctp6_usrreq.c (diff)
Commit 36dc690bd10cf423ecbdfc7daaec7feb73949eb1 by gbe
ipfilter(4): Fix typos in source code comments

- s/inconsistancy/inconsistency/

(cherry picked from commit c90a206496fc431854e0c2989c2214b048e960d5)
The file was modifiedsys/netpfil/ipfilter/netinet/mlfk_ipl.c (diff)
Commit 402db142e07aba7d95bd99b2e3f672ad7e2b23ee by gbe
stress2: Fix a typo in namecache2.sh

- s/inconsistancy/inconsistency/

(cherry picked from commit 32a9b95a8751f916deef5970476f010995244bfe)
The file was modifiedtools/test/stress2/misc/namecache2.sh (diff)
Commit ae3598b7a1dc49874203e41ff77e7e6c2c9505aa by dim
Fix enum warnings in ath_hal's ar9300

This fixes a number of clang 19 warnings:

    sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c:709:25: error: comparison of different enumeration types ('HAL_BOOL' and 'HAL_FREQ_BAND') [-Werror,-Wenum-compare]
      709 |         freq_array[i] = FBIN2FREQ(p_freq_bin[i], is_2ghz);
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h:148:11: note: expanded from macro 'FBIN2FREQ'
      148 |     (((y) == HAL_FREQ_BAND_2GHZ) ? (2300 + x) : (4800 + 5 * x))
          |       ~~~ ^  ~~~~~~~~~~~~~~~~~~
    sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c:745:25: error: comparison of different enumeration types ('HAL_BOOL' and 'HAL_FREQ_BAND') [-Werror,-Wenum-compare]
      745 |         freq_array[i] = FBIN2FREQ(p_freq_bin[i], is_2ghz);
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h:148:11: note: expanded from macro 'FBIN2FREQ'
      148 |     (((y) == HAL_FREQ_BAND_2GHZ) ? (2300 + x) : (4800 + 5 * x))
          |       ~~~ ^  ~~~~~~~~~~~~~~~~~~
    sys/contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c:781:25: error: comparison of different enumeration types ('HAL_BOOL' and 'HAL_FREQ_BAND') [-Werror,-Wenum-compare]
      781 |         freq_array[i] = FBIN2FREQ(p_freq_bin[i], is_2ghz);
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    sys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h:148:11: note: expanded from macro 'FBIN2FREQ'
      148 |     (((y) == HAL_FREQ_BAND_2GHZ) ? (2300 + x) : (4800 + 5 * x))
          |       ~~~ ^  ~~~~~~~~~~~~~~~~~~

The `FBIN2FREQ()` and `FREQ2FBIN()` macros in `ar9300eep.h` are invoked
in most places around the `ath_hal` code with a (effectively) boolean
second argument, corresponding to "is this 2GHz?". But in the code that
is warned about, the value `HAL_FREQ_BAND_2GHZ` is of a different
non-boolean type, `HAL_FREQ_BAND`.

Update the `FBIN2FREQ()` and `FREQ2FBIN()` macros to interpret the
second argument as boolean value, and rename the macro parameter names
to better describe their meaning.

Reviewed by: adrian, bz
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D46201

(cherry picked from commit 82246ac5d890e031c9978052e5a431e0960182d5)
The file was modifiedsys/contrib/dev/ath/ath_hal/ar9300/ar9300eep.h (diff)
Commit b998525875c47602313ac223eb35f7e51df3b50a by dim
Merge commit d2353ae00c3b from llvm git (by Argyrios Kyrtzidis):

  [utils/TableGen/X86CompressEVEXTablesEmitter.cpp] Make sure the tablegen output for the `checkPredicate` function is deterministic (#84533)

  The output for the `checkPredicate` function was depending on a
  `std::map` iteration that was non-deterministic from run to run, because
  the keys were pointer values.

  Make a change so that the keys are `StringRef`s so the ordering is
  stable.

This avoids non-determinism in llvm-tblgen output, which could cause
differences in the generated X86GenCompressEVEXTables.inc file. Although
these differences are not influencing the meaning of the generated code,
they still change a few bytes in libllvm. This in turn influences all
the binaries linked with libllvm, such as clang, ld.lld, etc.

Reported by: cperciva
MFC after: 3 days

(cherry picked from commit 7a8d05ba19b7762596c0ff22e668e4d50bac81cf)
The file was modifiedcontrib/llvm-project/llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp (diff)
Commit d3c1df53f5bd73ee76f05e6f85c2766e54a4e454 by tuexen
ddb: update printing of t_flags and tflags2

Update the ddb printing of t_flags and t_flags2 to the current state of
definitions in tcp_var.h.

Reviewed by: cc
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D46222

(cherry picked from commit 093d9b46f4720392e53c171eaabfd7a6a8101170)
The file was modifiedsys/netinet/tcp_usrreq.c (diff)
Commit b97b3dead5ddd9e4035e55680ad0f301688b8215 by tuexen
Revert "ddb: update printing of t_flags and tflags2"

This reverts commit d3c1df53f5bd73ee76f05e6f85c2766e54a4e454.
The file was modifiedsys/netinet/tcp_usrreq.c (diff)
Commit f18b9b2b95fd5feeb5372a8e0d2ff1eb0bd64891 by tuexen
ddb: update printing of t_flags and tflags2

Update the ddb printing of t_flags and t_flags2 to the current state of
definitions in tcp_var.h.

Reviewed by: cc
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D46222

(cherry picked from commit 093d9b46f4720392e53c171eaabfd7a6a8101170)
The file was modifiedsys/netinet/tcp_usrreq.c (diff)
Commit c19ac840d345245887b0e797fd10e7a13b0fd2c9 by imp
pxeboot: Allow a different default loader for pxeboot

Sometimes you need / want a different boot loader than loader_lua for
pkeldr. Provide an option to get either the 4th one or the simp one.

MFC After: 3 days
Sponsored by: Netflix
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D46213

(cherry picked from commit f4762e9135d181f5d4f2a9d688ff803ee53ad808)
The file was modifiedstand/i386/pxeldr/Makefile (diff)
The file was modifiedstand/i386/Makefile (diff)
Commit e91ae90796195afb6c58adb601f6d04dea865877 by imp
pxeboot: Enforce a 500k limit here

Have a separate PXEBOOTSIZE variable that acts much like LOADERSIZE
variable to limit the size of the loader used for pxeldr. This allows
people to override it independently of LOADERSIZE, which they may need
to set larger for other reasons. Combined with PXEBOOT_DEFAULT_INTERP,
you can build a larger lua loader, while still being able to build pxeldr
with the 4th one, for example.

MFC After:     3 days
Sponsored by: Netflix
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D46214

(cherry picked from commit e1a6d93155cea7fbb038dee671ecf005c4846fd3)
The file was modifiedstand/i386/pxeldr/Makefile (diff)
Commit b013b81a03bad3741c50523ba5bcd9445429dbd6 by imp
loader: Document that WITH_BEARSSL may need other tweaks

/boot/loader is right up aginst the 500k limit we have to make sure
everything works in a wide variety of environments. However, adding
WITH_BEARSSL can push it over the edge since we are so close to the
limit with it enabled. One may also need to increase LOADERSIZE when
enabling it. It's often safe to go much higher, especially when you
don't plan on using pxeldr. Document this trade off here.

MFC After: 3 days
Sponsored by: Netflix
Reviewed by: sjg, markj
Differential Revision: https://reviews.freebsd.org/D46211

(cherry picked from commit 7ee781e2bfc2558060dec95564414a0bff4415c1)
The file was modifiedtools/build/options/WITH_LOADER_VERIEXEC (diff)
The file was modifiedtools/build/options/WITH_BEARSSL (diff)
Commit e179ee000ef2731a7baa6edc32ed8bfcca751f8b by imp
loader: Add WITH/WITHOUT_LOADER_PXEBOOT build option

Make it possible to disable pxeboot. This loader will fail to build when
it's too large. When /boot/loader needs to be larger like that, this
options will disable a component whose build will fail. It is an explicit
option rather than implicit when things are too large to force the user to
make the explicit tradeoffs rather than wonder why they have a stale pxeboot
or other odd failure mode.

MFC After: 3 days
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D46212

(cherry picked from commit 20d35d5817851df3a6d20e75df2e14a192b94940)
The file was modifiedstand/i386/Makefile (diff)
The file was addedtools/build/options/WITHOUT_LOADER_PXEBOOT
The file was addedtools/build/options/WITH_LOADER_PXEBOOT
The file was modifiedshare/mk/src.opts.mk (diff)
Commit a9376f5caf1cdcee074601dbd838a1c5450e283c by kbowling
qlnxe: Allow MAC address override

The qlnxe driver always sets the NIC's rx mac address to the card's
default MAC, ignoring any MAC address set via ifconfig.

PR: 278085

(cherry picked from commit 792226e53023cb09566cb78b2135b052e9b62e0e)
The file was modifiedsys/dev/qlnx/qlnxe/qlnx_os.c (diff)
Commit ac4866f142d8ba9ee8f102ce38071f17f5c100f5 by kib
msun/ld80/e_powl.c: add const qualifiers to the static immutable values

(cherry picked from commit 10ac6c48a3e4ec6bb6f09d9c93e6ce5eb3381251)
The file was modifiedlib/msun/ld80/e_powl.c (diff)
Commit 023b97a69969257cf3e8ea9f1a9cefce6218fa3a by kib
msun/ld80/e_powl.c: make powl() thread-safe by making static variables thread-local

(cherry picked from commit 0c00dbfeb0c814c3a87a4d490db3692c1f9441e9)
The file was modifiedlib/msun/ld80/e_powl.c (diff)
Commit 85434cac6ef20d42653c966b317d5b2ae9c95973 by dim
Fix EFI loader reproducibility with lld

When the various loaders under stand/efi are built, the resulting
binaries differ over multiple runs, even if WITH_REPRODUCIBLE_BUILD is
used. This is caused by lld multithreading and the custom linker scripts
for the loaders, and affects the following binaries:

* loader_4th.efi
* loader_4th.sym
* loader_4th.sym.full
* loader_lua.efi
* loader_lua.sym
* loader_lua.sym.full
* loader_simp.efi
* loader_simp.sym
* loader_simp.sym.full

Work around this by disabling lld threading for these binaries.

Reviewed by: emaste
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D46271

(cherry picked from commit f5ce3f4ef562ea9fc4d8f9c13c268f48a5bacba7)
The file was modifiedstand/efi/loader/Makefile (diff)
Commit 665b21f583e8066df90e9e07d66657ddd8a02a53 by markj
intr: Remove dead code from intr_event_remove_handler()

We currently destroy the ithread in intr_event_destroy().  In
preparation for fixing a bug there, remove this dead code and reorganize
a bit to avoid some code duplication.  No functional change intended.

Reviewed by: kib, jhb
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D45490

(cherry picked from commit 177624f2f425901bb241789d639a16bded2247ae)
The file was modifiedsys/kern/kern_intr.c (diff)
Commit c8d02c3763b9c19c5829741336ff84f97819a143 by markj
ithread: Annotate a branch in ithread_execute_handlers()

No functional change intended.

Reviewed by: kib, jhb
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D45491

(cherry picked from commit c122d7ffad5efb31e1aa5035cb1a26ad2e479074)
The file was modifiedsys/kern/kern_intr.c (diff)
Commit 58f9c14235f62f8e39992608bec9bd1398eeedff by markj
ktrace tests: Add a test case for handling of exec+setuid binaries

MFC after: 1 week

(cherry picked from commit 3852a5a226509551e72c13bce443707f80e863ce)
The file was modifiedtests/sys/kern/ktrace_test.c (diff)
Commit f4d580a547341362cacc79383a24e51c6875ff9a by markj
bhyve: Escape binary data sent in reply packets

Per https://sourceware.org/gdb/current/onlinedocs/gdb.html/Overview.html#Binary-Data
certain bytes must be escaped.  The XML register definitions we have so far do
not run afoul of that rule, but the stub should handle them anyway.

Reviewed by: jhb
MFC after: 2 weeks
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D46194

(cherry picked from commit b4fb947923b566a3a8a6ad8e5f8ea8dec0c68ee4)
The file was modifiedusr.sbin/bhyve/gdb.c (diff)
Commit b5ce60dffd5d50c1d79561e1616c9463d8c081b4 by mm
zdb: Fix printf formatting of a uint64_t

This fixes the build on 32-bit platforms.

Fixes: dc91e7452482 ("zdb: dump ZAP_FLAG_UINT64_KEY ZAPs properly (#16334)")
(cherry picked from commit f029f6277996760be4be42148295231af425cc2d)
The file was modifiedsys/contrib/openzfs/cmd/zdb/zdb.c (diff)
Commit 8774fa749d4e6d2726c0ed662a36657782ad0cec by se
msdosfs: fix cluster limit when mounting FAT-16 file systems

The maximum cluster number was calculated based on the number of data
cluters that fit in the givem partition size and the size of the FAT
area. This limit did not take into account that the highest 10 cluster
numbers are reserved and must not be used for files.

PR: 280347
Reported by: pho@FreeBSD.org

(cherry picked from commit 45d4e82bf61f91792142a2b9e2af657dab8500fd)
The file was modifiedsys/fs/msdosfs/msdosfs_vfsops.c (diff)
Commit 1ff3118d72b15fb4c02ee156a5073e3e40528587 by jamie
MFC jail: only chdir to user's home directory when user is specified

jail(8) with the "exec.clean" parameter not only cleans the enviromnent
variables before running commands, but also changes to the user's home
directory.  While this makes sense when auser is specified (via one of
the exec.*_user parameters), it leads to all commands being run in the
jail's /root directory even in the absence of an explicitly specified
user.  This can lead to problems when e.g. rc scripts are run from that
non-world-readable directory, and run counter to expectations that jail
startup is analogous to system startup.

Restrict this behvaiour to only users exlicitly specified, either via
the command line or jail parameters, but not the implicit root user.
While this changes long-stand practice, it's the more intuitive action.

jexec(8) has the same problem, and the same fix.

PR: 277210
Reported by: johannes.kunde at gmail
Differential Revision: https://reviews.freebsd.org/D46226

(cherry picked from commit 5cf705491727dd963485f9911ee3d52c3bf148db)
The file was modifiedusr.sbin/jail/jail.8 (diff)
The file was modifiedusr.sbin/jexec/jexec.8 (diff)
The file was modifiedusr.sbin/jexec/jexec.c (diff)
The file was modifiedusr.sbin/jail/command.c (diff)
Commit 99c5c0cb1556daf2818e99a934dc6a2f99fa30f9 by cperciva
dhclient: Switch timeouts from time_t to timespec

Introduce a new function, add_timeout_timespec(), to use timespec
structs to handle timeouts. Make add_timeout() into a wrapper for the
latter function to retain compatibility with the rest of the codebase.
No functional change intended.

Sponsored by: Google LLC (GSoC 2024)
Signed-off-by: Isaac Cilia Attard <icattard@FreeBSD.org>
MFC after: 10 days
Reviwed by: cperciva, brooks, Tom Hukins, Alexander Ziaee
Pull Request: https://github.com/freebsd/freebsd-src/pull/1368

(cherry picked from commit 16a235f23c066d27b3a53c66cf6aa329be07cdb9)
The file was modifiedsbin/dhclient/dispatch.c (diff)
The file was modifiedsbin/dhclient/dhcpd.h (diff)
Commit 49be9c8b00298a219c3b8a5271d0e8969e82a47d by cperciva
dhclient: Timeouts for entering state_selecting

Use the new add_timeout_timespec() API to handle timeouts for
state_selecting within dhclient.c. No functional change intended.

Sponsored by: Google LLC (GSoC 2024)
Signed-off-by: Isaac Cilia Attard <icattard@FreeBSD.org>
MFC after: 10 days
Reviwed by: cperciva, brooks, Tom Hukins, Alexander Ziaee
Pull Request: https://github.com/freebsd/freebsd-src/pull/1368

(cherry picked from commit 76e0ffd9f8fd09f8790a4d96581782225d9019ea)
The file was modifiedsbin/dhclient/dispatch.c (diff)
The file was modifiedsbin/dhclient/dhclient.c (diff)
The file was modifiedsbin/dhclient/dhcpd.h (diff)
Commit 7ee68314d36856b349457204ea938a302b4d17a4 by cperciva
dhclient: Use clock_gettime() instead of time()

Change the use of time() to clock_gettime() to have millisecond-accurate
rather than second-accurate timeouts.

Sponsored by: Google LLC (GSoC 2024)
Signed-off-by: Isaac Cilia Attard <icattard@FreeBSD.org>
MFC after: 10 days
Reviwed by: cperciva, brooks, Tom Hukins, Alexander Ziaee
Pull Request: https://github.com/freebsd/freebsd-src/pull/1368

(cherry picked from commit f0a38976b01e15956fdba48f8b58db22d0af1f7e)
The file was modifiedsbin/dhclient/dhclient.c (diff)
The file was modifiedsbin/dhclient/dispatch.c (diff)
Commit 7bdd17d8d30a2c29dd5d8ea733435917be39eefe by cperciva
dhclient: Make arp_timeout configurable

Make arp_timeout available to dhclient.c, set the default timeout to 250
ms, and provide a new command-line argument, 'n' for setting the timeout
to 0.

Sponsored by: Google LLC (GSoC 2024)
Signed-off-by: Isaac Cilia Attard <icattard@FreeBSD.org>
MFC after: 10 days
Reviwed by: cperciva, brooks, Tom Hukins, Alexander Ziaee
Pull Request: https://github.com/freebsd/freebsd-src/pull/1368

(cherry picked from commit b51569ad3c806688befc00dad51d15a7e61659fb)
The file was modifiedsbin/dhclient/dhclient.c (diff)
Commit fca891c011cc7c817c2622aa59c4e80c52fe674f by cperciva
dhclient: Update dhclient man page for n flag

Document new n flag for disabling ARP resolution within dhclient.

Sponsored by: Google LLC (GSoC 2024)
Signed-off-by: Isaac Cilia Attard <icattard@FreeBSD.org>
MFC after: 10 days
Reviwed by: cperciva, brooks, Tom Hukins, Alexander Ziaee
Pull Request: https://github.com/freebsd/freebsd-src/pull/1368

(cherry picked from commit 84fce4b67adc1ed1882d9371eb5d92dbbc79766d)
The file was modifiedsbin/dhclient/dhclient.8 (diff)
Commit 54bd53672395c9902058da58cf7c9d4443785e5a by cperciva
dhclient: rc.conf option to disable ARP resolution

Introduce a new rc.conf option to not wait for ARP resolution within
dhclient. This is plausible on many modern networks where it is possible
to trust the DHCP server to know whether an IP address is available.

Sponsored by: Google LLC (GSoC 2024)
Signed-off-by: Isaac Cilia Attard <icattard@FreeBSD.org>
MFC after: 10 days
Reviwed by: cperciva, brooks, Tom Hukins, Alexander Ziaee
Pull Request: https://github.com/freebsd/freebsd-src/pull/1368

(cherry picked from commit 503adcdf1db35eab0f3d35392947a6da3bd19539)
The file was modifiedlibexec/rc/rc.conf (diff)
The file was modifiedlibexec/rc/rc.d/dhclient (diff)
Commit 95256f403c47174733cedca6996957bb932fb356 by cperciva
dhclient: Update rc.conf.5 with dhclient_arpwait

Add new dhclient_arpwait option to rc.conf.5, with information about
what it does, and cases in which it could be disabled.

Sponsored by: Google LLC (GSoC 2024)
Signed-off-by: Isaac Cilia Attard <icattard@FreeBSD.org>
MFC after: 10 days
Reviwed by: cperciva, brooks, Tom Hukins, Alexander Ziaee
Pull Request: https://github.com/freebsd/freebsd-src/pull/1368

(cherry picked from commit e4482bfde9b10a4d0edd0e2d956a87b76db2cb1f)
The file was modifiedshare/man/man5/rc.conf.5 (diff)
Commit 7300dec10a0bfd25bc1163a577a66666ab1d97ab by cperciva
EC2: Set dhclient_arpwait="NO"

The DHCP server in EC2 knows exactly which system should be using
which IP address (and in fact EC2 has source IP filtering on by
default) so there's no point ARPing an address before using it.

The preceding commits (changing the ARP wait time from 2 s to 250 ms)
and this one (eliminating the wait entirely in EC2) reduce the time
required for a newly launched FreeBSD/EC2 instance to launch by 2
seconds.

Discussed with: icattard
MFC after: 10 days
Sponsored by: Amazon

(cherry picked from commit 54a543d5ea3a58aee2f001498376127efea24bd2)
The file was modifiedrelease/tools/ec2-base.conf (diff)
Commit b2cc25c8fb0c0ff71682c28665d11f65bca2cc91 by markj
socket: Fix handling of listening sockets in sotoxsocket()

A lock needs to be held to ensure that the socket does not become a
listening socket while sotoxsocket() is loading fields from the socket
buffers, as the memory backing the socket buffers is repurposed when
transitioning to a listening socket.

MFC after: 1 week
Sponsored by: Klara, Inc.
Sponsored by: Stormshield

(cherry picked from commit fc4365853f1c4b572d9fd643ea336508d9a6a0f7)
The file was modifiedsys/kern/uipc_socket.c (diff)
Commit 63398f340041fe630e56f9daccd62920adc85796 by markj
socket: Make the sopt_rights field a pointer to const

No functional change intended.

MFC after: 1 week
Sponsored by: Klara, Inc.
Sponsored by: Stormshield

(cherry picked from commit 07f2ed5ce88293b5008a27d1868f47eb8cbd25e2)
The file was modifiedsys/sys/sockopt.h (diff)
Commit 7178003234932e62dd552da9b39d2e6c35ed97f8 by markj
xen/netfront: Decouple XENNET tags from mbuf lifetimes

netmap's generic mode tries to improve performance by minimizing mbuf
allocations.  In service of this goal, it maintains an extra reference
to the mbuf and polls the counter to see if the driver has released its
reference by calling m_freem().  As a result, the extref destructor is
not called when expected by the netfront driver, and mbufs tags are not
freed.

Modify the tx path to release its mbuf tags promptly when reclaiming tx
descriptors.  They are drawn from a fixed-size pool, so otherwise are
quickly exhausted when a netfront interface is in netmap generic mode.

Co-authored by: royger
MFC after: 2 weeks
Fixes: dabb3db7a817 ("xen/netfront: deal with mbuf data crossing a page boundary")
Sponsored by: Cloud Software Group
Sponsored by: Klara, Inc.
Sponsored by: Zenarmor

(cherry picked from commit 2e4781cb12af2d13262ed5decf6fd95c8d58d9f5)
The file was modifiedsys/dev/xen/netfront/netfront.c (diff)
Commit 04716d51ba5bb3b78f244d4acc6b67d933d2a0f1 by markj
ithread: Improve synchronization in ithread_destroy()

Previously, to destroy an ithread we would set IT_DEAD in its flags, and
then wake it up if it wasn't already running.  After doing this,
intr_event_destroy() would free the intr_event structure.  However, it
did not wait for the ithread to exit, so it was possible for the ithread
to access the intr_event after it was freed.

This use-after-free happens readily when running the pf tests in
parallel, since they frequently create and destroy VNET jails, and pf
registers several VNET-local swi handlers.

Fix the race by modifying ithread_destroy() to wait until the ithread
has signaled that it is about to exit by setting ie->ie_thread = NULL.
Existing callers of intr_event_destroy() are allowed to sleep.

Reported by: KASAN
Reviewed by: kib, jhb
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D45492

(cherry picked from commit 8381e9f49ec733437754a822ef2e8344115289ac)
The file was modifiedsys/kern/kern_intr.c (diff)
Commit 27a1a56b0d2e6ffa6ab1de69ef84fe66b7fd41e0 by kp
pf: fix icmp-in-icmp state lookup

In 534ee17e6 pf state checking for ICMP(v6) was made stricter. This change
failed to correctly set the pf_pdesc for ICMP-in-ICMP lookups, resulting in ICMP
error packets potentially being dropped incorrectly.
Specially, it copied the ICMP header into a separate variable, not into the
pf_pdesc.

Populate the required pf_pdesc fields for the embedded ICMP packet's state lookup.

PR: 280701
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 2da98eef1f352c496ffd458b4c68ddee972bb903)
The file was modifiedsys/netpfil/pf/pf.c (diff)
Commit 3455a02b5aed6f24f425b6a4fad4256fe74b13ed by kp
pf tests: ensure that traceroutes using ICMP work

PR: 280701
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 34063cb714602972b6d985ad747fc8f66a8daae1)
The file was modifiedtests/sys/netpfil/pf/icmp6.sh (diff)
The file was modifiedtests/sys/netpfil/pf/icmp.sh (diff)
Commit 46c4fc50d3012ca3c8756df243589add36b70830 by kp
pf: invert direction for inner icmp state lookups

(e.g. traceroute with icmp)
ok henning, jsing

Also extend the test case to cover this scenario.

PR: 280701
Obtained from: OpenBSD
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 89f6723288b0d27d3f14f93e6e83f672fa2b8aca)
The file was modifiedsys/netpfil/pf/pf.c (diff)
The file was modifiedtests/sys/netpfil/pf/icmp6.sh (diff)
The file was modifiedtests/sys/netpfil/pf/icmp.sh (diff)
Commit 94f92b6e3070c82672fd13601c208eeaa6d515b0 by cperciva
EC2: Bump AMI size to 8 GB

8 GB root disk images make FreeBSD/EC2 boot much faster than 6 GB
root disk images.

MFC after: 2 days
Sponsored by: Amazon

(cherry picked from commit 2dac89aee3304dd6eda9b267a0ad1cc6621a7094)
The file was modifiedrelease/tools/ec2.conf (diff)
Commit 90a5cd466b84b72af539a560d8e3bf7b7e408e30 by des
adduser: Better document ZFS dataset creation.

MFC after: 3 days
PR: 280873
Reviewed by: bcr
Differential Revision: https://reviews.freebsd.org/D46316

(cherry picked from commit 9ff2ebd92891b6953bbe44c6d6a6d8bc31f5139f)
The file was modifiedusr.sbin/adduser/adduser.conf.5 (diff)
Commit dd62980f662cd632bf59c6062f48b5021b307afe by des
pw userdel: destroy home dataset if empty

When removing a user's home directory, if the directory is a ZFS
dataset, it cannot be removed.  If the directory has been emptied,
use "zfs destroy" to destroy it.  This complements the automatic
dataset creation in adduser.  Note that datasets within the directory
and snapshots are not handled, as the complete path is not constructed.

While here, add waitpid() calls to rmat() and pw_user_del().

Reviewed by: des
Differential Revision: https://reviews.freebsd.org/D45348

(cherry picked from commit d2f1f71ec8c62dd26d6169d0d671a5aa5a933c1a)
The file was modifiedusr.sbin/pw/pwupd.h (diff)
The file was modifiedusr.sbin/pw/pw.8 (diff)
The file was modifiedusr.sbin/pw/rm_r.c (diff)
The file was modifiedusr.sbin/pw/pw_user.c (diff)
Commit 8d801641a39834cf8ce72dc88cf8bc5712cc1cad by kib
exit(3): make it thread-safe

(cherry picked from commit 3f3ec4b99f79d32a0bf15495559ca9883bd751f2)
The file was modifiedlib/libc/stdlib/exit.3 (diff)
The file was modifiedlib/libc/stdlib/exit.c (diff)
Commit 2a1e8d7c30c90e17fccaeec89e4963a8d825063d by kib
exit(3): clarify how to obtain full exit status of the exited process

(cherry picked from commit c4269e63ecf301306a6176b9fe9002c4c2265695)
The file was modifiedlib/libc/stdlib/exit.3 (diff)
Commit cf4a34bbc7dfee43e9983a847ecf0fa0ed1d258d by kib
tail -F: fix crash

PR: 280910

(cherry picked from commit 308399a179a49b7b858c725de10177fdb0502fd2)
The file was modifiedusr.bin/tail/forward.c (diff)
Commit 1d0920986f0b0cdb2de0456620a795e2a39780ce by cperciva
Makefile.ec2: Add missing CLEANFILES entry

Without this, "make clean ec2ami" won't build a new AMI.

MFC after: 3 days
Sponsored by: Amazon

(cherry picked from commit e06022e1bfc263e8b1393c7b948707a250f16f83)
The file was modifiedrelease/Makefile.ec2 (diff)
Commit 145f5005aea398e88333a3d86d288bac811920b2 by kp
pf tests: ensure temporary files end up in the atf working directory

Many of the tests create temporary files. pid files, log files, tcpdump
captures, ... We should take care to ensure they're stored in the temporary
working directory Kyua creates rather than in the root directory.

This ensures there are no conflicts between simultaneously running tests, and
also keeps the root directory clean.

MFC after: 1 month
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit b0fcf4d5222bfdbbc0e2af2b14f0d73704706aa0)
The file was modifiedtests/sys/netpfil/pf/ridentifier.sh (diff)
The file was modifiedtests/sys/netpfil/pf/route_to.sh (diff)
The file was modifiedtests/sys/netpfil/pf/altq.sh (diff)
The file was modifiedtests/sys/netpfil/pf/syncookie.sh (diff)
The file was modifiedtests/sys/netpfil/pf/ether.sh (diff)
The file was modifiedtests/sys/netpfil/common/dummynet.sh (diff)
The file was modifiedtests/sys/netpfil/pf/nat.sh (diff)
The file was modifiedtests/sys/netpfil/pf/proxy.sh (diff)
The file was modifiedtests/sys/netpfil/pf/synproxy.sh (diff)
The file was modifiedtests/sys/netpfil/pf/killstate.sh (diff)
The file was modifiedtests/sys/netpfil/pf/map_e.sh (diff)
Commit 09d61b28a00a0645087859ca124c17499c6941e1 by kp
vnet tests: verify that we can load if_epair and if_bridge

We're going to start running many of the vnet tests in nested jails (so they
can run in parallel). That means the tests won't be able to load kernel modules,
which we commonly do for if_epair and if_bridge.

Just assume that all vnet tests need this, because so many of them do that we
don't want to manually annotate all of them.
This is essentially a no-op on non-nested tests.

Do the same for the python test framework.

While here also have pflog_init actually call pft_init. While having pflog
loaded implies we have pf too pft_init also checks for vimage support, and now
for if_epair.

Reviewed by: markj
MFC after: 1 month
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D46039

(cherry picked from commit ae8d58814089308028046ac80aeeb9cbb784bd0a)
The file was modifiedtests/atf_python/sys/net/vnet.py (diff)
The file was modifiedtests/sys/netpfil/pf/utils.subr (diff)
The file was modifiedtests/sys/common/vnet.subr (diff)
Commit 0172ee525bb316842f2e72aafb987aacafb8df16 by hutter2
ZTS: fix io_uring test on RHEL 9 variants (#16411)

Simplify the test, by using the variable "$PLATFORM_ID" in favor
of "$REDHAT_SUPPORT_PRODUCT_VERSION".

Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
The file was modifiedtests/zfs-tests/tests/functional/io/io_uring.ksh (diff)
Commit 1f055436f3a2d64823ca45636d409a8715d871a3 by hutter2
linux/zvol_os: fix SET_ERROR with negative return codes

SET_ERROR is our facility for tracking errors internally. The negation
is to match the what the kernel expects from us. Thus, the negation
should happen outside of the SET_ERROR.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Closes #16364
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
Commit ac6500389b12da35c954e81d6317944338cce9dc by hutter2
zfs: add bounds checking to zil_parse (#16308)

Make sure log record don't stray beyond valid memory region.

There is a lack of verification of the space occupied by fixed members
of lr_t in the zil_parse.

We can create a crafted image to trigger an out of bounds read by
following these steps:
    1) Do some file operations and reboot to simulate abnormal exit
       without umount
    2) zil_chain.zc_nused: 0x1000
    3) First lr_t
       lr_t.lrc_txtype: 0x0
       lr_t.lrc_reclen: 0x1000-0xb8-0x1
       lr_t.lrc_txg: 0x0
       lr_t.lrc_seq: 0x1
    4) Update checksum in zil_chain.zc_eck

Fix:
Add some checks to make sure the remaining bytes are large enough to
hold an log record.

Signed-off-by: XDTG <click1799@163.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
The file was modifiedmodule/zfs/zil.c (diff)
Commit 3a36797ad65f55701d34f576c85f0e883b63c0e7 by hutter2
FreeBSD: Fix RLIMIT_FSIZE handling for block cloning

ZFS implements copy_file_range(2) using block cloning when possible.
This implementation must respect the RLIMIT_FSIZE limit.

zfs_clone_range() already checks the limit, so it is safe to remove this
check in zfs_freebsd_copy_file_range().  Moreover, the removed check
produces false positives: the length passed to copy_file_range(2) may be
larger than the input file size; as the man page notes, "for best
performance, call copy_file_range() with the largest len value
possible."  In particular, some existing code passes SSIZE_MAX there.

The check in zfs_clone_range() clamps the length to the input file's
size before checking, but the removed check uses the caller supplied
length, so something like

$ echo a > /tmp/foo
$ limits -f 1024 cat /tmp/foo > /tmp/bar

fails because FreeBSD's cat(1) uses copy_file_range(2) in the manner
described above.

Reported-by: Philip Paeps <philip@FreeBSD.org>
Signed-off-by: Mark Johnston <markj@FreeBSD.org>

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Allan Jude <allan@klarasystems.com>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedmodule/os/freebsd/zfs/zfs_vnops_os.c (diff)
Commit 6961d4fb573e030b60efa983d7f3a52f88cd3875 by hutter2
ZTS: Add a test to verify that copy_file_range obeys RLIMIT_FSIZE

Signed-off-by: Mark Johnston <markj@FreeBSD.org>

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Allan Jude <allan@klarasystems.com>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
The file was addedtests/zfs-tests/tests/functional/block_cloning/block_cloning_rlimit_fsize.ksh
The file was modifiedtests/test-runner/bin/zts-report.py.in (diff)
The file was modifiedtests/runfiles/common.run (diff)
The file was modifiedtests/zfs-tests/tests/Makefile.am (diff)
Commit 4fa84563b84b73eaa4d5ad126476b5142448f9b1 by hutter2
Linux 6.11: enable queue flush through queue limits

In 6.11 struct queue_limits gains a 'features' field, where, among other
things, flush and write-cache are enabled. Detect it and use it.

Along the way, the blk_queue_set_write_cache() compat wrapper gets a
little cleanup. Since both flags are alway set together, its now a
single bool. Also the very very ancient version that sets q->flush_flags
directly couldn't actually turn it off, so I've fixed that. Not that we
use it, but still.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16400
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
The file was modifiedinclude/os/linux/kernel/linux/blkdev_compat.h (diff)
The file was modifiedconfig/kernel-make-request-fn.m4 (diff)
Commit 92a8af0f8b74a9a091ad578b28d59a99641374c1 by hutter2
Linux 6.11: get backing_dev_info through queue gendisk

It's no longer available directly on the request queue, but its easy to
get from the attached disk.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16400
The file was modifiedinclude/os/linux/kernel/linux/blkdev_compat.h (diff)
The file was modifiedconfig/kernel-blk-queue.m4 (diff)
Commit 464747ffd3d5517b0871bdfdd817dbc39551d397 by hutter2
Linux 6.11: first arg to proc_handler is now const

Detect it, and use a macro to make sure we always match the prototype.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16400
The file was modifiedconfig/kernel.m4 (diff)
The file was modifiedmodule/os/linux/spl/spl-proc.c (diff)
The file was modifiedconfig/kernel-register_sysctl_table.m4 (diff)
Commit 11de432c8b40c15b94a9e216330b1d014e4996cc by hutter2
Linux 6.11: IO stats is now a queue feature flag

Apply them with with the rest of the settings.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16400
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
Commit 11ad6124c308adcc1740d0de11855e418a49635f by hutter2
Linux 6.11: add more queue_limit fields with removed setters

These fields are very old, so no detection necessary; we just move them
into the limit setup functions.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16400
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
Commit 8156099cf24fb12d113235a2311b6c9257c587c3 by hutter2
Linux 6.11: add compat macro for page_mapping()

Since the change to folios it has just been a wrapper anyway. Linux has
removed their wrapper, so we add one.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16400
The file was modifiedconfig/kernel.m4 (diff)
The file was modifiedmodule/os/linux/zfs/zfs_vnops_os.c (diff)
The file was addedconfig/kernel-mm-pagemap.m4
The file was modifiedinclude/os/linux/kernel/linux/mm_compat.h (diff)
The file was removedconfig/kernel-mm-page-size.m4
Commit 8479a45abed6e08a84e05008dbd8ecce8f3da5b0 by hutter2
Linux 6.11: avoid passing "end" sentinel to register_sysctl()

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16400
The file was modifiedconfig/kernel.m4 (diff)
The file was modifiedconfig/kernel-register_sysctl_table.m4 (diff)
The file was modifiedmodule/os/linux/spl/spl-proc.c (diff)
Commit ce22dc2589e120ef24facae429c682d814c1b840 by hutter2
ZTS: Use /dev/urandom instead of /dev/random

Use /dev/urandom so we never have to wait on entropy.

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #16442
The file was modifiedtests/zfs-tests/tests/functional/alloc_class/alloc_class.kshlib (diff)
The file was modifiedtests/zfs-tests/tests/functional/fault/suspend_resume_single.ksh (diff)
The file was modifiedtests/zfs-tests/tests/functional/block_cloning/block_cloning_rlimit_fsize.ksh (diff)
Commit 9d64d1bfad3025fd9fa5f94408e04cead6fc1b63 by hutter2
Linux 6.10 compat: fix rpm-kmod and builtin

The 6.10 kernel broke our rpm-kmod builds.  The 6.10 kernel really
wants the source files in the same directory as the object files.
This workaround makes rpm-kmod work again.  It also updates
the builtin kernel codepath to work correctly with 6.10.

See kernel commits:

b1992c3772e6 kbuild: use $(src) instead of $(srctree)/$(src) for source
                     directory
9a0ebe5011f4 kbuild: use $(obj)/ instead of $(src)/ for common pattern
                     rules

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #16439
Closes #16450
The file was modifiedrpm/generic/zfs-kmod.spec.in (diff)
The file was modifiedmodule/Kbuild.in (diff)
Commit 84a98615363ce1265133efe0ec9d18bbaa6cc634 by hutter2
Linux 6.10 compat: Fix zvol NULL pointer deference

zvol_alloc_non_blk_mq()->blk_queue_set_write_cache() needs the disk
queue setup to prevent a NULL pointer deference.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #16453
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
Commit 859f906a4b4dfc132115f10f5d372ef4281a6479 by hutter2
Fix null ptr deref when renaming a zvol with snaps and snapdev=visible (#16316)

If a zvol is renamed, and it has one or more snapshots, and
snapdev=visible is true for the zvol, then the rename causes a kernel
null pointer dereference error. This has the effect (on Linux, anyway)
of killing the z_zvol taskq kthread, with locks still held; which in
turn causes a variety of zvol-related operations afterward to hang
indefinitely (such as udev workers, among other things).

The problem occurs because of an oversight in #15486
(e36ff84c338d2f7b15aef2538f6a9507115bbf4a). As documented in
dataset_kstats_create, some datasets may not actually have kstats
allocated for them; and at least at the present time, this is true for
snapshots. In practical terms, this means that for snapshots,
dk->dk_kstats will be NULL. The dataset_kstats_rename function
introduced in the patch above does not first check whether dk->dk_kstats
is NULL before proceeding, unlike e.g. the nearby
dataset_kstats_update_* functions.

In the very particular circumstance in which a zvol is renamed, AND that
zvol has one or more snapshots, AND that zvol also has snapdev=visible,
zvol_rename_minors_impl will loop over not just the zvol dataset itself,
but each of the zvol's snapshots as well, so that their device nodes
will be renamed as well. This results in dataset_kstats_create being
called for snapshots, where, as we've established, dk->dk_kstats is
NULL.

Fix this by simply adding a NULL check before doing anything in
dataset_kstats_rename.

This still allows the dataset_name kstat value for the zvol to be
updated (as was the intent of the original patch), and merely blocks
attempts by the code to act upon the zvol's non-kstat-having snapshots.
If at some future time, kstats are added for snapshots, then things
should work as intended in that case as well.

Signed-off-by: Justin Gottula <justin@jgottula.com>
Reviewed-by: Rob Norris <robn@despairlabs.com>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Alan Somers <asomers@gmail.com>
Reviewed-by: Allan Jude <allan@klarasystems.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedmodule/zfs/dataset_kstats.c (diff)
Commit 0f9457d1dd7a56ceccda962433281ef946132b5f by hutter2
linux/zvol_os.c: Fix max_discard_sectors limit for 6.8+ kernel

In kernels 6.8 and later, the zvol block device is allocated with
qlimits passed during initialization. However, the zvol driver does not
set `max_hw_discard_sectors`, which is necessary to properly
initialize `max_discard_sectors`. This causes the `zvol_misc_trim` test
to fail on 6.8+ kernels when invoking the `blkdiscard` command. Setting
`max_hw_discard_sectors` in the `HAVE_BLK_ALLOC_DISK_2ARG` case resolve
the issue.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Rob Norris <robn@despairlabs.com>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #16462
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
Commit 07f04657429ab66a30d60801d5cedf91acb6fe6f by hutter2
linux/zvol_os.c: cleanup limits for non-blk mq case

Rob Noris suggested that we could clean up redundant limits for the case
of non-blk mq scenario.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Rob Norris <robn@despairlabs.com>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #16462
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
Commit 86492e3c96550209faccb2ba0ab496725c326dba by hutter2
Linux 6.10 compat: META

Update the META file to reflect compatibility with the 6.10 kernel.

Reviewed-by: Rob Norris <robn@despairlabs.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #16466
The file was modifiedMETA (diff)
Commit 7f6d0ce8e6cf04cb9a7dfd2234ef2d5c71a9c40f by cy
unbound: Remove backup file

Upstream unbound includes a backup configure file which is distributed
in the upstream tarball. It must be created by their release process and
not deleted prior to packaging the tarball. I've received two emails so
far asking about it. Let's remove it so nobody else asks about it.

(cherry picked from commit 51c8a9c1be57b6750e7c64e1379e8c33bd0f02c1)
The file was removedcontrib/unbound/configure~
Commit 78c66b88cc919d7ccb84b1fc3a66768fb32d1812 by cy
unbound: Vendor import 1.21.0

Release notes at
https://nlnetlabs.nl/news/2024/Aug/15/unbound-1.21.0-released/

Merge commit '96ef46e5cff01648c80c09c4364d10bc6f58119d'

(cherry picked from commit 5685098846d7f11ad642d9804d94dc7429a7b212)
The file was addedcontrib/unbound/testdata/cachedb_val_expired.crpl
The file was modifiedcontrib/unbound/sldns/wire2str.c (diff)
The file was modifiedcontrib/unbound/util/data/msgparse.c (diff)
The file was modifiedcontrib/unbound/iterator/iterator.h (diff)
The file was modifiedcontrib/unbound/dnstap/dtstream.c (diff)
The file was modifiedcontrib/unbound/services/localzone.c (diff)
The file was modifiedcontrib/unbound/daemon/remote.c (diff)
The file was modifiedcontrib/unbound/iterator/iter_scrub.c (diff)
The file was modifiedcontrib/unbound/edns-subnet/subnetmod.c (diff)
The file was modifiedcontrib/unbound/doc/unbound.8.in (diff)
The file was modifiedcontrib/unbound/respip/respip.c (diff)
The file was modifiedcontrib/unbound/util/netevent.h (diff)
The file was modifiedcontrib/unbound/libunbound/libworker.c (diff)
The file was modifiedcontrib/unbound/util/proxy_protocol.c (diff)
The file was modifiedcontrib/unbound/services/authzone.c (diff)
The file was modifiedcontrib/unbound/config.guess (diff)
The file was modifiedcontrib/unbound/doc/Changelog (diff)
The file was modifiedcontrib/unbound/sldns/parseutil.c (diff)
The file was addedcontrib/unbound/testdata/val_failure_dnskey.rpl
The file was modifiedcontrib/unbound/cachedb/cachedb.c (diff)
The file was modifiedcontrib/unbound/doc/example.conf.in (diff)
The file was modifiedcontrib/unbound/validator/val_utils.h (diff)
The file was modifiedcontrib/unbound/util/data/dname.h (diff)
The file was modifiedcontrib/unbound/util/net_help.h (diff)
The file was modifiedcontrib/unbound/smallapp/unbound-anchor.c (diff)
The file was modifiedcontrib/unbound/validator/val_sigcrypt.h (diff)
The file was modifiedcontrib/unbound/services/cache/infra.c (diff)
The file was modifiedcontrib/unbound/daemon/daemon.h (diff)
The file was modifiedcontrib/unbound/services/cache/dns.c (diff)
The file was modifiedcontrib/unbound/util/configparser.c (diff)
The file was modifiedcontrib/unbound/validator/val_utils.c (diff)
The file was modifiedcontrib/unbound/dnstap/dnstap.m4 (diff)
The file was modifiedcontrib/unbound/services/localzone.h (diff)
The file was modifiedcontrib/unbound/daemon/unbound.c (diff)
The file was addedcontrib/unbound/testdata/cookie_file.tdir/cookie_file.conf
The file was modifiedcontrib/unbound/doc/unbound-checkconf.8.in (diff)
The file was modifiedcontrib/unbound/doc/unbound.conf.5.in (diff)
The file was modifiedcontrib/unbound/daemon/stats.c (diff)
The file was modifiedcontrib/unbound/iterator/iterator.c (diff)
The file was modifiedcontrib/unbound/util/fptr_wlist.c (diff)
The file was modifiedcontrib/unbound/util/net_help.c (diff)
The file was addedcontrib/unbound/testdata/acl_interface.tdir/rpz-one.zone
The file was modifiedcontrib/unbound/validator/validator.c (diff)
The file was modifiedcontrib/unbound/contrib/unbound.service.in (diff)
The file was modifiedcontrib/unbound/util/netevent.c (diff)
The file was modifiedcontrib/unbound/util/configlexer.c (diff)
The file was modifiedcontrib/unbound/sldns/parse.h (diff)
The file was modifiedcontrib/unbound/configure.ac (diff)
The file was modifiedcontrib/unbound/daemon/worker.c (diff)
The file was modifiedcontrib/unbound/config.h.in (diff)
The file was addedcontrib/unbound/testdata/val_dname_twice.rpl
The file was modifiedcontrib/unbound/doc/unbound-host.1.in (diff)
The file was modifiedcontrib/unbound/util/config_file.c (diff)
The file was modifiedcontrib/unbound/util/configlexer.lex (diff)
The file was modifiedcontrib/unbound/smallapp/unbound-control-setup.sh.in (diff)
The file was modifiedcontrib/unbound/validator/val_nsec3.c (diff)
The file was modifiedcontrib/unbound/util/configparser.h (diff)
The file was modifiedcontrib/unbound/ipsecmod/ipsecmod.c (diff)
The file was modifiedcontrib/unbound/smallapp/unbound-control.c (diff)
The file was modifiedcontrib/unbound/validator/val_nsec.c (diff)
The file was modifiedcontrib/unbound/sldns/rrdef.h (diff)
The file was modifiedcontrib/unbound/util/edns.h (diff)
The file was addedcontrib/unbound/testdata/09-unbound-control.tdir/view_local_data_remove
The file was modifiedcontrib/unbound/util/configparser.y (diff)
The file was modifiedcontrib/unbound/validator/val_nsec3.h (diff)
The file was modifiedcontrib/unbound/iterator/iter_utils.c (diff)
The file was modifiedcontrib/unbound/cachedb/cachedb.h (diff)
The file was modifiedlib/libunbound/config.h (diff)
The file was modifiedcontrib/unbound/systemd.m4 (diff)
The file was modifiedcontrib/unbound/doc/README (diff)
The file was modifiedcontrib/unbound/doc/unbound-control.8.in (diff)
The file was modifiedcontrib/unbound/acx_python.m4 (diff)
The file was modifiedcontrib/unbound/libunbound/libunbound.c (diff)
The file was modifiedcontrib/unbound/smallapp/unbound-checkconf.c (diff)
The file was modifiedcontrib/unbound/validator/val_sigcrypt.c (diff)
The file was modifiedcontrib/unbound/util/fptr_wlist.h (diff)
The file was addedcontrib/unbound/testdata/acl_interface.tdir/rpz-nx.zone
The file was modifiedcontrib/unbound/util/module.h (diff)
The file was modifiedcontrib/unbound/util/storage/lookup3.c (diff)
The file was addedcontrib/unbound/testdata/09-unbound-control.tdir/view_local_data
The file was modifiedcontrib/unbound/validator/val_nsec.h (diff)
The file was modifiedcontrib/unbound/dnstap/unbound-dnstap-socket.c (diff)
The file was modifiedcontrib/unbound/daemon/daemon.c (diff)
The file was modifiedcontrib/unbound/services/outside_network.c (diff)
The file was addedcontrib/unbound/testdata/acl_interface.tdir/rpz-two.zone
The file was addedcontrib/unbound/testdata/cookie_file.tdir/cookie_file.pre
The file was modifiedcontrib/unbound/ipset/ipset.h (diff)
The file was modifiedcontrib/unbound/services/listen_dnsport.c (diff)
The file was modifiedcontrib/unbound/validator/autotrust.c (diff)
The file was modifiedcontrib/unbound/config.sub (diff)
The file was modifiedcontrib/unbound/dns64/dns64.c (diff)
The file was modifiedcontrib/unbound/util/data/msgparse.h (diff)
The file was modifiedcontrib/unbound/configure (diff)
The file was modifiedcontrib/unbound/services/modstack.h (diff)
The file was addedcontrib/unbound/testdata/fwd_name_lookup.rpl
The file was modifiedcontrib/unbound/util/config_file.h (diff)
The file was modifiedcontrib/unbound/contrib/unbound_portable.service.in (diff)
The file was modifiedcontrib/unbound/Makefile.in (diff)
The file was modifiedcontrib/unbound/services/cache/infra.h (diff)
The file was modifiedcontrib/unbound/dnstap/dnstap.h (diff)
The file was modifiedcontrib/unbound/doc/unbound-anchor.8.in (diff)
The file was addedcontrib/unbound/testdata/rpz_cname_tag.rpl
The file was modifiedcontrib/unbound/libunbound/context.c (diff)
The file was addedcontrib/unbound/testdata/cookie_file.tdir/cookie_file.dsc
The file was addedcontrib/unbound/testdata/cookie_file.tdir/cookie_file.test
The file was modifiedcontrib/unbound/util/siphash.c (diff)
The file was modifiedcontrib/unbound/doc/libunbound.3.in (diff)
The file was modifiedcontrib/unbound/dynlibmod/dynlibmod.c (diff)
The file was modifiedcontrib/unbound/services/mesh.c (diff)
The file was modifiedcontrib/unbound/util/alloc.c (diff)
The file was modifiedcontrib/unbound/validator/val_secalgo.c (diff)
The file was modifiedcontrib/unbound/ipset/ipset.c (diff)
The file was modifiedcontrib/unbound/services/modstack.c (diff)
The file was modifiedcontrib/unbound/services/rpz.c (diff)
The file was modifiedcontrib/unbound/dnstap/dnstap.c (diff)
The file was modifiedcontrib/unbound/util/edns.c (diff)
Commit 2545829e1c2c6a46b50f00ca47d61de9b5674007 by maxim
pam_xdg.8: the module option name corrected

PR: 280994
(cherry picked from commit 6aee1dc48006445b6e062db86c5c3697b04b98f6)
The file was modifiedlib/libpam/modules/pam_xdg/pam_xdg.8 (diff)
Commit 2441180265509a7efe8c20ee72585757e7bb9d1c by eugen
libalias: fix subtle racy problem in outside-inside forwarding

sys/netinet/libalias/alias_db.c has internal static function UseLink()
that passes a link to CleanupLink() to verify if the link has expired.
If so, UseLink() may return NULL.

_FindLinkIn()'s usage of UseLink() is not quite correct.

Assume there is "redirect_port udp" configured to forward incoming
traffic for specific port to some internal address.
Such a rule creates partially specified permanent link.

After first such incoming packet libalias creates new fully specifiled
temporary LINK_UDP with default timeout of 60 seconds.
Also, in case of low traffic libalias may assign "timestamp"
for this new temporary link way in the past because
LibAliasTime is updated seldom and can keep old value
for tens of seconds, and it will be used for the temporary link.

It may happen that next incoming packet for redirected port
passed to _FindLinkIn() results in a call to UseLink()
that returns NULL due to detected expiration.
Immediate return of NULL results in broken translation:
either a packet is dropped (deny_incoming mode) or delivered to
original destination address instead of internal one.

Fix it with additional check for NULL to proceed with a search
for original partially specified link. In case of UDP,
it also recreates temporary fully specified link
with a call to ReLink().

Practical examples are "redirect_port udp" rules for unidirectional
SYSLOG protocol (port 514) or some low volume VPN encapsulated in UDP.

Thanks to Peter Much for initial analysis and first version of a patch.

Reported by: Peter Much <pmc@citylink.dinoex.sub.org>
PR: 269770

(cherry picked from commit 8132e959099f0c533f698d8fbc17386f9144432f)
(cherry picked from commit e5b85380836378c9e321a4e6d300591e6faf622a)
The file was modifiedsys/netinet/libalias/alias_db.c (diff)
Commit c7d5163a1335a1ff41bee28a6d49c87cdbd36411 by delphij
amdsmn(4), amdtemp(4): add support for AMD Ryzen 7 "Phoenix" processors

Adds support for AMD Ryzen 7 "Phoenix" processors (family 0x19,
model 0x70-0x7f) to the amdsmn(4) and amdtemp(4) drivers. This
enables temperature readings of these CPUs via sysctl.

The sensors function identically to those for the "Raphael" processors
(model 0x60-0x6f); only the PCI device ID differs.

PR: kern/280942
Relnotes: yes
MFC after: 3 days

(cherry picked from commit ef3f8aa0a0492487ac7db839de078b1913f61b4c)
The file was modifiedsys/dev/amdsmn/amdsmn.c (diff)
The file was modifiedsys/dev/amdtemp/amdtemp.c (diff)
Commit 226c733737383478f3c1d3f8c119207136c05de0 by emaste
linux.4: clarify path translation

Try to be a little more explicit about the path translation mechanism
accessing /compat/linux/<path> then falling back to /<path>.

As suggested by martin@lispworks.com, refer to the compat path
explicitly, and correct an existing grammaro.

PR: 277804
Reviewed by: fernape
Sponsored by: The FreeBSD Foundation

(cherry picked from commit f66e71fa78e16164339f7fd4791306fb30165581)
(cherry picked from commit d1daec3d358eb5aaa38fa7c95fbfa330c46a69a1)
The file was modifiedshare/man/man4/linux.4 (diff)
Commit 131b7dcb2fbf8f15815387f60536d9cc16585b0d by emaste
ctl: avoid heap info leak in ctl_request_sense

Previously 3 bytes of data from the heap could be leaked to ctl
consumers.

Reported by: Synacktiv
Reviewed by: asomers, mav
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46091

(cherry picked from commit db87c98168b1605f067d283fa36a710369c3849d)
The file was modifiedsys/cam/ctl/ctl.c (diff)
Commit 6ab8b418dc101aaac692c874bbe8d83c071f83de by christos
sound tests: Add SNDSTIOC_ADD_USER_DEVS test

Test whether the SNDSTIOC_ADD_USER_DEVS IOCTL (registers a userland
device to /dev/sndstat) works properly.

Sponsored by: The FreeBSD Foundation
MFC after: 2 days
Reviewed by: dev_submerge.ch
Differential Revision: https://reviews.freebsd.org/D46228

(cherry picked from commit 2668e76d6e764c5c361156ffa3d39eb02ce8e5d9)
The file was modifiedtests/sys/sound/sndstat.c (diff)
Commit cf9d2fb184338b73c362b98bb8fadd2de9d94634 by christos
mixer(8): Implement hot-swapping

Introduce a -V option, which can be used alongside -d (default unit
change), in order to hot-swap devices (i.e switch to them on the fly
without needing to restart the track), in case virtual_oss(8) exists and
is running.

Sponsored by: The FreeBSD Foundation
MFC after: 2 days
Reviewed by: dev_submerge.ch
Differential Revision: https://reviews.freebsd.org/D46253

(cherry picked from commit 9aac27599acaffa21ff69c5be8a2d71d29cc3d6b)
The file was modifiedusr.sbin/mixer/mixer.c (diff)
The file was modifiedusr.sbin/mixer/mixer.8 (diff)
Commit 276d76adf984909876dc72970244ea43049217ce by christos
sound examples: Simplify MIDI example

Sponsored by: The FreeBSD Foundation
MFC after: 2 days
Reviewed by: dev_submerge.ch, emaste
Differential Revision: https://reviews.freebsd.org/D46306

(cherry picked from commit 0ca4d5d8209cf4d2d0bb37d7f20d95ac3457026d)
The file was modifiedshare/examples/Makefile (diff)
The file was removedshare/examples/sound/oss/ossmidi.h
The file was modifiedshare/examples/sound/oss/midi.c (diff)
Commit a59e4c40557203112438d4f6fbfac69346e4d0f4 by christos
sound examples: Simplify audio example

- Merge ossinit.h and basic.c.
- Rename basic.c to audio.c.
- Use err(3) instead of fprintf(3) + exit(3).
- Some style(9) improvements.

Sponsored by: The FreeBSD Foundation
MFC after: 2 days
Reviewed by: dev_submerge.ch
Differential Revision: https://reviews.freebsd.org/D46307

(cherry picked from commit 3decd659a7887e83c2c8af35053301dc7d6f7be2)
The file was modifiedshare/examples/Makefile (diff)
The file was removedshare/examples/sound/oss/basic.c
The file was addedshare/examples/sound/oss/audio.c
Commit f060ed39805ddbe8c2977834967a452ebb2bc858 by christos
sound examples: Move MIDI example out of OSS directory

This example is not related to OSS.

Sponsored by: The FreeBSD Foundation
MFC after: 2 days
Reviewed by: dev_submerge.ch, meka_tilda.center
Differential Revision: https://reviews.freebsd.org/D46308

(cherry picked from commit 6747b1a8218f229c7593cdb02e4b41e2b1186e26)
The file was addedshare/examples/sound/midi.c
The file was removedshare/examples/sound/oss/midi.c
The file was modifiedshare/examples/Makefile (diff)
Commit 8156d8598f5926a8fa996b65b742a295599b131c by christos
sound: Improve sndstat nvlist feederchain format

- Use snd_afmt2str() to display format conversions in feeder_format,
  instead of the plain hex value.
- Simplify feeder_rate contents.
- Print "ch" (e.g 2.1ch) after matrix values in feeder_matrix.
- Use snd_afmt2str() instead of a plain hex for the the rest of the
  feeder classes.

Sponsored by: The FreeBSD Foundation
MFC after: 2 days
Reviewed by: dev_submerge.ch
Differential Revision: https://reviews.freebsd.org/D46309

(cherry picked from commit 0864dfe6299b75e424b845c0d0e1a593da905ae3)
The file was modifiedsys/dev/sound/pcm/sndstat.c (diff)
Commit f63d0c39d9d748bbb2cecaf4c7799059b2dd5939 by christos
ObsoleteFiles.inc: Update after sound changes

Sponsored by: The FreeBSD Foundation

(cherry picked from commit c3516c6533a17dbd980b5a2a8f566ada99c4b72d)
The file was modifiedObsoleteFiles.inc (diff)
Commit 91b1e2a4a84ba90c40eed9378a5be4cfbd623037 by christos
sound examples: Delete stale ossinit.h file

Fixes: 3decd659a788("sound examples: Simplify audio example")
Sponsored by: The FreeBSD Foundation
MFC after: 2 days

(cherry picked from commit 7ae4868a9a1ad255e03529f5872c78f14f215f25)
The file was removedshare/examples/sound/oss/ossinit.h
Commit 31ad232d85656af77726626decce6c2b7fd824f6 by imp
Revert "mcast: fix memory leak in imf_purge()"

This reverts commit fa03d37432caf17d56a931a9e6f5d9b06f102c5b.

This commit caused us to not send IGMP leave messages if the inpcb went
away. In other words: we freed pending packets whenever the socket
closed rather than when the interface (or address) goes away.

Reviewed by: glebius
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D43032

(cherry picked from commit c196e43243b83840cc9f3d1dadc7dacb3b0f556f)
The file was modifiedsys/netinet/in_mcast.c (diff)
Commit 88e1bc06692ae4552462945c53b5047e8dad5929 by imp
mcast: fix leaked igmp packets on multicast cleanup

When we release a multicast address (e.g. on interface shutdown) we may
still have packets queued in inm_scq. We have to free those, or we'll
leak memory.

Reviewed by: glebius
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D43033

(cherry picked from commit c2e340452c147b551180f2a1600ae76491342b0e)
The file was modifiedsys/netinet/in_mcast.c (diff)
Commit 215c3766945abf085c580b73bb409fd4afe5ff09 by jhb
nvme: Use the NVMEV macro instead of expanded versions

Reviewed by: chuck
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43595

(cherry picked from commit 479680f235dd89cdabe0503312b3d23f322f4000)
The file was modifiedsys/dev/nvme/nvme_ns.c (diff)
The file was modifiedsys/dev/nvme/nvme.h (diff)
The file was modifiedsys/dev/nvme/nvme_ctrlr.c (diff)
The file was modifiedsys/dev/nvme/nvme_qpair.c (diff)
Commit e8edea1b4cc5aae7897439821a611257a32a879c by jhb
nda: Use the NVMEV macro instead of expanded versions

Reviewed by: chuck
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43596

(cherry picked from commit 2cb78e71503ec9a73054a6f70908c5f20c2ceb73)
The file was modifiedsys/cam/nvme/nvme_da.c (diff)
Commit 112d3053486c949fff6bc02394c88b2b04018961 by jhb
nvmecontrol: Use the NVMEV macro instead of expanded versions

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43597

(cherry picked from commit fba73a408314d8e32056d4a812c9a2eb5f618b5d)
The file was modifiedsbin/nvmecontrol/selftest.c (diff)
The file was modifiedsbin/nvmecontrol/sanitize.c (diff)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
The file was modifiedsbin/nvmecontrol/power.c (diff)
The file was modifiedsbin/nvmecontrol/firmware.c (diff)
The file was modifiedsbin/nvmecontrol/format.c (diff)
The file was modifiedsbin/nvmecontrol/identify_ext.c (diff)
The file was modifiedsbin/nvmecontrol/identify.c (diff)
The file was modifiedsbin/nvmecontrol/devlist.c (diff)
The file was modifiedsbin/nvmecontrol/ns.c (diff)
Commit 8ed711ddcd0277f4b0101e7bb641130ee8d1dfab by jhb
bhyve: Use the NVMEV macro instead of expanded versions

Reviewed by: corvink, chuck (older version)
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43598

(cherry picked from commit 94962f5a72ae7a5190f38cbe54a0ad4426329a06)
The file was modifiedusr.sbin/bhyve/pci_nvme.c (diff)
Commit 4846d72432a89614d7ceb3522cf7b5ac0185c775 by jhb
camdd: Use the NVMEV macro instead of expanded versions

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43599

(cherry picked from commit c9d9315b74017b0637bcbcc2e7a5c01d7bc58bf1)
The file was modifiedusr.sbin/camdd/camdd.c (diff)
Commit a918e5e9f88c82a2e47e4675ff92bf7735e98f77 by jhb
bhyve: Use NVMEV to read the ASQS field of AQA

This is not a functional change, but just being consistent instead of
omitting a shift by 0.

Reviewed by: corvink, chuck, imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43600

(cherry picked from commit c42692360611c8afce6ee7bb937a858d64a133f4)
The file was modifiedusr.sbin/bhyve/pci_nvme.c (diff)
Commit 80a92f1b91ed90a5245651507b1af8c4fb616136 by jhb
nvme: Rename NVMEB helper macro to NVMEM

The current macro always builds a full mask for a named field, so use
the M suffix for mask.

Reviewed by: chuck, imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43601

(cherry picked from commit 1dade1f255ee535ad357211395b46188bece52dc)
The file was modifiedusr.sbin/bhyve/pci_nvme.c (diff)
The file was modifiedsys/dev/nvme/nvme.h (diff)
Commit 2208f2c15688e6b517680535053bfba39b67c0a4 by jhb
nvme: Use the NVMEM macro instead of expanded versions

A few of these omitted a shift of 0, but this is more consistent.

Reviewed by: chuck
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43602

(cherry picked from commit 8488fc417fc24af37fa6f1e880f09a5023670950)
The file was modifiedsys/dev/nvme/nvme_ns.c (diff)
The file was modifiedsys/dev/nvme/nvme_ctrlr.c (diff)
Commit 8029ffc9c0b895b783da8ba366ffdcc9e4862e64 by jhb
bhyve: Use the NVMEM macro instead of expanded versions

Reviewed by: corvink, chuck
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43603

(cherry picked from commit c85b3903d1b1cf93f1fba10cd1cffed31ce84418)
The file was modifiedusr.sbin/bhyve/pci_nvme.c (diff)
Commit 7566b99458a31ad9ac2ef289c401fa008fd01386 by jhb
nvme: Add NVMEF helper macro as the inverse of NVMEV

This macro accepts a field name and a value for the field and
constructs the shifted field value.

Reviewed by: chuck
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43604

(cherry picked from commit 3a477a9b70a34dc0686630599c27f022b1e07bd8)
The file was modifiedsys/dev/nvme/nvme.h (diff)
Commit 4d2e2e1b440e339d679f2fa9e146767d98f8aea8 by jhb
nvme: Use the NVMEF macro to construct fields

Reviewed by: chuck, imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43605

(cherry picked from commit 5650bd3fe8eff1043ef3df33b5bdd7b24b5f2bc0)
The file was modifiedsys/dev/nvme/nvme_qpair.c (diff)
The file was modifiedsys/dev/nvme/nvme_ns.c (diff)
The file was modifiedsys/dev/nvme/nvme_ctrlr.c (diff)
Commit 5438d20606769c8db690f1a2d92becb7a6b05426 by jhb
nvmecontrol: Use NVMEF macro to construct fields

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43606

(cherry picked from commit c68ec278deb23fd90eb5506c9a6a4f7339784ff3)
The file was modifiedsbin/nvmecontrol/ns.c (diff)
Commit f314e46271f1100c258a72aa8c0e072f0f3ef2e6 by jhb
bhyve: Use NVMEF macro to construct fields

Reviewed by: corvink, chuck (older version)
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D43607

(cherry picked from commit c46860dbcb2037933575a260028325418b3e9789)
The file was modifiedusr.sbin/bhyve/pci_nvme.c (diff)
Commit aaa01ea24d645e096199b4bc4064acf21324631d by jhb
nvmecontrol(8): Fix typo in ns.c

`Insufficient` was spelled wrongly on line 537.

Event: Advanced UNIX Programming Course (Fall’23) at NTHU.
Pull Request: https://github.com/freebsd/freebsd-src/pull/997

(cherry picked from commit 69f9c5a51346b1ada4854cb4131e8a63b7dd8b46)
The file was modifiedsbin/nvmecontrol/ns.c (diff)
Commit 94feb210599a358462ad48ccc792ec4d78e03ee3 by jhb
nvme: Export constants for min and max queue sizes

These are useful for NVMe over Fabrics.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44441

(cherry picked from commit 1931b75e004f25cf1d2db809bfd9baba40c04521)
The file was modifiedsys/dev/nvme/nvme.h (diff)
The file was modifiedsys/dev/nvme/nvme_private.h (diff)
Commit 1e066e46040354f244561894911e0938c9ef4df7 by jhb
nvme: Add SGL structure and constants for use in NVMe commands

Fabrics capsules use an SGL structure instead of prp1/2 addresses to
describe the data buffer used for a command.  The SGL structure is
added to a union with the existing prp1/2 fields.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44442

(cherry picked from commit f21a54d19080510bce279183f4bf07d5315bd179)
The file was modifiedsys/dev/nvme/nvme.h (diff)
Commit da548abbc35c86d4f504c5392ce79ec1c67bd432 by jhb
nvme: Add constants for the PSDT field in cdw0

This is not used in nvme(4) but is used in NVMe over Fabrics
transports which use SGLs to describe buffers instead of PRPs.

While here, adjust the shift value for the FUSE field to be relative
to the 'fuse' member of 'struct nvme_command'.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44443

(cherry picked from commit b8cb8dd3625d7396ea98152d89e1e64b16e77bc6)
The file was modifiedsys/dev/nvme/nvme.h (diff)
Commit ae2a9307b5ea306cb4316f35c9c4d1d9105b56f8 by jhb
nvme: Add constants for the extended data for Get Log Page command flag

nvme(4) doesn't check this flag, but Fabrics implementations may need
to set this flag in the log page attributes cdata field.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44444

(cherry picked from commit cbda1886ab1cd3ec2847b7da5136d3bb68d56101)
The file was modifiedsys/dev/nvme/nvme.h (diff)
Commit 41f61bf230243361b8375ce19d45eb01f139014d by jhb
nvme: Add constants for fields in AER completion dword 0

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44445

(cherry picked from commit b354bb04cb51f373e997cb8911c32dc93243c1d7)
The file was modifiedsys/dev/nvme/nvme.h (diff)
The file was modifiedsys/dev/nvme/nvme_ctrlr.c (diff)
Commit 759864ad7ad6f7ee949f496cc46ff906be9afcea by jhb
nvme: Add constants and types for the discovery log page

This is used in NVMe over Fabrics to enumerate a list of available
controllers.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44446

(cherry picked from commit 88ecf154c7c5a2e413a81ae1b0511b0295265b99)
The file was modifiedsys/dev/nvme/nvme.h (diff)
Commit 9541862de74e437e01a2e0f3b978f6fb5f0568d4 by jhb
nvme: Add constants for the Controller Attributes field in cdata

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44447

(cherry picked from commit 7fa8adb8c5cd46979b76770794ac1b6584e8baa7)
The file was modifiedsys/dev/nvme/nvme.h (diff)
Commit 46c77392cbfcccad947f6a7945431956f03acb6a by jhb
nvme: Add NVMe over Fabrics fields to nvme_controller_data

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44448

(cherry picked from commit 21d3a84db481e84cf240f6802b1a4110854eaec5)
The file was modifiedsys/dev/nvme/nvme.h (diff)
Commit 7e771c225d9c34e5d57faad99829c0bba41ee897 by jhb
nvmecontrol: Display additional Fabrics-related fields for cdata

Some of these fields are specific to Fabrics controllers (such as the
size of capsules) while other fields are shared with PCI-e
controllers, but are more relevant for Fabrics controllers (such as
KeepAlive timer properties).

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44449

(cherry picked from commit acbc176c3dfdfebd047507dc7d843f8cc10984a8)
The file was modifiedsbin/nvmecontrol/identify_ext.c (diff)
Commit 4837e07cd2af5d2698ed1fdb25ab7f3ece566917 by jhb
nvme: Add my copyright to logpage.c

Reflect the command line refactoring I did, and other changes. git blame
says I'm to blame for ~1/4 of this file.

Sponsored by: Netflix

(cherry picked from commit fe83abacd4d097342cabef94b3128cd12c5fdccb)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
Commit 05fe0588432aaf74077bc23b0db29889b49a3e40 by jhb
nvmecontrol: Create letoh to generically convert to host order

Using _Generic, create letoh which will generically convert uintXX_t
types from little endian to host, regardless of the size. This name has
been floated as a possible addition to endian.h.

Sponsored by: Netflix
Discussed with: jhb
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44649

(cherry picked from commit 67163bc485a56d960b72fb26f19685682b92dd6b)
The file was modifiedsbin/nvmecontrol/nvmecontrol.h (diff)
Commit d20b149786cbd2c983eeaffce9c51c0a767cadc7 by jhb
nvmecontrol: Make the error log page work on native format

As the number of page types proliferates, it becomes untennable to
convert them in read_logpage (especailly since new UUID page types will
need to be supported). Convert the error page printing code to operate
on little endian data.

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44680

(cherry picked from commit 85656a9a015339f3d412e5b1888e798bb3e7d4ba)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
Commit 78e2c1882b2fac00fabe9d362050213b35dd4a78 by jhb
nvmecontrol: Have to truncate on all 32-bit architectures

armv7, powerpc, powerpcspe and i386 all lack 128-bit integer
types. Adjust the comment and #ifdef. I don't think we support nvme on
any of these other architectures at the moment, but it won't hurt to be
more precise.

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44650

(cherry picked from commit e098d24b5290a9f59734587ded783c19d4dc6e31)
The file was modifiedsbin/nvmecontrol/nvmecontrol.h (diff)
Commit 650c012e519fe027fdab6561d35380dcd0ac8e4b by jhb
nvmecontrol: Fix to128 for big endian targets

The source is always 128-bits in little endian format. For big endian
hosts, we have to convert, or we print bogus numbers.

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44651

(cherry picked from commit 1c4b7effa7f9df64bf72c6291b4719cffb2ffe22)
The file was modifiedsbin/nvmecontrol/Makefile (diff)
The file was modifiedsbin/nvmecontrol/nvmecontrol.h (diff)
Commit 4d144d4ceb1c7df824ba66929c396faa83638edf by jhb
nvmecontrol: Move smart/health printing to little endian orderinng

Move health printing to little endian ordering...

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44652

(cherry picked from commit 729ee4c88f2af4560adec39fd709ff89bb597e4a)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
Commit 0c66083c035c90e6991e18914b1fcdbdc70d8e7d by jhb
nvmecontrol: Move namespace change page printing to little endian orderinng

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44653

(cherry picked from commit acdf72f7bbe582b8eabf09576dc93eb4fcfbd19b)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
Commit 067abd7d0b0678cba0dede7e1813660e9e269d6e by jhb
nvmecontrol: Move self test status page printing to little endian orderinng

Also, add printing vnedor_specific field, which doesn't have a valid
bit, so is always valid.

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44654

(cherry picked from commit 98f841efd8ce387d9cd060174b9dcc9ff9850648)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
Commit 71484bbbfff3cb93be026749cde3af55ab885c2f by jhb
nvmecontrol: Move command effeccts page printing to little endian orderinng

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44655

(cherry picked from commit b850caf7b7099636fd4323cb47a82f5201309fed)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
Commit 36269290fcadcb617c5f02348bc056b3084d8311 by jhb
nvmecontrol: Move reservation notifcation page printing to little endian orderinng

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44656

(cherry picked from commit 3d28a9c608a382af669e22e9e8eda7fd0bc02cad)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
Commit 1bc8c6d40dc19cc9a42abe2e8834e8a5dc3855d6 by jhb
nvmecontrol: Move sanitize status page printing to little endian orderinng

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44657

(cherry picked from commit 55a1679ece1f56beda5f68e929a6b2fc553fb501)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
Commit 4e7cc8f545c2bd3c7a104c9d53a9ca5329121094 by jhb
nvmecontrol: Move intel temperature page printing to little endian orderinng

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44658

(cherry picked from commit f0f7e9616da052e3d77b6e41301ccd655ae434fa)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
The file was modifiedsbin/nvmecontrol/modules/intel/intel.c (diff)
Commit 1dac1524786b6600a2218adcebf4ad8977aa0341 by jhb
nvme: Eliminate intel_log_temp_stats_swapbytes

We can't post a AER for this page, so there's no need to be able to swap
it to host byte order. It's not one of the standard defined pages that
can post via AER, and the vendor's public docs for this temperature page
don't suggest it's possible to get over or under event changes. Since
nvmecontrol no longer needsd the swap routine, remove it since it's
now unused.

Sponsored by: Netflix
Reviewed by: chuck
Differential Revision: https://reviews.freebsd.org/D44659

(cherry picked from commit 97b77de2d951b4946fb3219a99c98f2dd4c0120f)
The file was modifiedsys/dev/nvme/nvme_ctrlr.c (diff)
The file was modifiedsys/dev/nvme/nvme.h (diff)
Commit 37109ba0ec1f5d17f5e006ec8f7a76aca4d7765d by jhb
nvmecontrol: add newlines where needed for ns command printfs

Sponsored by: Netflix
Reviewed by: chuck, jhb
Differential Revision: https://reviews.freebsd.org/D44681

(cherry picked from commit e39873820da7ddfddb59823efc3421125b92c17a)
The file was modifiedsbin/nvmecontrol/ns.c (diff)
Commit aaac429c1259555fa990c1a97df8de7fda5f60f8 by jhb
nvmecontrol: Preliminary namespace documentation

Provide preliminary namespace subcommand documentation, along with some
basic definitions from the NVM standards relating to namespaces.

Sponsored by: Netflix
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D44682

(cherry picked from commit 383a44fc0bcb36bf67127856f0c5fabfea522bab)
The file was modifiedsbin/nvmecontrol/nvmecontrol.8 (diff)
Commit efb91b313c644c6bd50b24685a16cff83eb41a07 by jhb
nvmecontrol: Add nvme 2.0 fields to read_logpage

Add the lpo, ot, csi and uuid_index fields to read_logpage. The logpage
command has not been updated to allow these to be specified.

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D44683

(cherry picked from commit 98ab7d0a30f8d0fc9c51e1e97ac29f87750b526c)
The file was modifiedsbin/nvmecontrol/logpage.c (diff)
The file was modifiedsbin/nvmecontrol/firmware.c (diff)
The file was modifiedsbin/nvmecontrol/sanitize.c (diff)
The file was modifiedsbin/nvmecontrol/nvmecontrol.h (diff)
Commit 37eb64d7d25b5bcf92e4eb8352874cfb25c96e1c by jhb
nvmecontrol: One file per line

Move to a one file per line setup, and sort the files alphabetically.

Sponsored by: Netflix
Reviewed by: chuck, jhb
Differential Revision: https://reviews.freebsd.org/D44684

(cherry picked from commit 49ea0889f2cb5e786e166fa9536c84f4a9994a6b)
The file was modifiedsbin/nvmecontrol/Makefile (diff)
Commit aba2d7f89dcf7f17f3f9a13ea0b62a6bd02c0db9 by jhb
WITH_NVME: Remove from broken.

NVME works everywhere, so we can eliminate this. We may remove the
option altogether.

Sponsored by: Netflix
Discussed with: ken, jhb

(cherry picked from commit 2fda3ab0ac1903a977ef5d39d4dfb2ffe86ff1b7)
The file was modifiedshare/mk/src.opts.mk (diff)
Commit ec8c44812a503b3541297ede11332939a5e85b27 by jhb
ObsoleteFiles.inc: Don't remove recently added mixer(8) tests

An earlier set of mixer(8) tests were removed leading to this entry,
but now the entry is removing the new tests.

Fixes: 94a86f3f6920 mixer(8): Add tests
(cherry picked from commit 09ed116dc5b84e6b3478b42e5b1076604e92f676)
The file was modifiedObsoleteFiles.inc (diff)
Commit bce36e21cac2d9d59b7a9d18e8d219ea73623ec8 by hutter2
module/icp/asm-arm/sha2: auto detect __ARM_ARCH

This patch uses __ARM_ARCH set by compiler (both
GCC and Clang have this) whenever possible instead
of hardcoding it to 7. This change allows code to
compile on earlier ARM architectures such as armv5te.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
Closes #15557
The file was modifiedmodule/icp/asm-arm/sha2/sha256-armv7.S (diff)
The file was modifiedmodule/icp/asm-arm/sha2/sha512-armv7.S (diff)
Commit 2ca151537418799a94f9934e7c529af28077f8c4 by hutter2
module/icp/asm-arm/sha2: enable non-SIMD asm kernels on armv5/6

My merged pull request #15557 fixes compilation of sha2 kernels on arm
v5/6. However, the compiler guards only allows sha256/512_armv7_impl to
be used when __ARM_ARCH > 6. This patch enables these ASM kernels on all
arm architectures. Some compiler guards are adjusted accordingly to
avoid the unnecessary compilation of SIMD (e.g., neon, armv8ce) kernels
on old architectures.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
Closes #15623
The file was modifiedmodule/icp/algs/sha2/sha256_impl.c (diff)
The file was modifiedmodule/icp/asm-arm/sha2/sha512-armv7.S (diff)
The file was modifiedmodule/icp/asm-arm/sha2/sha256-armv7.S (diff)
The file was modifiedmodule/icp/algs/sha2/sha512_impl.c (diff)
Commit a99a37991e59ad85b5935deb48615793568df973 by hutter2
contrib: link zpool to zfs in bash-completion (#16376)

Currently user won't have completion of `zpool` command until they
trigger completion of `zfs` first. This patch adds a link to `zfs`,
thus user can use both to initialize the completion.

Fixes: #16320

Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Rob Norris <rob.norris@klarasystems.com>
Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
The file was modifiedcontrib/bash_completion.d/.gitignore (diff)
The file was modifiedrpm/generic/zfs.spec.in (diff)
The file was modifiedcontrib/bash_completion.d/Makefile.am (diff)
Commit 0465fbecd7db0d0a23776f084c238cdccd9faa29 by hutter2
ZTS: fix history_007_pos test on Ubuntu 24.04 (#16410)

The timezone "US/Mountain" isn't supported on newer linux versions.
Using the correct timezone "America/Denver" like it's done in FreeBSD
will fix this. Older Linux distros should behave also okay with this.

Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
The file was modifiedtests/zfs-tests/tests/functional/history/history.cfg (diff)
Commit 88a5ee0706a27bae6209d0e6d061c9e9c55b219a by hutter2
ZTS: fix zfs_copies_006_pos test on Ubuntu 20.04 (#16409)

This test was failing before:
- FAIL cli_root/zfs_copies/zfs_copies_006_pos (expected PASS)

Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
The file was modifiedtests/zfs-tests/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib (diff)
Commit d8fa32a79d8b5f759ad30ed54eb75b2ab0a746f0 by hutter2
linux/zvol_os: tidy and document queue limit/config setup

It gets hairier again in Linux 6.11, so I want some actual theory of
operation laid out for next time.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Sponsored-by: https://despairlabs.com/sponsor/
Closes #16400
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
Commit c60df6a80179f45a64daeb47113b0a342461ef97 by hutter2
linux/zvol_os: fix zvol queue limits initialization

zvol queue limits initialization depends on `zv_volblocksize`, but it is
initialized later, leading to several limits being initialized with
incorrect values, including `max_discard_*` limits. This also causes
`blkdiscard` command to consistently fail, as `blk_ioctl_discard` reads
`bdev_max_discard_sectors()` limits as 0, leading to failure. The fix is
straightforward: initialize `zv->zv_volblocksize` early, before setting
the queue limits. This PR should fix `zvol/zvol_misc/zvol_misc_trim`
failure on recent PRs, as the test case issues `blkdiscard` for a zvol.
Additionally, `zvol_misc_trim` was recently enabled in `6c7d41a`,
which is why the issue wasn't identified earlier.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #16454
The file was modifiedmodule/os/linux/zfs/zvol_os.c (diff)
Commit 8d2b36ef6cbdc6b147d5fce93b3e2e7336c5becc by jhb
Fix incremental build with WITH_NVME newly enabled

rescue.mk doesn't get updated when options change so nvme_util.o is now
missing on architectures were NVME was previously marked BROKEN.

Reviewed by: imp
Fixes: 2fda3ab0ac19 WITH_NVME: Remove from broken.
Differential Revision: https://reviews.freebsd.org/D44826

(cherry picked from commit 26a09db3add30238b99e3214c56a3aee63fd71d1)
The file was modifiedtools/build/depend-cleanup.sh (diff)
Commit 818e3dc03d0c2f90c3ddf67eff7bf7080e8027f7 by jhb
tools: Remove stray "then"

Fixes: 26a09db3add3
(cherry picked from commit f7f570eb97c70bc7f545d79a96c3192181bb8dd1)
The file was modifiedtools/build/depend-cleanup.sh (diff)
Commit 485bd16308108f84df7b2768011a65f3dc97db9b by kp
pf: cope with SCTP port re-use

Some SCTP implementations will abort connections and then later re-use the same
port numbers (i.e. both src and dst) for a new connection, before pf has fully
purged the old connection.

Apply the same hack we already have for similarly misbehaving TCP
implementations and forcibly remove the old state so we can create a new one.

MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 82e021443a76b1f210cfb929a495185179606868)
The file was modifiedtests/sys/netpfil/pf/sctp.sh (diff)
The file was modifiedsys/netpfil/pf/pf.c (diff)
Commit 40f573de8adbf87be4200300595364128072fee7 by jhb
src.conf.5: rebuild after WITH_NVME changes

WITH_NVME is no longer marked broken on armv7, riscv64, or powerpc.

Fixes: 2fda3ab0ac19 WITH_NVME: Remove from broken.
Differential Revision: https://reviews.freebsd.org/D44850

(cherry picked from commit e5700dab1e7ad84b9a97025d263f0acd3599a1c2)
The file was modifiedshare/man/man5/src.conf.5 (diff)
Commit e13b9fb02ffac7019895ca0aaa1eafbd1b31d705 by jhb
camcontrol: One file per line in Makefile

We have enough files now that moving to one file per line makes sense.

Sponsored by: Netflix

(cherry picked from commit 69ae43a1e6a53a1b8898a31c6b7140bf52b2c3ad)
The file was modifiedsbin/camcontrol/Makefile (diff)
Commit 8f586587daad64cb1d6c1bca0201bf97f0eae4c1 by jhb
camcontrol: Enable WITH_NVME unconditionally

MK_NVME is no longer marked broken for any platforms, so just include
support for it always as we do for ATA and SCSI.

Reviewed by: emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44841

(cherry picked from commit 2b676a66c00af03e4b64d072658d2478dbdf0a97)
The file was modifiedsbin/camcontrol/camcontrol.c (diff)
The file was modifiedsbin/camcontrol/Makefile (diff)
Commit a3a8eabcdc9c603cbd57e4eba8b1485e03e7fd12 by jhb
nvmecontrol: Always build instead of being conditional on WITH_NVME

This now builds fine on all platforms so always include it similar
to other tools such as camcontrol.

Reviewed by: imp, emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44842

(cherry picked from commit 2d51a9898e26c87586ba50e71b6b3fdf1591713d)
The file was modifiedsbin/Makefile (diff)
Commit 7b182a286d42c0d7d799b5d2e05905dee803297a by jhb
Remove the MK_NVME build option

The drivers and utilities are now built and installed unconditionally.

Reviewed by: imp, emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44843

(cherry picked from commit ee3187f6fa7986c6bfaa97528e050b796eaca343)
The file was modifiedshare/mk/src.opts.mk (diff)
The file was removedtools/build/options/WITH_NVME
The file was removedtools/build/options/WITHOUT_NVME
Commit c7379937a2d41d53731601454637d02d77c5fa99 by jhb
src.conf.5: Regen after removing MK_NVME

(cherry picked from commit cbbc5770a30b6769d9d9a3a4504b81a5400a9110)
The file was modifiedshare/man/man5/src.conf.5 (diff)
Commit 38b00f73b8dc453cc976c56021578d01f5fc3f55 by jhb
options: Make it clearer some x86 / BIOS only things

Suggested by: jrtc27
Sponsored by: Netflix

(cherry picked from commit bf4f27e85aa62e459fb4cde9ebd51e32bdac7910)
The file was modifiedtools/build/options/WITH_BEARSSL (diff)
The file was modifiedtools/build/options/WITH_LOADER_PXEBOOT (diff)
Commit 3cff088ebdacc1e3b2646e035b3e6edc7aa05cac by jhb
src.conf.5: Regen after ddcd3b606c9d

Sponsored by: Netflix

(cherry picked from commit 9ed58aa60fd9cfcc7b6d9f4efa3a0631da393fc9)
The file was modifiedshare/man/man5/src.conf.5 (diff)
Commit c4fa138c2a1bc32e239f17239ef4e1a89422df22 by jhb
camcontrol(8): Fix typos

On line 748, "bigger than" is mistyped as "bigger then", and on line
765, "more than" is mistyped as "more then".

Event: Advanced UNIX Programming Course (Fall’23) at NTHU.
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/949

(cherry picked from commit f8f3b16b6cb671649345352c16894f59679c096f)
The file was modifiedsbin/camcontrol/camcontrol.8 (diff)
Commit 152a9cfe6d45709d41f6323f30dbf0b69a6afe46 by jhb
camcontrol(8): Fix grammar: a ATA -> an ATA

Event: Advanced UNIX Programming Course (Fall'23) at NTHU.
Pull Request: https://github.com/freebsd/freebsd-src/pull/1030

(cherry picked from commit 9977fb8042a4b2f2b3386684e137dfb42bf1707f)
The file was modifiedsbin/camcontrol/camcontrol.8 (diff)
Commit 169c76b9b65f97043af32058a86ceda8da4375fe by jhb
camcontrol: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0])

Pull Request: https://github.com/freebsd/freebsd-src/pull/888
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
(cherry picked from commit 7028e630d6110789502cfc0f17b36b6f513ec297)
The file was modifiedsbin/camcontrol/epc.c (diff)
The file was modifiedsbin/camcontrol/attrib.c (diff)
The file was modifiedsbin/camcontrol/zone.c (diff)
Commit af6673e6a5d5959316d02674716d2946a3fcf464 by jhb
nvmecontrol(8): Remove a double word in a source code comment

- s/the the/the/

MFC after: 3 days

(cherry picked from commit 6573ce292fc5ddc6c846860b3fa98473e3f5d1c6)
The file was modifiedsbin/nvmecontrol/nvmecontrol.h (diff)
Commit 1d56b7ed637cf283c7773c857a86e8a6ab218751 by jhb
nvmecontrol: Flesh out nvmecontrol format information

The format command takes a number of different parameters. Include a
brief summary of what the values mean, though since the driver's support
for metadata is at best weak, 0's are almost always used for values
other than -f format. Add an example that ties it all together.

Sponsored by: Netflix
Reviewed by: pauamma@gundo.com, chuck
Differential Revision: https://reviews.freebsd.org/D44958

(cherry picked from commit ce3b53ffcc3ecc00fa6283542c60ff1fe697d853)
The file was modifiedsbin/nvmecontrol/nvmecontrol.8 (diff)
Commit 86a8ea7444c850c287200c47f95ddded6826e943 by jhb
nvmecontrol: Allow optional /dev/ for device names

nvmecontrol operates on devices. Allow a user to specify the /dev/ if
they want. Any device that starts with / will be treated as if it was a
full path for maximum flexbility.

Sponsored by: Netflix

(cherry picked from commit b12cae88cfb6286bc85a47b36ddd84f52b5c38ca)
The file was modifiedsbin/nvmecontrol/nvmecontrol.8 (diff)
The file was modifiedsbin/nvmecontrol/nvmecontrol.c (diff)
Commit b2a3826e9d59d5662126986f43b942307b9f52f5 by jhb
ctld: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0])

Pull Request: https://github.com/freebsd/freebsd-src/pull/888
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
(cherry picked from commit 8f65dcd6276bf139a2fe87c1bbeffcc1fed015e4)
The file was modifiedusr.sbin/ctld/kernel.c (diff)
Commit 9f01ac2f7d6b7dbe2301183b25181eb8b4284cf4 by jhb
ctladm: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0])

Pull Request: https://github.com/freebsd/freebsd-src/pull/888
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
(cherry picked from commit 2f8ea2f605acbeadb3c2fe9d336fcf558f2d4fa6)
The file was modifiedusr.sbin/ctladm/ctladm.c (diff)
Commit 52bc3fae713ddbec6310d842de1d8bf2cecec9af by jhb
ctladm: Use nitems() in a few more places

Sponsored by: Chelsio Communications

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

(cherry picked from commit afd0c206a6ce9a182c1a26a4d8dbb66a8335f519)
The file was modifiedusr.sbin/ctladm/ctladm.c (diff)
Commit ee104259c72c24ca2495f7d7c4aac2672c010478 by jhb
rc.d/ldconfig: Compute ldconfig paths in a function

Move logic that computes paths passed to ldconfig(8) to a
ldconfig_paths() function that can be called for multiple ABIs.

Reviewed by: olce, kib
Obtained from: CheriBSD
Differential Revision: https://reviews.freebsd.org/D44751

(cherry picked from commit e6e38bc522e29de6299536b547bf11dab11e9679)
The file was modifiedlibexec/rc/rc.d/ldconfig (diff)
Commit 7b9327d6b2df22004d64406e51a9568e4245fb93 by jhb
defaults/rc.conf: Remove /usr/lib32 from ldconfig32_paths

Commit 99132daf6f70cb0cc969c555d3612547fa3cf1db prepends /usr/lib32 to
the list of paths in ldconfig32_paths since it is a standard library
path in ld-elf32.so.1.  Remove /usr/lib32 from the value in rc.conf so
that it is not listed twice.

Reviewed by: olce, kib
Sponsored by: University of Cambridge, Google, Inc.
Differential Revision: https://reviews.freebsd.org/D44752

(cherry picked from commit 4bf5db113f760619bf754c22864b1d7e2acdeabd)
The file was modifiedlibexec/rc/rc.conf (diff)
Commit cd42e992b5972cc011a0ed82a8b50df67972828f by hutter2
Enable L2 cache of all (MRU+MFU) metadata but MFU data only

`l2arc_mfuonly` was added to avoid wasting L2 ARC on read-once MRU
data and metadata. However it can be useful to cache as much
metadata as possible while, at the same time, restricting data
cache to MFU buffers only.

This patch allow for such behavior by setting `l2arc_mfuonly` to 2
(or higher). The list of possible values is the following:
0: cache both MRU and MFU for both data and metadata;
1: cache only MFU for both data and metadata;
2: cache both MRU and MFU for metadata, but only MFU for data.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Gionatan Danti <g.danti@assyoma.it>
Closes #16343
Closes #16402
The file was modifiedman/man4/zfs.4 (diff)
The file was modifiedmodule/zfs/arc.c (diff)
Commit baa50314567afd986a00838f0fa65fdacbd12daf by hutter2
Tag zfs-2.2.6

META file and changelog updated.

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
The file was modifiedMETA (diff)
Commit d66c4853b84002c064bc314a0824a8667a0089c6 by kib
DMAR: clear dmar_devs[unit] if attach failed

PR: 280817

(cherry picked from commit 45543d3424d46f84a5399879e190fc359dcefbd4)
The file was modifiedsys/x86/iommu/intel_drv.c (diff)
Commit c3cd4db461fdb686b2aa3a199e7f1c8b89049208 by kib
amd64: add convenience wrappers for INVLPGB and TBLSYNC

(cherry picked from commit 111c7fc2fe21356a637f89fa58c407958f05ad93)
The file was modifiedsys/amd64/include/cpufunc.h (diff)
Commit 23117748f29793915905d14a2868916e7f06c0b7 by kib
amd64: add variables indicating INVLPGB works

(cherry picked from commit bc4ffcadf2681c954444e1853200dca3f5e65676)
The file was modifiedsys/amd64/amd64/pmap.c (diff)
The file was modifiedsys/amd64/amd64/machdep.c (diff)
The file was modifiedsys/amd64/include/pmap.h (diff)
Commit 43605618aafa834cbd18f91f19f2565584a7fa5f by kib
amd64: use INVLPGB for kernel pmap invalidations

(cherry picked from commit 47656cc1ef1cac307f24de88a4fe23a1389af44e)
The file was modifiedsys/amd64/amd64/mp_machdep.c (diff)
Commit 455dc6ffa843b20e2555f1884d1a07d47de78123 by imp
loader.efi(8): beef up the updating the ESP

There's a huge variety of situations when booting with UEFI. Document
more of them, hopefully better.

Feedback from: jrtc27
MFC After: 3 days
Sponsored by: Netflix

(cherry picked from commit 871911a4ab738a54a88f3533f553f5eb68c28012)
The file was modifiedstand/man/loader.efi.8 (diff)
Commit 118ab70d578934236251368c894973a4159ac514 by tuexen
tcp: fix list iteration in tcp_lro_flush_active()

Use LIST_FOREACH_SAFE(), since the list element is removed from
the list in the loop body, zero out and inserted in the free list.

Reviewed by: rrs
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D46383

(cherry picked from commit 64443828bbe7c571db8d8731758ec8c4b8364c86)
The file was modifiedsys/netinet/tcp_lro.c (diff)
Commit e0bcb3aa4f07e3336ceec48a3b53ed0c74e03e93 by tuexen
tcp: initialize the LRO hash table with correct size

There will at most lro_entries entries in the LRO hash table. So no
need to take lro_mbufs into account, which only results in the
LRO hash table being too large and therefore wasting memory.

Reviewed by: rrs
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D46378

(cherry picked from commit aa6c490bf80fcef15cfc0d3f562fae19ef2375aa)
The file was modifiedsys/netinet/tcp_lro.c (diff)
Commit 6c0fb6c5ac7b3319ac823ef279b12a21604cf84a by tuexen
tcp: improve consistency of SYN-cache handling

Originally, a SYN-cache entry was always allocated and later freed,
when not needed anymore. Then the allocation was avoided, when no
SYN-cache entry was needed, and a copy on the stack was used.
But the logic regarding freeing was not updated.
This patch doesn't re-check conditions (which may have changed) when
deciding to insert or free the entry, but uses the result of
the earlier check.
This simplifies the code and improves also consistency.

Reviewed by: glebius
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D46410

(cherry picked from commit e41364711ca3f7e214f9607ebedf62e03e51633d)
The file was modifiedsys/netinet/tcp_syncache.c (diff)
Commit bb31f15d179e3269bd6d16f77437342bdca37e82 by tuexen
sctp: fix format of sysctl variables

(cherry picked from commit a1d9ce19b13f220c5738e6aa58cf0c3750a05526)
The file was modifiedsys/netinet/sctp_sysctl.c (diff)
Commit 2dcd21ddab9aa72da3bc2de746318f518ff779f8 by tuexen
tcp: fix format of sysctl variable

The format for CTLTYPE_UINT is "IU" instead of "UI" as specified
in sysctl.9.

Reviewed by: cc, zlei
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D46408

(cherry picked from commit 498286d4e807d6b9e4caad22b96ebca7f16e9b18)
The file was modifiedsys/netinet/tcp_syncache.c (diff)
Commit cfcf0db9097aba82450bd79c40c08eb8251d4df7 by rmacklem
nfsproto.h: Define the new mode_umask attribute

RFC8275 defines a new attribute as an extension to NFSv4.2
called MODE_UMASK.  This patch adds the attribute number
to nfsproto.h.

Future patches will add optional support for the attribute.
This patch does not cause any semantics change.

(cherry picked from commit 10d5b43424da7fadfbdcc41bbffe40d130af1e1d)
The file was modifiedsys/fs/nfs/nfsproto.h (diff)
Commit 5a542a60553780b51fdd822af1d9aba53707fc29 by gordon
release: Redirect etcupdate logfile to /dev/null.

Stop shipping a log file for etcupdate. This is a source of
non-reproducability as it uses mktemp thereby guaranteeing the output is
different each run.

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

(cherry picked from commit e972e408d19a58c4f2855eface487d06ef73b799)
The file was modifiedrelease/Makefile (diff)
Commit 65ae1d493e314f5270cc92315cea0bb2e1afa3b0 by kib
msdosfs: return ENOENT if looking up invalid name for OPEN or DELETE

PR: 281033

(cherry picked from commit 0b2c159c8faa3ca155412a1b2e57b3d6bcf91880)
The file was modifiedsys/fs/msdosfs/msdosfs_lookup.c (diff)
Commit f968e0819ddc3b26537d046304472877ff4849c1 by kib
open(2): mandoc -T lint

(cherry picked from commit f5a37f8dd319e3007b126b77376e61ad96f44d8b)
The file was modifiedlib/libc/sys/open.2 (diff)
Commit 97ccb41979bfee6d5bf35886b310e6c9bc7e8eed by kib
rename(2): Extend EINVAL's description

PR: 281033

(cherry picked from commit 33f58ac0795b2b02593ad0a8bf8a1ea24c1dc5e1)
The file was modifiedlib/libc/sys/rename.2 (diff)
Commit f7eb6b134db8fed6a6851b6a3d00a2ea0e11eadd by kib
open(2): Extend EINVAL's description

PR: 281033

(cherry picked from commit 02c23c3b5ac9c9c1115c8b892034bb5d67b05c06)
The file was modifiedlib/libc/sys/open.2 (diff)
Commit b8aeb7101724a0489509b3385571759014268e71 by christos
mixer(8) tests: Fix cleanup routine

The tests correctly skip if no snd_dummy neither mixer is found, but the
cleanup is still called with the skip condition, which fails if there is
no mixer.

MFC after: 2 days
Reviewed by: christos
Differential Revision: https://reviews.freebsd.org/D46491

(cherry picked from commit 080c85127e3fba2c8cfb78cb75f7b306aee4028d)
The file was modifiedusr.sbin/mixer/tests/mixer_test.sh (diff)
Commit 20a2a59f3990778a82bccf0e69ce8f9d7f6a904a by vmaffione
libnetmap: remove interface name validation

When trying to use a VLAN device (e.g. "em0.123") with a dot
the library fails to parse the interface correctly. The former
pattern is much too restrictive given that almost all characters
can be coerced into a device name via ifconfig.

Remove the particularly restrictive validation.  Some characters
still cannot be used as an interface name as they are used as
delimiters in the syntax, but this allows to be able to use most
of them without an issue.

Submitted by: franco@opnsense.org
Differential Revision: https://reviews.freebsd.org/D42485
Reviewed by: vmaffione
The file was modifiedlib/libnetmap/nmreq.c (diff)
Commit 3e6d533dd1746ba1809da965a1767bcbe59b3d56 by delphij
u3g: add SIERRA AC340U

Pull request: https://github.com/freebsd/freebsd-src/pull/1397
MFC after: 3 days

(cherry picked from commit 4b6e76eff8b63d691c05772520849b6c94d535e8)
The file was modifiedsys/dev/usb/usbdevs (diff)
The file was modifiedsys/dev/usb/serial/u3g.c (diff)
Commit b6728c3f0b47408610373fc2744e98f3178ddf83 by zlei
init_main: Sprinkle const qualifiers where appropriate

No functional change intended.

MFC after: 1 week

(cherry picked from commit 7412517f2947342d599e42dd563fd6b3a7656e29)
The file was modifiedsys/kern/init_main.c (diff)
Commit d6271b6507b2404bd03f21f76a4e8394e083ae80 by zlei
kern: Align the declaration of kernconfstring with its definition

It is defined as const char[] in config.c which is auto generated by
usr.sbin/config/kernconf.tmpl .

While here prefer macro SYSCTL_CONST_STRING to avoid casting.

MFC after: 1 week

(cherry picked from commit 0f64fc6a3486454ad708f517633f930e611fd6d2)
The file was modifiedsys/kern/kern_mib.c (diff)
Commit 3736b79f0fa7655288f922d085b90eb5e0347067 by andrew
vm: Use vmem_xalloc in kva_alloc

The kernel_arena used in kva_alloc has the qcache disabled. vmem_alloc
will first try to use the qcache before falling back to vmem_xalloc.

Rather than trying to use the qcache in vmem_alloc just call
vmem_xalloc directly.

Reviewed by: alc, kib, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D42831

(cherry picked from commit 8daee410d2c13b4e8530b00e7877eeecf30bb064)
The file was modifiedsys/vm/vm_kern.c (diff)
Commit bdbb0be0436a6db70c043a3cd8710de59b497e88 by andrew
vm: Add kva_alloc_aligned

Add a function like kva_alloc that allows us to specify the alignment
of the virtual address space returned.

Reviewed by: alc, kib, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D42788

(cherry picked from commit 839999e7efdc980d5ada92ea93719c7e29765809)
The file was modifiedsys/vm/vm_extern.h (diff)
The file was modifiedsys/vm/vm_kern.c (diff)
Commit f48bd7527bba62d4d8019fd4bbdb966aecdbac0b by andrew
uart: Split out initilisation of the acpi devinfo

Split out the common parts of building the uart devinfo from ACPI
tables from the SPCR parser. This will be used when we support the DBG2
table to find the debug uart to be used by the kernel gdb stub.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D44357

(cherry picked from commit 473c0b44ae8c51b2aebc51887714b2ed14de50bf)
The file was modifiedsys/dev/uart/uart_cpu_acpi.c (diff)
Commit 254d54f0733fe139108cb576cf37f16102659181 by andrew
arm64: Support passing more registers to signals

To support recent extensions to the Arm architecture we may need to
store more or larger registers when sending a signal.

To support this create a list of these extra registers. Userspace that
needs to access a register in the signal handler can then walk the list
to find the correct register struct and read/write its contents.

Reviewed by: kib, markj (earlier version)
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D43302

(cherry picked from commit 7e6437c08415ade75403f1ecad75167257e8ea3c)
The file was modifiedsys/arm64/arm64/exec_machdep.c (diff)
The file was modifiedsys/arm64/include/ucontext.h (diff)
Commit fd443b71fa2eda2a125856acb446dd3cc72e053c by andrew
libc/aarch64: Copy the trivial getcontextx

This will be used as the base of a non-trivial implementation.

Reviewed by: kib
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D44254

(cherry picked from commit fd6b1cc34e4175c1e223f42540debb74cfe3c3e6)
The file was modifiedlib/libc/aarch64/gen/Makefile.inc (diff)
The file was addedlib/libc/aarch64/gen/getcontextx.c
Commit 519141de7e6639e4df3485073d2521dc95b60207 by andrew
libc/aarch64: Add a non-trivial getcontextx

Add support for extra registers to the arm64 getcontextx. As no
registers are defined this just adds the extra register list and an end
context.

Reviewed by: kib
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D44255

(cherry picked from commit 5202ca77aaf552310bcbaccba750ee9f0888d0d8)
The file was modifiedlib/libc/aarch64/gen/getcontextx.c (diff)
Commit 4047cec13239e2bfa5b4fbd98de56bdb214e15bc by andrew
scmi: Implement scmi_clknode_recalc_freq method

Allow the SCMI clock frequency to be queried back, useful for testing
the IRQ path via sysctl access.

Reviewed by: andrew
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D43038

(cherry picked from commit ecd8cc84dcee7d08be8663f721f0502dc5b65808)
The file was modifiedsys/dev/firmware/arm/scmi_clk.c (diff)
Commit d5e29c62e923bd8e7a7355a0d3c5e4767c869ddf by andrew
linux64: Fix the build on arm64 with bti checking

When we enable checking for BTI on arm64 we need to include an ELF
note in all object files linked into a module.

As using objcopy from a binary to an ELF object file doesn't add the
note switch to using .incbin from an assembly file. This allows us to
add the needed note without affecting the included object.

Reviewed by: imp, kib, emaste
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D45468

(cherry picked from commit bed65d85c631c3a8e60a81a15a5a745c8ef92fbe)
(cherry picked from commit ec69d230933f82c7c142b053882255aa57475463)
The file was modifiedsys/modules/linux64/Makefile (diff)
The file was addedsys/compat/linux/linux_vdso_inc.S
The file was modifiedsys/arm64/linux/linux_support.S (diff)
Commit 8b9f8a7e763dfc533ce2abd5b48d1ba9f54165e2 by andrew
arm64: Clear td_frame when returning to userspace

When returning from an exception to userspace clear the saved td_frame.
On the next exception this should point to the frame, however this is
not guaranteed.

To ensure the trap frame pointer is either valid or NULL clear it
before returning to userspace in the EL0 synchronous exception handler.

Reviewed by: kib, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D44807

(cherry picked from commit 4eec584d79c1e8375d863c7eec7229ac7ec3f13b)
The file was modifiedsys/arm64/arm64/exception.S (diff)
Commit 570fae59a8bf9ded19c4de9bf001ee0fa2cf7229 by andrew
arm64: Support counter access with E2H

When entering the kernel with the E2H field set the layout of the
cnthctl_el2 register changes. Use the correct field locations to enable
access to the counter and timer registers from EL1.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D45529

(cherry picked from commit 997511dffe651e1d2d708f37f2ced430a6ab3349)
The file was modifiedsys/arm64/include/hypervisor.h (diff)
The file was modifiedsys/arm64/arm64/locore.S (diff)
Commit 94865825c014dfaab300ea785b8cb7013d23187c by andrew
arm64: Fix the gicv3 check in locore.S

In locore.S we need to configure access to the GICv3. To check if it's
available we read the id_aa64pfr0_el1 register, however we then only
check if a GICv3.0 or 4.0 is present. If the system has a GICv4.1 this
check would fail.

Move to checking if the GICV3+ is not absent so this will still work if
the field is updated again.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D45530

(cherry picked from commit 57ef7935eb114e98e7e554c5ffbded68fd038c04)
The file was modifiedsys/arm64/arm64/locore.S (diff)
Commit 0fbb9df20dd88ba448ea622cf40b3855959653fe by andrew
arm64: Ensure sctlr and pstate are in known states

Before entering the kernel exception level ensure sctlr_el2 and
sctlr_el1 are in a known state. The EOS flag needs to be set to ensure
an eret instruction is a context synchronization event.

Set spcr_el1 when entering the kernel from EL1 and use an eret
instruction to return to the caller. This ensures the CPU pstate is
consistent with the value in spcr_el1 as it is the only way to set it
directly.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D45528

(cherry picked from commit 034c83fd7d85f57193850a73cc0ac957a211f725)
The file was modifiedsys/arm64/arm64/locore.S (diff)
The file was modifiedsys/arm64/include/hypervisor.h (diff)
Commit 75861a57b6fd721e47c8a7cb43c4882c200cca1d by andrew
dev/uart: Add APMC0D08 as found in the Intel E2100

This uart has the requirement for 32-bit sized and aligned memory
accesses. It is also described in the Serial Port Console Redirection
Table (SPCR) with a different interface type value.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D45834

(cherry picked from commit 9840598aa31f2a89272f5bef6545e316f254f0c6)
The file was modifiedsys/dev/uart/uart_dev_ns8250.c (diff)
Commit be3d6ab9e14790848e9331db27d48f92d6160bef by andrew
buf_ring: Remove PREFETCH_DEFINED

I'm not able to find anything in the tree that ever defined it. Remove
as it's unused so is untested.

Reviewed by: alc, imp, kib, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46148

(cherry picked from commit 5048308bdb76f40e88c9133658fc61d82158ded2)
The file was modifiedsys/sys/buf_ring.h (diff)
Commit 8ecb8e1c38e80ec2aae73536522fe2932af65ee8 by andrew
buf_ring: Support DEBUG_BUFRING in userspace

The only part of DEBUG_BUFRING we don't support in userspace is the
mutex checks. Add _KERNEL checks around these so we can enable the
extra debugging.

Reviewed by: alc, imp, kib, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46149

(cherry picked from commit d3d34d56bee4222b3bf3ec26d7877998405115a3)
The file was modifiedsys/sys/buf_ring.h (diff)
Commit be17061faf3b9811202b335cbf19b2b14aacfa01 by andrew
buf_ring: Consistently use atomic_*_32

We are operating on uint32_t values, use uint32_t atomic functions.

Reviewed by: alc, imp, kib, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46150

(cherry picked from commit 17a597bc13aa59ee90facaf9b8dada80f32eb52d)
The file was modifiedsys/sys/buf_ring.h (diff)
Commit 56e8c3ec5241ec4747b8fdd42e0172325c7fc378 by andrew
buf_ring: Keep the full head and tail values

If a thread reads the head but then sleeps for long enough that
another thread fills the ring and leaves the new head with the
expected value then the cmpset can pass when it should have failed.

To work around this keep the full head and tail value and use the
upper bits as a generation count.

Reviewed by: kib
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46151

(cherry picked from commit 3cc603909e09c958e20dd5a8a341f62f29e33a07)
The file was modifiedsys/sys/buf_ring.h (diff)
Commit 80df53c7fb1cefffff419adbb0767f36a44c27d2 by andrew
buf_ring: Use atomic operations with br_cons_tail

Use an atomic operation with a memory barrier loading br_cons_tail
from the producer thread and storing to it in the consumer thread.

On dequeue we need to read the pointer value from the buf_ring before
moving the consumer tail as that indicates the entry is available to be
used. The store release atomic operation guarantees this.

In the enqueueing thread we then need to use a load acquire atomic
operation to ensure writing to this entry can only happen after the
tail has been read and checked.

Reported by: Ali Saidi <alisaidi@amazon.com>
Co-developed by: Ali Saidi <alisaidi@amazon.com>
Reviewed by: markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46152

(cherry picked from commit 44e1cfca417c5ef0db908f3836ec3ba704ef1de2)
The file was modifiedsys/sys/buf_ring.h (diff)
Commit 14c779e5caf09746a0e098378c2c09b897f0e177 by andrew
buf_ring: Remove old arm-only dequeue code

In the single consumer dequeue the consumer thread controls
br_cons_head. As such no ordering between this and other data are
required.

Reviewed by: alc, imp, kib, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46153

(cherry picked from commit 7eb0fffc7792bc294d6b86546a3923e2e2f83f8a)
The file was modifiedsys/sys/buf_ring.h (diff)
Commit bfd435bfe8e1b740d932355831b8a3cc644c14ed by andrew
buf_ring: Use atomic operations with br_prod_tail

As with br_cons_tail use an atomic load acquire to read br_prod_tail
in buf_ring_dequeue_mc and buf_ring_peek*.

On dequeue we need to ensure we don't read the entry from the buf_ring
until it is available and prod_tail has updated. There is already an
appropriate store in the enqueue path and an appropriate load in the
single consumer dequeue, we just need one in the other functions that
read from the buf_ring.

Reviewed by: imp, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46154

(cherry picked from commit 947754af55edc217c10e3456d97558c4eb6d0f99)
The file was modifiedsys/sys/buf_ring.h (diff)
Commit 72ac0bd83df93437d39bad7c4c3f196a398d40f0 by andrew
buf_ring: Ensure correct ordering of loads

When enqueueing on an architecture with a weak memory model ensure
loading br->br_prod_head and br->br_cons_tail are ordered correctly.

If br_cons_tail is loaded first then other threads may perform a
dequeue and enqueue before br_prod_head is loaded. This will mean the
tail is one less than it should be and the code under the
prod_next == cons_tail check could incorrectly be skipped.

buf_ring_dequeue_mc has the same issue with br->br_prod_tail and
br->br_cons_head so needs the same fix.

Reported by: Ali Saidi <alisaidi@amazon.com>
Co-developed by: Ali Saidi <alisaidi@amazon.com>
Reviewed by: imp, kib, markj
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46155

(cherry picked from commit fe2445f47d027c73aa7266669e7d94b70d3949a4)
The file was modifiedsys/sys/buf_ring.h (diff)
Commit 0a5e9d280303254f325d1530fcd9d60286056715 by andrew
buf_ring: Add an Arm copyright

I've change enough of this file to add Arm as a copyright holder.
Add it after the "All rights reserved" line as that's not needed.

Reviewed by: imp
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46157

(cherry picked from commit 87940d2b331c2575f96fbff2600d8da35191157b)
The file was modifiedsys/sys/buf_ring.h (diff)
Commit e95c22c4135afe54f4f04949553e7f55bd3cb6cb by andrew
arm64: Expand the use of Armv8.1-A atomics

When targeting Armv8.1 we can assume FEAT_LSE is available and can use
the atomic instructions this provides without needing to check for
support first.

Reviewed by: imp, markj, emaste
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D46159

(cherry picked from commit 7a345763f96d86eee9ab578e64311bf452e58900)
The file was modifiedsys/arm64/include/atomic.h (diff)
Commit a194eabe088bcc33ee07eefe3aace2aa3e2a3d25 by andrew
arm64: Use store-pair to zero the kernel bss

While this won't be noticed by most users the time to zero the bss
while using instruction tracing in the Arm FVP models (simulators) is
noticeable.

Reduce this time by using a store-pair instruction to double the size
of memory we zero on each iteration of the loop.

Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D42733

(cherry picked from commit f1bc3750cf9a6623b0c0861984ef2a8ac966a4e3)
The file was modifiedsys/arm64/arm64/locore.S (diff)
The file was modifiedsys/conf/ldscript.arm64 (diff)
Commit ca84f1ed4d3c585b9b4eaed40ef012d757d68114 by andrew
libc/aarch64: Remove an unneeded weak symbol

The index symbol doesn't belong in memcpy.S as it is already in
strchr.S where it belongs.

Sponsored by: Arm Ltd

(cherry picked from commit 024248c933c5741a21c17eda63092f330dd98337)
The file was modifiedlib/libc/aarch64/string/memcpy.S (diff)
Commit 762274a14913546b95b147718d68838685193444 by cy
sqlite3: Vendor import of sqlite3 3.46.1

Release notes at https://www.sqlite.org/releaselog/3_46_1.html.

Obtained from: https://www.sqlite.org/2024/sqlite-autoconf-3460100.tar.gz

MFC after: 1 week

Merge commit '657ea345f331704c612a35e5a74968bef9ffcfd8' into sqlite3

(cherry picked from commit de9468837c92cab304c658480bd32dbe4e022d01)
The file was modifiedcontrib/sqlite3/sqlite3rc.h (diff)
The file was modifiedcontrib/sqlite3/tea/configure (diff)
The file was modifiedcontrib/sqlite3/configure.ac (diff)
The file was modifiedcontrib/sqlite3/sqlite3.c (diff)
The file was modifiedcontrib/sqlite3/sqlite3.h (diff)
The file was modifiedcontrib/sqlite3/shell.c (diff)
The file was modifiedcontrib/sqlite3/configure (diff)
The file was modifiedcontrib/sqlite3/tea/configure.ac (diff)
Commit 28094582f0a5b1e6cbded199a96dd4ad2773f989 by bapt
nuageinit: check for both user_data and user-data

openstack, ec2 and other implementation of cloudinit disagrees on the
name of the file "user-data" or "user_data", test both and use the first
found

PR: 279876
(cherry picked from commit cde6642431bb0ca21aeebc7c521e99c681d31ffb)
The file was modifiedlibexec/nuageinit/nuageinit (diff)
The file was modifiedlibexec/nuageinit/tests/nuageinit.sh (diff)
Commit c7887c8e2e1c3e8234db21b4a63770abbaf73b8b by bapt
nuageinit: Accept plain text passwords

Per pw(8), when -H is set, the password should be supplied already
encrypted in a form suitable for writing directly to the password
database (passwd in cloud-init tems); -h provides a special interface by
which interactive scripts can set an account password using pw(8) in
plain text (plain_text_passwd in cloud-init terms).

The default user (freebsd) is defined with a plain_text_passwd
(freebsd), not with an encrypted one.

(cherry picked from commit 7b73ecfe648487c7706ac2b854dcf1435e60e4ca)
The file was modifiedlibexec/nuageinit/nuage.lua (diff)
The file was modifiedlibexec/nuageinit/tests/nuageinit.sh (diff)
Commit 617179178727b61123b17e5de6e369ff5dbb8117 by bapt
nuageinit: Set recommended SSH permissions

As stated in sshd(8), the recommended permissions for ~/.ssh are
read/write/execute for the user, and not accessible by others; and the
recommended permissions for ~/.ssh/authorized_keys are read/write for
the user, and not accessible by others.

(cherry picked from commit 07d17ca189fcf3cc44b7706040b05ca8135c3b85)
The file was modifiedlibexec/nuageinit/tests/nuage.sh (diff)
The file was modifiedlibexec/nuageinit/nuage.lua (diff)
Commit 3dbc333a9ef40c71f56507c672e919547eaea248 by bapt
nuageinit: Fix the homedir variable name

cloud-init uses homedir, not home.

(cherry picked from commit 7aecd689e362330a035a199afbe5707a8c4edc9c)
The file was modifiedlibexec/nuageinit/nuage.lua (diff)
Commit 5f7256579cd0b663e4a7013e81067d11b632fe10 by bapt
nuageinit: Fix tests

Commit 07d17ca189fcf3cc44b7706040b05ca8135c3b85 set the recommended
permissions for the SSH authorized keys file and directory.  The tests,
however, were failing on CI.

Use stat to check for the proper permissions.

Fixes: 07d17ca189f nuageinit: Set recommended SSH permissions
Reported by: Jenkins

(cherry picked from commit 8edd6c07c8dafcc5828bceb5fea0684c7d0d0775)
The file was modifiedlibexec/nuageinit/tests/nuage.sh (diff)
Commit 56c59177a1b7ec842b48650f1cacad9551b44da1 by bapt
CODEOWNERS: Add nuageinit

(cherry picked from commit 1991946cff2a4c87c9272c2ccc1c2fb3b1cfba96)
The file was modified.github/CODEOWNERS (diff)
Commit 3a73c77f2d862f2754483ab26e252befc4f8f4e6 by bapt
nuageinit: readd ssh key parsing when key is in meta_data.json

in openstack when no user is specified but a sshkey is provided
the information is stored in meta_data.json under "public_keys"

PR: 280461
Reported by: tdb

(cherry picked from commit 19fb9ad746517c7af9d79a982334b2550f285355)
The file was modifiedlibexec/nuageinit/tests/nuageinit.sh (diff)
The file was modifiedlibexec/nuageinit/nuageinit (diff)
Commit 701ac3adcb75951737d4dc09e19021ebb3a2b1f4 by bapt
nuageinit: improve debugging when mkdir fails

(cherry picked from commit a6ecbf2b35856e312d1e826b206142b9f930a760)
The file was modifiedlibexec/nuageinit/nuage.lua (diff)
Commit ea0a7e8c6570799385a1e7c4b59824a28500c4f8 by bapt
pci_vendors: update to 2024.06.23

(cherry picked from commit b9d1249b5b686dad0346e7d211693456c64049ec)
The file was modifiedshare/misc/pci_vendors (diff)
Commit 9a3dee859da41669020654274b80b2d6aac7091c by bapt
usb_vendors: update to 2024.07.04

(cherry picked from commit 3cd90cb66d96b7604b8c5fde6f061e68eddbfc82)
The file was modifiedshare/misc/usb_vendors (diff)
Commit 9e8d504bb5a1e7ede55814069e213d4702172b81 by olce
pam_xdg: Fix user xdg runtime directory's descriptor leak

Approved by:    emaste (mentor)
Fixes:          6e69612d5df1 ("pam: Add pam_xdg module")
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 06986e899972ac3a127ab2ab46196672d0e1e5b2)

Approved by:    emaste (mentor)
The file was modifiedlib/libpam/modules/pam_xdg/pam_xdg.c (diff)
Commit 4a81e501337cf160d56af2d638f080983e520654 by emaste
bhyve: avoid updating fbaddr when vm_mmap_memseg fails

In the function pci_fbuf_baraddr the field sc->fbaddr was set with a
user-controlled value, even though the call to vm_mmap_memseg failed.

No security risk as currently sc->fbaddr is not really used in the
source code.

Reported by:    Synacktiv
Reviewed by: emaste
Sponsored by:   Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D46109

(cherry picked from commit 85707cfdaddc179af8bd2623091eb1b8c58fed4a)
The file was modifiedusr.sbin/bhyve/pci_fbuf.c (diff)
Commit 1c8d1f51302e1c6a177240936384245da3b859f7 by markj
turnstile: Mention the lock name when panicking due to a sleeping thread

This will hopefully make it a bit easier to track down the cause of such
panics.

MFC after: 2 weeks

(cherry picked from commit aea9dba46b81abc5c0fd4c42d3ac762d3bc1de37)
The file was modifiedsys/kern/subr_turnstile.c (diff)
Commit 12a9d85c716c63742f320e1df1f4057459e67b05 by markj
build.7: Document the packages target

Reviewed by: manu, emaste
MFC after: 1 week
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D46286

(cherry picked from commit 1d26746cfd4a19e9d641ecd2a21e764743a7bc03)
The file was modifiedshare/man/man7/build.7 (diff)
Commit 8ae58e0edbfb4c56125fb6d7468ebfea638847b9 by markj
netinet: Add a sysctl to allow disabling connections to INADDR_ANY

See the discussion in Bugzilla PR 280705 for context.

PR: 280705
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D46259

(cherry picked from commit 417b35a97b7669eb0bf417b43e97cccbedbce6f9)
The file was modifiedsys/netinet/in_pcb.c (diff)
The file was modifiedsys/netinet6/in6_pcb.c (diff)
Commit 1e8b00a1cbc801d0961482e81f9fc13d32d71e71 by markj
libgeom: Avoid fixed remappings of the devstat device

libgeom maintains a quasi-private mapping of /dev/devstat, which might
grow over time if new devices appear.  When the mapping needs to be
expanded, the old mapping is passed as a hint, but this appears to be
unnecessary.

Simplify and improve things a bit:
- stop passing a hint when remapping,
- don't creat a mapping in geom_stats_open(), as geom_stats_resync() will
  create it for us,
- check for errors from munmap().

Reviewed by: imp, asomers
Tested by: asomers
MFC after: 2 weeks
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D46294

(cherry picked from commit d06fe346eccf0919a29d43599548e49c0d6a7a17)
The file was modifiedlib/libgeom/geom_stats.c (diff)
Commit e6c6f46dd5ea100f291b49d9d580283d127d54db by markj
pkgbase: Avoid hard-coding the package prefix in generate-ucl.sh

MFC after: 1 week
Sponsored by: Innovate UK

(cherry picked from commit b4dd5ff5f4f159a566c64e3348e67c33b80f2bbf)
The file was modifiedrelease/packages/generate-ucl.sh (diff)
Commit 20bef7f7c2e249a073a22677785b1c51a5ce36c2 by markj
socket: Split up soreceive_stream()

Factor out the bits that run with the sock I/O lock held into a separate
function.  No functional change intended.

Reviewed by: gallatin, glebius
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D46303

(cherry picked from commit aa141adc039a5418d7b7800094115d861baf91a0)
The file was modifiedsys/sys/socketvar.h (diff)
The file was modifiedsys/kern/uipc_socket.c (diff)
Commit 0480918c09042ce6a71733a53a562152af035564 by markj
socket: Split up soreceive_generic()

Factor out the bits that run with the sock I/O lock held into a separate
function.  No functional change intended.

Reviewed by: gallatin, glebius
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D46304

(cherry picked from commit 0a68f644dca19670686007071479f919a56ea37f)
The file was modifiedsys/kern/uipc_socket.c (diff)
Commit 2537245ecd0188c0db1fd36565e1175a177637c3 by markj
socket: Split up sosend_generic()

Factor out the bits that run with the sock I/O lock held into a separate
function.  In this implementation, we are doing a bit more work under
the I/O lock than before.  However, lock contention is only a problem
when multiple threads are transmitting on the same socket, which is an
unusual case that is not expected to perform well in any case.

No functional change intended.

Reviewed by: gallatin, glebius
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Stormshield
Differential Revision: https://reviews.freebsd.org/D46305

(cherry picked from commit fb901935f257ddcc492fe9efb605797f181c6597)
The file was modifiedsys/kern/uipc_socket.c (diff)
Commit 441fc34c6f01ffe72278f3ba696a3ec06924743d by markj
socket: Microoptimize soreceive_stream_locked()

There is no need to hold the sockbuf lock while checking uio_resid.
No functional change intended.

MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Stormshield

(cherry picked from commit 6982be38cb7e4254ff4ffbb334cd7e234b5f6cc2)
The file was modifiedsys/kern/uipc_socket.c (diff)
Commit 1c8e1e50f0097d202f42d0fc3b2080d09ac9ae92 by markj
socket: Set lock flags properly

Fixes: fb901935f257 ("socket: Split up sosend_generic()")
Reported by: cy
Sponsored by: Klara, Inc.
Sponsored by: Stormshield

(cherry picked from commit 66aed7e3488aa60195abcf846da5e04aa82fb1bf)
The file was modifiedsys/kern/uipc_socket.c (diff)
Commit 00f60781122a12fd4997630c91e0a638e24ae20c by markj
fusefs: Fix warning formatting

Reviewed by: asomers
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D46456

(cherry picked from commit 705008fbfdbeff147fe624ae506f3781b5ba10bf)
The file was modifiedsys/fs/fuse/fuse_internal.c (diff)
Commit e0fd6004ef0edee3d858564271bcea3eb70145d1 by se
vendor/bc: upgrade to version 7.0.0

This is a production release to fix three bugs, none of which
affects well formed scripts on FreeBSD:

The first bug is that bc/dc will exit on macOS when the terminal
is resized.

The second bug is that an array, which should only be a function
parameter, was accepted as part of larger expressions.

The third bug is that the value stack for dc was cleared on any error.
However, this is not how other dc behave. To bring dc more in line
with other implementations, this behavior was changed. This change is
why this version is a new major version.

(cherry picked from commit 54d20d67e2af28d948ce2df13feb039fa10900fc)

MFC after: 3 days

(cherry picked from commit 12e0d316644a4f80f5f1f78cf07bd93def43b1ca)
The file was modifiedcontrib/bc/include/dc.h (diff)
The file was modifiedcontrib/bc/manuals/dc/EN.1.md (diff)
The file was modifiedcontrib/bc/src/dc.c (diff)
The file was modifiedcontrib/bc/src/num.c (diff)
The file was modifiedcontrib/bc/include/vm.h (diff)
The file was modifiedcontrib/bc/manuals/dc/HN.1.md (diff)
The file was modifiedcontrib/bc/include/status.h (diff)
The file was modifiedcontrib/bc/src/lex.c (diff)
The file was modifiedcontrib/bc/manuals/dc/H.1 (diff)
The file was addedcontrib/bc/tests/bc/errors/38.txt
The file was modifiedcontrib/bc/vs/bc.vcxproj (diff)
The file was modifiedcontrib/bc/include/bc.h (diff)
The file was modifiedcontrib/bc/manuals/dc/E.1 (diff)
The file was modifiedcontrib/bc/src/bc_parse.c (diff)
The file was modifiedcontrib/bc/manuals/dc/N.1 (diff)
The file was modifiedcontrib/bc/src/bc.c (diff)
The file was modifiedcontrib/bc/src/program.c (diff)
The file was modifiedcontrib/bc/src/bc_lex.c (diff)
The file was addedcontrib/bc/include/ossfuzz.h
The file was modifiedcontrib/bc/manuals/dc/EHN.1.md (diff)
The file was modifiedcontrib/bc/src/main.c (diff)
The file was modifiedcontrib/bc/manuals/dc/EN.1 (diff)
The file was modifiedcontrib/bc/src/dc_lex.c (diff)
The file was modifiedcontrib/bc/src/opt.c (diff)
The file was modifiedcontrib/bc/include/args.h (diff)
The file was modifiedcontrib/bc/src/data.c (diff)
The file was modifiedcontrib/bc/include/opt.h (diff)
The file was modifiedcontrib/bc/include/version.h (diff)
The file was modifiedcontrib/bc/manuals/dc/A.1.md (diff)
The file was modifiedcontrib/bc/NEWS.md (diff)
The file was modifiedcontrib/bc/manuals/dc/EH.1 (diff)
The file was addedcontrib/bc/tests/bc/errors/37.txt
The file was addedinclude/ossfuzz.h
The file was modifiedcontrib/bc/configure.sh (diff)
The file was modifiedcontrib/bc/manuals/dc/H.1.md (diff)
The file was modifiedcontrib/bc/Makefile.in (diff)
The file was modifiedcontrib/bc/src/vm.c (diff)
The file was addedcontrib/bc/src/dc_fuzzer.c
The file was modifiedcontrib/bc/src/history.c (diff)
The file was modifiedcontrib/bc/manuals/dc/HN.1 (diff)
The file was modifiedcontrib/bc/src/lang.c (diff)
The file was addedcontrib/bc/src/bc_fuzzer.c
The file was modifiedcontrib/bc/manuals/dc/A.1 (diff)
The file was modifiedcontrib/bc/manuals/dc/EH.1.md (diff)
The file was modifiedcontrib/bc/src/args.c (diff)
The file was modifiedcontrib/bc/manuals/dc/N.1.md (diff)
The file was modifiedcontrib/bc/manuals/dc/E.1.md (diff)
The file was modifiedcontrib/bc/compile_flags.txt (diff)
The file was modifiedcontrib/bc/manuals/dc/EHN.1 (diff)
The file was addedcontrib/bc/scripts/os.c
Commit 06bb8e1dab004ccb283f7a20fe84aa1326baf6b7 by se
contrib/bc: fix build with GCC

Building with GCC failed with the following error message:

error: to be safe all intermediate pointers in cast from 'char **'
to 'const char **' must be 'const' qualified [-Werror=cast-qual]

This was caused by main() being declared with "char *argv[]" as the
3rd parameter, but argv later being passed cast to "const char**":

113 |     if (BC_IS_BC) s = bc_main(argc, (const char**) argv);
    |                                      ^

This is fixed by declaring the 3rd parameter of main() as "const
char *argv[]".

Reported by: CI
MFC after: 3 days

(cherry picked from commit ef5752762ba9ec54d5c02023167d24bcdbb45fd7)

vendor/bc: upgrade to version 7.0.1

This update fixes building bc on FreeBSD with non-default compilers
(GCC-12, GCC-13). GCC warned about casting argv from non-const to const
and since warnings are treated as errors, the build failed.

(cherry picked from commit 1e19146fc7692f59e8dfc5da7957e938cd0b81b8)
(cherry picked from commit 5b0dc991093c82824f6fe566af947f64f5072264)
The file was modifiedcontrib/bc/NEWS.md (diff)
The file was modifiedcontrib/bc/src/main.c (diff)
The file was modifiedcontrib/bc/include/version.h (diff)
Commit 5946b0c6cbc77e6c5f62f5f7e635c6036e14f4d0 by gordon
openssl: Avoid type errors in EAI-related name check logic.

The incorrectly typed data is read only, used in a compare operation, so
neither remote code execution, nor memory content disclosure were possible.
However, applications performing certificate name checks were vulnerable to
denial of service.

The GENERAL_TYPE data type is a union, and we must take care to access the
correct member, based on `gen->type`, not all the member fields have the same
structure, and a segfault is possible if the wrong member field is read.

The code in question was lightly refactored with the intent to make it more
obviously correct.

Security: CVE-2024-6119
Obtained from: OpenSSL Project

(cherry picked from commit 1486960d6cdb052e4fc0109a56a0597b4e902ba1)
The file was modifiedcrypto/openssl/crypto/x509/v3_utl.c (diff)
The file was addedcrypto/openssl/test/recipes/25-test_eai_data/kdc-cert.pem
The file was addedcrypto/openssl/test/recipes/25-test_eai_data/kdc-root-cert.pem
The file was modifiedcrypto/openssl/test/recipes/25-test_eai_data.t (diff)
The file was addedcrypto/openssl/test/recipes/25-test_eai_data/kdc.sh
Commit 898f6d26deb8408252444d48bf210cb90cb993de by imp
loader.efi.8: Remove rogue duplicated lines

Fixes: 871911a4ab73 ("loader.efi(8): beef up the updating the ESP")
MFC after: 1 week

(cherry picked from commit 18f7683e0d6ee6858865d8b0c2d7e2c14abf0bc4)
The file was modifiedstand/man/loader.efi.8 (diff)
Commit 34f40baca6413a85e2531d21a616f1b2042c08cd by kbowling
x86: Detect NVMM hypervisor

(cherry picked from commit f622dc5daecc5c05504cfc605b6f2d66a3bd90e8)
The file was modifiedsys/kern/subr_param.c (diff)
The file was modifiedsys/x86/x86/identcpu.c (diff)
The file was modifiedsys/sys/systm.h (diff)
Commit cfd744a6635f2245041fd5980881899ea89cec68 by kp
pfctl tests: fix dependency

Ensure that we rebuild the test binary when we add tests (i.e. modify
pfctl_test_list.inc).

MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 250e074e5f609194e0e4cd0775d99b0a616bfcf3)
The file was modifiedsbin/pfctl/tests/Makefile (diff)
Commit 0121a4baaca09049d130d830aa9179e3cb9c9e88 by kp
pf: improve the ICMPv6 direction check

Following bluhm's advice this changes the way we setup state keys and
perform state lookups for ICMPv6 Neighbor Discovery packets:
  - replace the NS-dst with ND target address;
  - replace the NA-src with ND target address;
  - replace the NA-dst with unspecified address if it is a multicast.

This allows pf to match Address Resolution, Neighbor Unreachability
Detection and Duplicate Address Detection packets to the corresponding
states without the need to create new ones or match unrelated ones.
As a side effect we're doing now one state table lookup for ND packets
instead of two.

Fixes a bug uncovered by one of the previous commits that virtually
breaks IPv6 connectivity after few minutes of use.

ok stsp henning, with and ok bluhm

PR: 280701
MFC after: 1 week
Obtained from: OpenBSD, mikeb <mikeb@openbsd.org>, 2633ae8c4c8a
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 5ab1e5f7e5585558a73b723f07528977a82cee82)
The file was modifiedsys/netpfil/pf/pf_lb.c (diff)
The file was modifiedsys/netpfil/pf/pf.c (diff)
The file was modifiedsys/net/pfvar.h (diff)
Commit 4909bd69ddef66b9304acb4998c4d82277a2bfb5 by kp
pf tests: ensure that neighbour discovery works as expected

Also check repeated calls.

MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit d154dc21130b607d7903f276dd6d463b990f33f7)
The file was modifiedtests/sys/netpfil/pf/icmp6.sh (diff)
Commit f40b0e735177b25ce67fb488a93834168f4c16e1 by kp
pf: try to lookup the icmp state based on a correct packet descriptor

MFC after: 1 week
Obtained from: OpenBSD, mikeb <mikeb@openbsd.org>, e467ea25dcd3
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit b8cd169efa6ac0899b4998898129765ae5c685a6)
The file was modifiedsys/netpfil/pf/pf.c (diff)
Commit b822e3fab468ffbe941d0758d960e1aa46069a38 by kp
pf: be less strict about icmp state checking for sloppy state tracking

Sloppy state tracking renders ICMP direction check useless
and harmful as we might see only half of the connection in
the asymmetric setups but ignore the state match.  The bug
was reported and fix was verified by Insan Praja <insan ()
ims-solusi ! com>.  Thanks!  OK mcbride, henning

MFC after: 1 week
Obtained from: OpenBSD, mikeb <mikeb@openbsd.org>, 538596657140
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 3da3eb6081a2e2f6ea2fed1728d5dd7f9e8786e5)
The file was modifiedsys/netpfil/pf/pf.c (diff)
Commit 38f74de7184ac3ad7acc48055551aaa9ec9cded9 by kp
pf: rework pf_icmp_state_lookup() failure mode

If pf_icmp_state_lookup() finds a state but rejects it for not matching the
expected direction we should unlock the state (and NULL out *state). This
simplifies life for callers, and also ensures there's no confusion about what a
non-NULL returned state means.

Previously it could have been left in there by the caller, resulting in callers
unlocking the same state twice.

MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 0578fe492284ded4745167060be794032e6e22f0)
The file was modifiedsys/net/pfvar.h (diff)
The file was modifiedsys/netpfil/pf/pf.c (diff)
Commit 371af89975e3edd1e9f57aa5efba2598b63c0d2d by oshogbo
libnv: allocate buffer in a safe way

Ensure that the calculation of size of array doesn't
overflow.

Security: FreeBSD-24:09.libnv
Security: CVE-2024-45287
Security: CAP-02
Reported by: Synacktiv
Reported by: Taylor R Campbell (NetBSD)
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46131

(cherry picked from commit 36fa90dbde0060aacb5677d0b113ee168e839071)
The file was modifiedsys/contrib/libnv/bsd_nvpair.c (diff)
The file was modifiedsys/contrib/libnv/nvlist.c (diff)
Commit 9c2ef102166eaab4c2531eb0ce6ffb20b82e778a by oshogbo
libnv: verify that string is null terminated

During unpacking, we ensure that we do not read beyond the
declared size. However, unpack uses a function that copies
null-terminated strings. Prior to this commit, if the last string
was not null-terminated, it could result in copying data into a
buffer smaller than the allocated size.

Security:       FreeBSD-24:09.libnv
Security:       CVE-2024-45288
Security:       CAP-03
Reported by:    Synacktiv
Sponsored by:   The Alpha-Omega Project
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D46138

(cherry picked from commit 3aaaca1b51ad844ef9e9b3d945217ab3dd189bae)
The file was modifiedsys/contrib/libnv/bsd_nvpair.c (diff)
Commit 6ce4821f0859eb00e1754917e1471184755b6358 by emaste
bhyve: fix Out-Of-Bounds read/write heap in tpm_ppi_mem_handler

The function tpm_ppi_mem_handler is vulnerable to buffer over-read and
over-write, the MMIO handler serves the heap allocated structure
tpm_ppi_qemu.
The issue is that the structure size is smaller than 0x1000 and the
handler does not validate the offset and size (sizeof is 0x15A while the
handler allows up to 0x1000 bytes)

Reported by: Synacktiv
Reviewed by: corvink
Security: FreeBSD-SA-24:10.bhyve
Security: CVE-2024-41928
Security: HYP-01
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45980

(cherry picked from commit a06fc21e770a482c8915411ebc98c870e42dd29b)
The file was modifiedusr.sbin/bhyve/tpm_ppi_qemu.c (diff)
Commit 90af1336ed5e3c8556147325c4841c68639c4b63 by emaste
bhyve: fix off by one error in pci_xhci

The function pci_xhci_find_stream validates that the streamid is valid
but the bound check accepts up to ep_MaxPStreams included.

The bug results in an out-of-bounds write on the heap with controlled
data.

Reported by: Synacktiv
Reviewed by: jhb
Security: FreeBSD-SA-24:12.bhyve
Security: CVE-2024-32668
Security: HYP-04
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45994

(cherry picked from commit 5c9308a4130858598c76f3ae6e3e3dfb41ccfe68)
The file was modifiedusr.sbin/bhyve/pci_xhci.c (diff)
Commit 29937d7a1a0a3061c6ae12b5b35cc32b03829501 by emaste
ctl: fix Use-After-Free in ctl_write_buffer

The virtio_scsi device allows a guest VM to directly send SCSI commands
to the kernel driver exposed on /dev/cam/ctl. This setup makes the
vulnerability directly accessible from VMs through the pci_virtio_scsi
bhyve device.

The function ctl_write_buffer sets the CTL_FLAG_ALLOCATED flag, causing
the kern_data_ptr to be freed when the command finishes processing.
However, the buffer is still stored in lun->write_buffer, leading to a
Use-After-Free vulnerability.

Since the buffer needs to persist indefinitely, so it can be accessed by
READ BUFFER, do not set CTL_FLAG_ALLOCATED.

Reported by: Synacktiv
Reviewed by: Pierre Pronchery <pierre@freebsdfoundation.org>
Reviewed by: jhb
Security: FreeBSD-SA-24:11.ctl
Security: CVE-2024-45063
Security: HYP-03
Sponsored by: Axcient
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46424

(cherry picked from commit 670b582db6cb827a8760df942ed8af0020a0b4d0)
The file was modifiedsys/cam/ctl/ctl.c (diff)
The file was modifiedsys/cam/ctl/ctl_private.h (diff)
Commit cdfdb3b0086268cdc365174ebfb69e66b5dde0b5 by emaste
ctl: fix memory disclosure in read/write buffer commands

The functions ctl_write_buffer() and ctl_read_buffer() are vulnerable to
a kernel memory disclosure caused by an uninitialized kernel allocation.
If one of these functions is called for the first time for a given LUN, a
kernel allocation is performed without the M_ZERO flag. Then a call to
ctl_read_buffer() returns the content of this allocation, which may
contain kernel data.

Reported by: Synacktiv
Reviewed by: asomers
Reviewed by: jhb
Security: FreeBSD-SA-24:11.ctl
Security: CVE-2024-8178
Security: HYP-05
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45952

(cherry picked from commit ea44766b78d639d3a89afd5302ec6feffaade813)
The file was modifiedsys/cam/ctl/ctl.c (diff)
Commit 803e0c2ab29bb6b715c38e82da4930d46590e8e0 by emaste
ctl: fix Out-Of-Bounds access in ctl_report_supported_opcodes

This vulnerability is directly accessible to a guest VM through the
pci_virtio_scsi bhyve device.

In the function ctl_report_supported_opcodes() accessible from the VM,
the option RSO_OPTIONS_OC_ASA does not check the requested
service_action value before accessing &ctl_cmd_table[].

Reported by: Synacktiv
Reviewed by: asomers
Security: FreeBSD-SA-24:11.ctl
Security: CVE-2024-42416
Security: HYP-06
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46027

(cherry picked from commit af438acbfde3d25dbdc82b2b3d72380f0191e9d9)
The file was modifiedsys/cam/ctl/ctl.c (diff)
Commit e9329a869c8137b955b2b3487ac0dadabf540bda by emaste
ctl: add some ATF tests for READ BUFFER

Reviewed by: Pierre Pronchery <pierre@freebsdfoundation.org>
Reviewed by: jhb
MFC after: 2 weeks
Sponsored by: Axcient

(cherry picked from commit 60d717baf2144cf344ec9b47d715ce837b5d46d4)
The file was modifiedtests/sys/Makefile (diff)
The file was modifiedetc/mtree/BSD.tests.dist (diff)
The file was addedtests/sys/cam/Makefile
The file was addedtests/sys/cam/ctl/read_buffer.sh
The file was addedtests/sys/cam/ctl/Makefile
Commit 2d4511bb81ed70d84ba6ed2ffb54e6a138653a63 by emaste
umtx: shm: Collapse USHMF_REG_LINKED and USHMF_OBJ_LINKED flags

...into the only USHMF_LINKED, as they are always set or unset together.

This is both to stop giving the impression that they can be set/unset
independently, which they can't with the current code, and to make it
clearer that an upcoming reference counting fix is correct.

Reviewed by:    kib
Approved by:    emaste (mentor)
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D46126

(cherry picked from commit dd83da532c36830a0c0aac624903849262ec6f68)
The file was modifiedsys/kern/kern_umtx.c (diff)
Commit be7dc4613909e528e8b4ea8aaa3ae3aa62bec1ed by emaste
umtx: shm: Fix use-after-free due to multiple drops of the registry reference

umtx_shm_unref_reg_locked() would unconditionally drop the "registry"
reference, tied to USHMF_LINKED.

This is not a problem for caller umtx_shm_object_terminated(), which
operates under the 'umtx_shm_lock' lock end-to-end, but it is for
indirect caller umtx_shm(), which drops the lock between
umtx_shm_find_reg() and the call to umtx_shm_unref_reg(true) that
deregisters the umtx shared region (from 'umtx_shm_registry';
umtx_shm_find_reg() only finds registered shared mutexes).

Thus, two concurrent user-space callers of _umtx_op() with UMTX_OP_SHM
and flags UMTX_SHM_DESTROY, both progressing past umtx_shm_find_reg()
but before umtx_shm_unref_reg(true), would then decrease twice the
reference count for the single reference standing for the shared mutex's
registration.

Reported by:    Synacktiv
Reviewed by:    kib
Approved by:    emaste (mentor)
Security: FreeBSD-SA-24:14.umtx
Security: CVE-2024-43102
Security:       CAP-01
Sponsored by:   The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D46126

(cherry picked from commit 62f40433ab47ad4a9694a22a0313d57661502ca1)
The file was modifiedsys/kern/kern_umtx.c (diff)
Commit b20ae160872071fc20e5dde27051792177057fa5 by emaste
umtx: shm: Prevent reference counting overflow

This hardens against provoked use-after-free occurences should there be
reference counting leaks in the future (which is currently not the
case).

At the deepest level, umtx_shm_find_reg_unlocked() now returns EOVERFLOW
when it cannot grant an additional reference to the registry object, and
so will umtx_shm_find_reg().  umtx_shm_create_reg() will fail if calling
umtx_shm_find_reg() returns EOVERFLOW (meaning a SHM object for the
passed key already exists, but we can't acquire another reference on
it), avoiding the creation of a duplicate registry entry for a given key
(this wouldn't pose problem for the rest of the code in its current
form, but is expressly avoided for intelligibility and hardening
purposes).

Since umtx_shm_find_reg*(), and consequently the whole _umtx_op() system
call, can only return EOVERFLOW on such a bug manifesting, we don't
document that return value.

Reviewed by:    kib, emaste
Approved by:    emaste (mentor)
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D46126

(cherry picked from commit c3e6dfe55c0e81d0717b0458bc95128384c3ebe8)
The file was modifiedsys/kern/kern_umtx.c (diff)
Commit 4938f554469bc81783998143968ec3eba2a43def by emaste
umtx: shm: 'ushm_refcnt > 0' => 'ushm_refcnt != 0'

'ushm_refcnt' is unsigned.  Don't leave the impression it isn't.

No functional change (intended).

Reviewed by:    kib
Approved by:    emaste (mentor)
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D46126

(cherry picked from commit c75a18905e308f69b01f19c3d7d613883a008e79)
The file was modifiedsys/kern/kern_umtx.c (diff)
Commit 1e999a3ae1aceaaf84add14461243afe8ff45e39 by markj
atomic: Avoid casting the return value of atomic_load_ptr to void *

Otherwise a cast is needed to load a uintptr_t value.

Fixes: e1f4d623779d ("rangelocks: remove unneeded cast of the atomic_load_ptr() result")
MFC after: 1 week

(cherry picked from commit c7a7e997d25d0b33769252d002b16839c864c83d)
The file was modifiedsys/sys/atomic_san.h (diff)
Commit f3e22a08ca690bf3a80688641b9705aa2e1cb15c by markj
atomic: Fix the cast in the atomic_load_consume() interceptor

As in commit c7a7e997d25d0, we should permit loading from a pointer to
uintptr_t.

Note that the other atomic_*_ptr() interfaces currently require casting
regardless, only those defined in atomic_common.h try to be generic.

Reported by: jrtc27
MFC after: 1 week

(cherry picked from commit cb91dc50950ffdfd49337e844e231b69b8b5c634)
The file was modifiedsys/sys/atomic_san.h (diff)
Commit 57e0d4b9a609cc2fe267489a3fe46857035ed3ae by markj
agp: Set the driver-specific field correctly

PR: 281035
Reviewed by: mhorne
MFC after: 1 week
Fixes: 437ea82ce7fc ("agp: Handle multiple devices more gracefully")

(cherry picked from commit 12500c14281dc62ddeac4c5e1e6eabd1e380f11c)
The file was modifiedsys/dev/agp/agp.c (diff)
Commit ab7a79806e3103accb1ba2d89ba51e977704a2e3 by gahr
libfetch: don't include fragments in HTTP requests

Fragments are reserved for client-side processing, see
https://www.rfc-editor.org/rfc/rfc9110.html#section-7.1

Also, some servers don't like to receive HTTP requests with fragments.

```
$ fetch 'https://dropbox.com/a/b'
fetch: https://dropbox.com/a/b: Not Found

$ fetch 'https://dropbox.com/a/b#'
fetch: https://dropbox.com/a/b#: Bad Request
```

This is a real-world scenario, where some download link from dropbox
(eventually) redirects to an URL with a fragment:

```
$ fetch -v 'https://www.dropbox.com/sh/<some>/<thing>?dl=1' 2>&1 | grep requesting
requesting https://www.dropbox.com/sh/<some>/<thing>?dl=1
requesting https://www.dropbox.com/scl/fo/<foo>/<bar>?rlkey=<baz>&dl=1
requesting https://<boo>.dl.dropboxusercontent.com/zip_download_get/<some-long-strig>#
```

See how the last redirect ends with a `#`.

Currently, libfetch includes the ending fragment and makes it impossible
to download the file.

Differential Revision: https://reviews.freebsd.org/D46318
MFC after: 2 weeks

(cherry picked from commit 1af7d5f389536a2f391153513d95d92ffdf360e4)
The file was modifiedlib/libfetch/fetch.c (diff)
Commit 82fd9219755dac73e51289493e1f024b32bbb2cd by emaste
sys: Mark ACL conversion routines as __result_use_check

Both acl_copy_oldacl_into_acl() and acl_copy_acl_into_oldacl() may fail
in some circumstances (e.g., acl.acl_cnt exceeding the capacity of
OLDACL_MAX_ENTRIES).  This change marks both routines with
__result_use_check, enforcing check for errors by the caller.

Suggested by: markj
Reviewed by: markj, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46254

(cherry picked from commit ef9fc9609a1ff53047577aa7cf51246fc04c954b)
The file was modifiedsys/sys/acl.h (diff)
Commit 7da246dc4ffeba38ad723a1cb72a19511292c840 by emaste
beep: show error upon failure to open sound device

If beep cannot open /dev/dsp provide more information to aid the user
in diagnosing a problem.

Reviewed by: christos
Sponsored by: The FreeBSD Foundation

(cherry picked from commit 83325e7b738ce87d88553585b135b0e7d15997a6)
The file was modifiedusr.bin/beep/beep.c (diff)
Commit e998c9f1bb39301a3408a47004ee6747698a9c8d by emaste
bsd.symver.mk: pass $CFLAGS to $CPP invocation

This allows us to support symbols optionally available based on
configuration, not just on compiler built-in #defines.

Reviewed by: brooks, jrtc27
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45346

(cherry picked from commit aa0bc761d245d2ea1e4b7a0343715cc76859d5da)
The file was modifiedshare/mk/bsd.symver.mk (diff)
Commit 14a2be2b3db17cbd86a584d5a3378baa7e966bd0 by emaste
stand: bump arbitrary build date to 2024-01-01

For build reproducibility we set PE headers to an arbitrary timestamp.
Nothing in FreeBSD uses this timestamp, but bump it from 2016 to 2024 so
that the timestamp does not seem "too old" in case some third party tool
is used to inspect EFI boot components.

Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46527

(cherry picked from commit 1b9cfd6a625dc82611846cb9a53c1886f7af3758)
The file was modifiedstand/efi/Makefile.inc (diff)
Commit 6f242c69b6049f4c319c1948da99472a53500c3f by jrtc27
arm/mpic: remove empty pic_init_secondary() hook

The default hook does nothing, so having an empty handler is pointless.
Simple cleanup.

Reviewed by: markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D40475

(cherry picked from commit a8b2189c90c52e43e27614b2cca6b753a70da0ca)
The file was modifiedsys/arm/mv/mpic.c (diff)
Commit a73592e0d013275bd97d09d9cf168279688f7238 by jrtc27
intrng: Remove irq_root_ipicount and corresponding intr_pic_claim_root arg

The static irq_root_ipicount variable is only ever written to (with the
value passed to irq_root_ipicount), never read. Moreover, the bcm2836
driver, as used by the Raspberry Pi 2B and 3A/B (but not 4, which uses a
GIC-400, though does have the legacy interrupt controller present too)
passes 0 as ipicount, despite implementing IPIs. It's thus inaccurate
and serves no purpose, so should be removed.

Reviewed by: mmel, imp, mhorne
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D35897

(cherry picked from commit e06afdb2856944d6db4e33d4bbe0e2dbbd057eb4)
The file was modifiedsys/sys/intr.h (diff)
The file was modifiedsys/riscv/riscv/plic.c (diff)
The file was modifiedsys/arm/allwinner/a10/a10_intc.c (diff)
The file was modifiedsys/arm/arm/gic_acpi.c (diff)
The file was modifiedsys/arm64/arm64/gic_v3_acpi.c (diff)
The file was modifiedsys/arm/broadcom/bcm2835/bcm2835_intr.c (diff)
The file was modifiedsys/arm64/arm64/gic_v3_fdt.c (diff)
The file was modifiedsys/arm/arm/gic_fdt.c (diff)
The file was modifiedsys/arm/ti/aintc.c (diff)
The file was modifiedsys/arm/broadcom/bcm2835/bcm2836.c (diff)
The file was modifiedsys/kern/subr_intr.c (diff)
Commit 5e822432f03014c4fec03d6234886febf5fb5ce8 by jrtc27
intrng: Extract arm/arm64 IPI->PIC glue code

The arm and arm64 implementations of dispatching IPIs via PIC_IPI_SEND
are almost identical, and entirely MI with the lone exception of a
single store barrier on arm64 (that is likely either redundant or needed
on arm too). Thus, de-duplicate this code by moving it to INTRNG as a
generic IPI glue framework. The ipi_* functions remain declared in MD
smp.h headers and implemented in MD code, but are trivial wrappers
around intr_ipi_send that could be made MI, at least for INTRNG ports,
at a later date.

Note that, whilst both arm and arm64 had an ii_send member in intr_ipi
to abstract over how to send interrupts,, they were always ultimately
using PIC_IPI_SEND, and so this complexity has been removed. A follow-up
commit will re-introduce the same flexibility by instead allowing a
device other than the root PIC to be registered as the IPI sender.

As part of this, strengthen a MAXCPU assertion that was missed in commit
2f0b059eeafc ("intrng: switch from MAXCPU to mp_ncpus") (which itself is
mis-titled).

Reviewed by: mmel, mhorne
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D35898

(cherry picked from commit fae8755f16ff5b9bdc32df046e0f16c0cbb48a29)
The file was modifiedsys/sys/intr.h (diff)
The file was modifiedsys/arm64/include/intr.h (diff)
The file was modifiedsys/arm/arm/mp_machdep.c (diff)
The file was modifiedsys/arm/include/intr.h (diff)
The file was modifiedsys/arm64/arm64/mp_machdep.c (diff)
The file was modifiedsys/kern/subr_intr.c (diff)
The file was modifiedsys/arm/arm/machdep_intr.c (diff)
Commit 7604062517ec25ac0412f258b36f58774bd234ce by jrtc27
intrng: Allow alternative IPI PICs to be registered and used

On RISC-V, the root PIC (whether the PLIC or, as will be the case in
future, the local interrupt controller) cannot send IPIs, relying on
another means to trigger the necessary software interrupts (firmware
calls), but there are upcoming standard devices that will be able to
inject them, so we can't just put the firmware calls in the root PIC
driver.

Thus, split out a new intr_ipi_dev from intr_irq_root_dev to use for
sending IPIs. New devices can be registered with a given priority up
until the first IPI is set up, when the best device seen so far gets
frozen as the IPI device to use.

Reviewed by: mhorne
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D35899

(cherry picked from commit 103d39efe0c68cb2a808c306b14c3f473a02535d)
The file was modifiedsys/arm64/arm64/gic_v3_acpi.c (diff)
The file was modifiedsys/arm/arm/gic_acpi.c (diff)
The file was modifiedsys/arm64/arm64/gic_v3_fdt.c (diff)
The file was modifiedsys/arm/arm/gic_fdt.c (diff)
The file was modifiedsys/kern/subr_intr.c (diff)
The file was modifiedsys/arm/broadcom/bcm2835/bcm2836.c (diff)
The file was modifiedsys/sys/intr.h (diff)
Commit 601baffb0b54b8fe70ad1dd9fd923fe38d08337e by jrtc27
riscv: Create a newbus device for the SBI driver

This approach is based on the Arm PSCI driver, though that makes more
extensive use of its softc than we do here. This will be used to extract
the SBI IPI code as a real PIC.

Reviewed by: mhorne, imp
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D35900

(cherry picked from commit c55272fdf8570b4e15112009ad0066ed156f21a7)
The file was modifiedsys/riscv/include/sbi.h (diff)
The file was modifiedsys/riscv/riscv/sbi.c (diff)
Commit 5985c87b963064ba36146504e5265561e083205f by jrtc27
riscv: Convert local interrupt controller to a newbus PIC

Currently the local interrupt controller implementation is based on
pre-INTRNG arm/arm64 code, using hand-rolled event code rather than
INTRNG. This then interacts weirdly with the PLIC, and other future
interrupt controllers like the APLIC and IMSICs in the upcoming AIA
specification, since they become the root PIC despite not being the
logical root. Instead, use a real newbus device for it and register
it as the root PIC.

This also adapts the IPI code to make use of the newly-added INTRNG
generic IPI handling framework, adding a new sbi_ipi as the PIC. In
future there will be alternative devices for sending IPIs that will
register with higher priorities, such as the proposed AIA IMSIC and
ACLINT SSWI.

Reviewed by: mhorne
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D35901

(cherry picked from commit 6ec8bf9f3d17b712d657c42f74fba936dd284d04)
The file was modifiedsys/conf/files.riscv (diff)
The file was removedsys/riscv/riscv/intr_machdep.c
The file was modifiedsys/riscv/riscv/plic.c (diff)
The file was modifiedsys/riscv/riscv/sbi.c (diff)
The file was modifiedsys/riscv/riscv/mp_machdep.c (diff)
The file was modifiedsys/riscv/riscv/timer.c (diff)
The file was modifiedsys/riscv/riscv/riscv_console.c (diff)
The file was modifiedsys/riscv/include/smp.h (diff)
The file was modifiedsys/riscv/include/intr.h (diff)
The file was addedsys/riscv/riscv/intc.c
The file was addedsys/riscv/riscv/sbi_ipi.c
The file was modifiedsys/riscv/riscv/trap.c (diff)
Commit 9f224d3ec46ef822165df35990f96c6e7c6b67c8 by jrtc27
riscv: Remove the unused riscv64_cpu driver

This is a repeat of 63bf2d735ca3 ("Remove the unused arm64_cpu driver.")
for RISC-V, which copied the defunct code from arm64 with no changes
beyond substituting riscv64 for arm64, and made no use of it elsewhere.
It has thus always been entirely superfluous.

Reviewed by: mhorne
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D43672

(cherry picked from commit 722b40377198e384a808f9561ae7262767068ab2)
The file was modifiedsys/riscv/riscv/mp_machdep.c (diff)
Commit aaf4d3f3d1947531cc81f90ea5af522c719857ff by jrtc27
bsdinstall: Fix netconfig script when no interfaces are present

The script uses [ -z "$INTERFACES" ] to check if the list of interfaces
is empty and will exit early if so, but INTERFACES always contains at
least a space due to the way it appends the list of wireless devices.
Fix this by only adding the space when there are devices to append,
mirroring the behaviour for non-wireless devices above (both will result
in a redundant leading space when the list is non-empty, but that one is
harmless).

Fixes: 159ca5c844cd ("Adapt to new wireless scheme where base wlan interfaces do not show up in ifconfig anymore.")
MFC after: 1 week

(cherry picked from commit b809c7d6a26924ac351e49a15011da718cc3feec)
The file was modifiedusr.sbin/bsdinstall/scripts/netconfig (diff)
Commit 6368aa66f8a7c5f1ac322575e4ce4ee4d196b4d8 by jrtc27
bsdinstall: Drop Error from title in netconfig no interfaces dialog

This isn't inherently an error. It is if you're attempting to download
dist tarballs or later install packages, but a FreeBSD system with no
NIC is a reasonable setup to have, especially in a throwaway VM setting,
so we shouldn't say it is one.

Leaving the exit code as 1 is still fine, since auto will ignore it, and
avoids breaking other uses.

MFC after: 1 week

(cherry picked from commit 7414d14bd51d8378057bbe952c2715b9f32d1d3e)
The file was modifiedusr.sbin/bsdinstall/scripts/netconfig (diff)
Commit d861861462d2b9157a6b938c2b4832d6589264a0 by jrtc27
arm: Set NEW_PCIB in DEFAULTS rather than a subset of kernel configs

All other architectures set NEW_PCIB in DEFAULTS, with arm being the one
remaining straggler that only sets it for GENERIC and TEGRA124.
ARMADA38X and ARMADAXP contain device pci but don't set NEW_PCIB,
however GENERIC claims to support them and as part of that NEW_PCIB
support was added to mv_pci, so these configs are most likely just
stale. Other than NOTES that just leaves ALPINE as the one kernel with
PCI support not covered by GENERIC, but al_pci is supported by arm64
which enables NEW_PCIB, and it's just a generic_pcie_fdt_driver with
some fixup code to deal with quirks so should support PCI_RES_BUS just
fine. Therefore it is believed that all in-tree kernel configs support
NEW_PCIB in reality, and so let's take a step towards removing all the
non-NEW_PCIB code by having it always-on everywhere.

Reviewed by: emaste, jhb, manu
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D43806

(cherry picked from commit 121be555997b3d7727e50d15acabd0ffbf4a4247)
The file was modifiedsys/arm/conf/DEFAULTS (diff)
The file was modifiedsys/arm/conf/TEGRA124 (diff)
The file was modifiedsys/arm/conf/GENERIC (diff)
Commit 17c0e73b1d60c4544fad4667c8d45d588fe664cf by jrtc27
efibootmgr: Simplify make_next_boot_var_name and fix cnt == 0 case

If cnt == 0 we access element 0 unconditionally, which is out of bounds,
and then if that doesn't crash and happens to be 0 we will access
element - 1, also out of bounds, and then if that doesn't crash will add
1 to whatever junk is there and use that for the variable. On CHERI,
though, this does crash. This code is also overly complicated, with
unnecessary special cases and tracking more state than needed.

Rewrite it in a more general manner that doesn't need those special
cases and naturally works for cnt == 0.

Found by: CHERI
Reviewed by: imp
Fixes: 1285bcc833a3 ("Import Netflix's efibootmgr to help manage UEFI boot variables")
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D44029

(cherry picked from commit 09cb8031b43c8e98abb5ff9b43ff649031d1e808)
The file was modifiedusr.sbin/efibootmgr/efibootmgr.c (diff)
Commit 10e602164f0281d5f5dfea9ebf2b29fba4a716bc by jrtc27
ee: Fix use of uninitialised pointer in ispell_op

This used to be name = mktemp followed by fd = open downstream,
replacing upstream's crude PID-based sprintf, but in 1.4.7 this was
changed upstream to this buggy code, which we then picked up in the
1.5.0 import. Presumably nobody's actually used ee's ispell function
in the past 15 years; that or it's just ended up using junk file names
as temporary files if name's happened to be a valid address to something
that can be interpreted as a string.

Reported by: Dapeng Gao <dapeng.gao@cl.cam.ac.uk>
Fixes: 96b676e99984 ("Update ee(1) in the base system to version 1.5.0.")
MFC after: 1 week

(cherry picked from commit 25a33bfe9ce2b55812201f475e9d3e64009b40dc)
The file was modifiedcontrib/ee/ee.c (diff)
Commit ebdd179d759f29354a0998c0308721a551a08cac by jrtc27
Fix off-by-one bug in btpand

`ul` reaches `__arraycount(services)` before the bound-check happens, causing undefined behaviour.

Reviewed by: imp, jrtc27
Fixes: 7718ced0ea98 ("Add btpand(8) daemon from NetBSD.")
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45463

(cherry picked from commit fbfdf57d65bedfab28f9debc8a4a8d6802f9338a)
The file was modifiedusr.sbin/bluetooth/btpand/btpand.c (diff)
Commit fd45162d11392cb5081654f11b9285a04bbad67a by jrtc27
mx25l.4: Document the correct disk device path

This was true at time of commit, but the path was changed 2 weeks later
to just be the /dev/flash/spiN name, without updating the manpage.

Reported by: David Gilbert <dgilbert@daveg.ca>
Fixes: 68dd77957786 ("Give the mx25l device sole ownership of the name /dev/flash/spi* ...")
MFC after: 1 week

(cherry picked from commit 703768a23590d8faf65b0f16dd395248ff7273f6)
The file was modifiedshare/man/man4/mx25l.4 (diff)
Commit 0abe896f1921979d801daeebf1ae829678d3dd12 by jrtc27
beinstall: Pass -B to etcupdate

Since commit 246364454fc1 ("etcupdate: Use new buildetc and installetc
targets when available"), beinstall has been much slower for the
etcupdate step, as it's been doing a kernel-toolchain (admittedly
without LLVM itself being built). Given beinstall requires an object
tree to already have been built and just installs it, we can pass -B to
beinstall to reuse that tree rather than build kernel-toolchain in
another one.

Reported by: olivier
Tested by: olivier
MFC after: 1 week

(cherry picked from commit 18aef07cfac41fde763e1328366cc6e334bb9254)
The file was modifiedtools/build/beinstall.sh (diff)
Commit 11d7aa07eb31d94cd72044f5108b2335d46db44e by jrtc27
rc.d/devmatch: Silence sysctl hw.bus.devctl_nomatch_enabled=1

As with various other rc scripts, we don't want the output from this
being visible in the boot log.

Fixes: 6437872c1d66 ("New sysctl to disable NOMATCH until devmatch runs")
MFC after: 1 week

(cherry picked from commit 62775aebf725a79703592f3276118245a74afdac)
The file was modifiedlibexec/rc/rc.d/devmatch (diff)
Commit 8161eb6182a8d999e5b2ad2dde9310f8cb09c26e by jrtc27
tools/build/make.py: Add missing comma to fix tinderbox and worlds

The missing comma meant this was interpreted as a single target called
"tinderboxworlds", and so neither tinderbox nor worlds were recognised
as being MI targets (i.e. still required TARGET(_ARCH) to be given).

Fixes: 5157b451c654 ("tools/build/make.py: Grow the list of MI targets")

(cherry picked from commit edec803c5b72681b39ce969cc16d634e08bb3ac2)
The file was modifiedtools/build/make.py (diff)
Commit c3d7b96df0acd640a538c493ec03d5452fac216f by jrtc27
tools/build/make.py: Avoid Python 3.7+ subprocess.run capture_output

This is just a convenient alias for setting stdout and stderr to PIPE,
so substitute it for that to be compatible with Python 3.6.

Fixes: 69cfdc81ea7b ("tools/build/make.py: Keep bootstrapped bmake binary up-to-date")

(cherry picked from commit b771d5705fc95445d4d81e054be664b7842156ff)
The file was modifiedtools/build/make.py (diff)
Commit 4acf9ba16de3ed0e1157539fbb59b138a49ee77d by jrtc27
netinet: fix LINT-NOINET build failure

Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 3b62f3350017ab6722ebe8e4fccd9ba76acbb214)
The file was modifiedsys/netinet/in_pcb.c (diff)
Commit 9ae4c66bff6927dc6fcc855f1aa539a2115b21bd by jrtc27
fu740_pci_dw: Fix PERST delay and keep asserted for rest of reset sequence

DELAY takes microseconds not milliseconds, so 100 was too low. Moreover,
when enabling hw.pci.clear_pcib, PCI emeration would still stop at one
of the first bridges, but by asserting PERST for the rest of the reset
sequence that appears to be reliably addressed.

Fixes: 896e217a0eae ("fu740_pci_dw: Add SiFive FU740 PCIe controller driver")

(cherry picked from commit 28aaa58fa64ecb89d47f0a8396954ad8ca82d8ef)
The file was modifiedsys/riscv/sifive/fu740_pci_dw.c (diff)
Commit 3d8501d90e246602a6343a760f6ac8d9e2730306 by gordon
openssl: Remove fips module from base system.

To comply with FIPS 140 guidance, you must be using a specifically
validated and approved version of the fips module. Currently, only
OpenSSL 3.0.8 and 3.0.9 have been approved by NIST for FIPS 140
validation. As such, we need to stop shipping later versions of the
module in the base system.

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

(cherry picked from commit 86dd740dd73aa88477ff450b2359abda1ad68534)
The file was modifiedsecure/lib/libcrypto/modules/Makefile (diff)
The file was modifiedObsoleteFiles.inc (diff)
The file was removedsecure/lib/libcrypto/modules/fips/Makefile
Commit 0b683336b211e74b6d7f21ecf517c6591370b793 by kbowling
tpm: Register TPM as entropy source

TPM is defined as an entropy and is called every 10 seconds. However it
was not registered and calls were discarded.

Signed-off-by: Jean-François Hren <jean-francois.hren@stormshield.eu>

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

(cherry picked from commit d7c87526b1c3d32d3ac3fee8c59d92405b7621b9)
The file was modifiedsys/dev/tpm/tpm20.c (diff)
Commit 33c82f11c2674beb50304b14248ff46372def520 by dim
Improve accuracy of asinf(3) and acosf(3)

This uses a better rational approximation to improve the accuracy of
both functions. For exhaustive testing of asinf(3) in the interval, the
current libm gives:

    % ./tlibm asin -fPED -x 0x1p-12f -X 1
    Interval tested for asinf: [0.000244141,1]
           ulp <= 0.5:  97.916% 98564994 |  97.916% 98564994
    0.5 <  ulp <  0.6:  2.038% 2051023 |  99.953% 100616017
    0.6 <  ulp <  0.7:  0.047%   47254 | 100.000% 100663271
    0.7 <  ulp <  0.8:  0.000%      25 | 100.000% 100663296
    Max ulp: 0.729891 at 5.00732839e-01

which isn't too bad given that much of the computation is actually done
in double floating point.

With the new rational approximation, exhaustive testing yields:

    % ./tlibm asin -fPED -x 0x1p-12f -X 1
    Interval tested for asinf: [0.000244141,1]
           ulp <= 0.5:  99.711% 100372643 |  99.711% 100372643
    0.5 <  ulp <  0.6:  0.288%  290357 | 100.000% 100663000
    0.6 <  ulp <  0.7:  0.000%     296 | 100.000% 100663296
    Max ulp: 0.636344 at 5.09706438e-01

Similarly, for exhaustive testing of asinf(3) in the interval, the
current libm gives:

    % ./tlibm acos -fPED -x -1 -X -0x1p-12f
    Interval tested for acosf: [-1,-0.000244141]
           ulp <= 0.5:  97.008% 97651921 |  97.008% 97651921
    0.5 <  ulp <  0.6:   2.441%  2457242 |  99.450% 100109163
    0.6 <  ulp <  0.7:   0.472%   475503 |  99.922% 100584666
    0.7 <  ulp <  0.8:   0.071%    71309 |  99.993% 100655975
    0.8 <  ulp <  0.9:   0.007%     7319 | 100.000% 100663294
    0.9 <  ulp <  1.0:   0.000%        2 | 100.000% 100663296
    Max ulp: 0.914007 at -5.01484931e-01

    % ./tlibm acos -fPED -x 0x1p-12f -X 1
    Interval tested for acosf: [0.000244141,1]
           ulp <= 0.5:  97.317% 97962530 |  97.317% 97962530
    0.5 <  ulp <  0.6:   2.340%  2355182 |  99.657% 100317712
    0.6 <  ulp <  0.7:   0.314%   316134 |  99.971% 100633846
    0.7 <  ulp <  0.8:   0.029%    29450 | 100.000% 100663296
    Max ulp: 0.796035 at 4.99814630e-01

With the new rational approximation, exhaustive testing yields:

    % ./tlibm acos -fPED -x -1 -X -0x1p-12f
    Interval tested for acosf: [-1,-0.000244141]
           ulp <= 0.5:  97.010% 97653245 |  97.010% 97653245
    0.5 <  ulp <  0.6:   2.442%  2458373 |  99.452% 100111618
    0.6 <  ulp <  0.7:   0.473%   476012 |  99.925% 100587630
    0.7 <  ulp <  0.8:   0.068%    68603 |  99.993% 100656233
    0.8 <  ulp <  0.9:   0.007%     7063 | 100.000% 100663296
    Max ulp: 0.896189 at -5.04511118e-01

    % ./tlibm acos -fPED -x 0x1p-12f -X 1
    Interval tested for acosf: [0.000244141,1]
           ulp <= 0.5:  97.650% 98298175 |  97.650% 98298175
    0.5 <  ulp <  0.6:   2.028%  2041709 |  99.679% 100339884
    0.6 <  ulp <  0.7:   0.292%   293555 |  99.970% 100633439
    0.7 <  ulp <  0.8:   0.030%    29857 | 100.000% 100663296
    Max ulp: 0.775875 at 4.91849005e-01

PR: 281001
MFC after: 1 week

(cherry picked from commit 41e016289f77deb88b0ef1ec3f7b2ab3515ac7c8)
The file was modifiedlib/msun/src/e_acosf.c (diff)
The file was modifiedlib/msun/src/e_asinf.c (diff)
Commit cc32cfab5c0dc07d124fa6df942f76adbc15f8ef by dim
UPDATING: keep sorted by date.
The file was modifiedUPDATING (diff)
Commit 28ff3ab2ab064224cd1fc0885040c3c47ed5ef4d by dim
Add UPDATING note about running make delete-old after libc++ 18 upgrade

PR: 279692
MFC after: 3 days

(cherry picked from commit 157802238b5aa7722aff40317fe6d05f5c975d71)
The file was modifiedUPDATING (diff)
Commit 1dfb2690ccee42c6af6320a2eb10875ae1c4bb0d by dim
libcbor: Ignore errors for unknown #pragmas

libcbor embeds clang-specific #pragmas that GCC then warns about.

Reviewed by: emaste

(cherry picked from commit 6ca0468a2f23c82d6cdde2af1a42b62af3664766)
The file was modifiedlib/libcbor/Makefile (diff)
Commit 7eb0b02bc4eddee6c916ab6a01ec92e0b9dc867e by philip
contrib/tzdata: import tzdata 2024b

Changes: https://github.com/eggert/tz/blob/2024b/NEWS

(cherry picked from commit e273650f2c538034b45f78e670a89cbf333ab6db)
The file was modifiedcontrib/tzdata/version (diff)
The file was modifiedcontrib/tzdata/CONTRIBUTING (diff)
The file was modifiedcontrib/tzdata/Makefile (diff)
The file was modifiedcontrib/tzdata/southamerica (diff)
The file was modifiedcontrib/tzdata/theory.html (diff)
The file was modifiedcontrib/tzdata/checknow.awk (diff)
The file was modifiedcontrib/tzdata/etcetera (diff)
The file was modifiedcontrib/tzdata/zone.tab (diff)
The file was modifiedcontrib/tzdata/backward (diff)
The file was modifiedcontrib/tzdata/zonenow.tab (diff)
The file was modifiedcontrib/tzdata/europe (diff)
The file was modifiedcontrib/tzdata/leap-seconds.list (diff)
The file was modifiedcontrib/tzdata/ziguard.awk (diff)
The file was modifiedcontrib/tzdata/NEWS (diff)
The file was modifiedcontrib/tzdata/backzone (diff)
The file was modifiedcontrib/tzdata/leapseconds (diff)
The file was modifiedcontrib/tzdata/asia (diff)
The file was modifiedcontrib/tzdata/antarctica (diff)
The file was modifiedcontrib/tzdata/northamerica (diff)
The file was modifiedcontrib/tzdata/zone1970.tab (diff)
The file was modifiedcontrib/tzdata/africa (diff)
The file was modifiedcontrib/tzdata/australasia (diff)
Commit 508356c038759a9f38e372f1dc1402ef764cb723 by jrm
tcpdump: ppp: Use the buffer stack for the de-escaping buffer

This both saves the buffer for freeing later and saves the packet
pointer and snapend to be restored when packet processing is complete,
even if an exception is thrown with longjmp.

This means that the hex/ASCII printing in pretty_print_packet()
processes the packet data as captured or read from the savefile, rather
than as modified by the PPP printer, so that the bounds checking is
correct.

That fixes CVE-2024-2397, which was caused by an exception being thrown
by the hex/ASCII printer (which should only happen if those routines are
called by a packet printer, not if they're called for the -X/-x/-A
flag), which jumps back to the setjmp() that surrounds the packet
printer.  Hilarity^Winfinite looping ensues.

Also, restore ndo->ndo_packetp before calling the hex/ASCII printing
routine, in case nd_pop_all_packet_info() didn't restore it.

Reviewed by: emaste

(cherry picked from commit f8860353d4f4c25bacdae5bc1cfb7a95edc9bfe0)
The file was modifiedcontrib/tcpdump/print.c (diff)
The file was modifiedcontrib/tcpdump/print-ppp.c (diff)
Commit 9ebdfc41bd34c355152e554151c92e74fc2f1af0 by emaste
mfi: correct typo in sysctl/tunable description

Reported by: jrtc27
Reviewed by: lwhsu
Sponsored by: The FreeBSD Foundation
Event: Kitchener-Waterloo Hackathon 202406

(cherry picked from commit e0dcb9b611d3b3e471d7bc30bcff7cd4e26c6f19)
The file was modifiedsys/dev/mfi/mfi_pci.c (diff)
Commit 65c70eb58bbe81b1b191cf82d0a36b9ba280b5e7 by emaste
development.7: markup nits, tag spdx

Using quoted literals is a mistake in roff(7).
Please escape with `\&`, the zero-width-space.

Reviewed by: emaste
MFC after: 3 days

(cherry picked from commit f354ca7383f709f8380e11b2192eb62312d4139f)
The file was modifiedshare/man/man7/development.7 (diff)
Commit 617a9b99a594532095c9fed0cf8e4f728e24f480 by rmacklem
nfsd: Fix handling of NFSv4 setable attributes

Commit d8a5961 made a change to nfsv4_sattr() that broke
parsing of the setable attributes for a NFSv4 SETATTR.
(It broke out of the code by setting "error" and returning
right away, instead of noting the error in nd_repstat and
allowing parsing of the attributes to continue.)
By returning prematurely, it was possible for SETATTR to return
the error, but with a bogus set of attribute bits set, since
"retbits" had not yet been set to all zeros.
(I am not sure if any client could be affected by this bug.
The patch was done for a failure case detected by a pynfs test
suite and not an actual client.)

While here, the patch also fixes a
few cases where the value of attributes gets set for attributes
after an error has been set in nd_repstat.  This would not really
break the protocol, since a SETATTR is allowed to set some attributes
and still return an failure, but should not really be done.

(cherry picked from commit 5037c6398b2327366494a0434a894dc17ba8d023)
The file was modifiedsys/fs/nfsserver/nfs_nfsdport.c (diff)
The file was modifiedsys/fs/nfsserver/nfs_nfsdserv.c (diff)
Commit 5297156047f29274c9b6e68a514e72a858059890 by delphij
vmstat: Add root element to libxo output

Current libxo output does not have a root element. Valid XML requires a single
root element. This commit adds this root element.

The libxo output version bumped accordingly.

PR: 254635
Pull Request: https://github.com/freebsd/freebsd-src/pull/1330

(cherry picked from commit c7dd97ec99687996de49ec0b1a23bf007e5199b9)
The file was modifiedusr.bin/vmstat/vmstat.c (diff)
Commit b10e93220e5221147483ef17f015863138e31583 by delphij
mfiutil: Handle potential ioctl(2) failures in mfi_flash.c

The return value of function 'mfi_dcmd_command' should always be checked for
the potential ioctl(2) failure.

PR: 281158
Pull Request: https://github.com/freebsd/freebsd-src/pull/1403

(cherry picked from commit bac98f86c98421f6153c749b6c77995ef778e2fb)
The file was modifiedusr.sbin/mfiutil/mfi_flash.c (diff)
Commit 635037210ea3e644c9d76b9627323f5ddf5dc5f5 by zlei
ndp: Use nitems(foo) instead of sizeof(foo)/sizeof(foo[0])

Pull Request: https://github.com/freebsd/freebsd-src/pull/888
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>

(cherry picked from commit bccbb2fc4bce6c3efc1ba93f222de320db8e020a)
The file was modifiedusr.sbin/ndp/ndp.c (diff)
Commit 07cf1ce012c51e30ef5078c23a7d68a9b5d87c0a by zlei
ndp: Fix libxo formatting for the header of neighbor cache

PR: 272749
Reviewed by: zlei
Fixes: e1c7783e220b ndp(8): add structured output formatting via libxo
Fixes: 91fbe0819bb9 ndp: convert ndp(8) to netlink
MFC after: 3 days

(cherry picked from commit 209905ec384eedd58f1b9b7ab774029d22787dfb)
The file was modifiedusr.sbin/ndp/ndp_netlink.c (diff)
The file was modifiedusr.sbin/ndp/ndp.c (diff)
Commit d263bfda82036aa6ac153479e2a13a119a498fcf by cperciva
release/Makefile.vm: Add cloudware overrides

Allow the cloudware *_FLAVOURS and *_FSLIST values to be overridden
at the command line, to assist users who want to e.g. build only one
of the many EC2 AMIs available.

(cherry picked from commit 863975b6840b2833b0f772648ba2532806ffece8)
The file was modifiedrelease/Makefile.vm (diff)
Commit c8d5eda2d4eec339ce880e28d4c4590a35ede2e1 by cperciva
vmimage.subr: Pass $INSTALLOPTS to install*

This makes it possible for a VM build configuration file to pass
options to make installworld/installkernel/distribution, e.g.
WITHOUT_DEBUG_FILES=YES in order to produce smaller images.

Note that these options are only applied at install time, not at
build time (since the same build is installed into many different
VM images), so not all src.conf options are usable here.

Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46506

(cherry picked from commit 81d3df02bcf5ed6e41a91fd9fbc3b81cfe809ff3)
The file was modifiedrelease/tools/vmimage.subr (diff)
Commit 1dd6f34fb78f4f1d2233a62e6be26c9bcbaf5d27 by cperciva
EC2: Move network config into a separate function

Having the "base" FreeBSD network configuration (aka. what is used
when not using cloud-init) in ec2.conf will allow us to reuse it in
other AMIs.

Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46507

(cherry picked from commit f961ddb28d6909d4c67e3e0b6b60498bbcbf64cb)
The file was modifiedrelease/tools/ec2-base.conf (diff)
The file was modifiedrelease/tools/ec2.conf (diff)
Commit 6a9e7f6a1d35e7b7385aa4ae1bbfb65cf8ea0c65 by cperciva
EC2: Make amazon-ssm-agent optional

Move it from VM_EXTRA_PACKAGES in ec2.conf to VM_EXTRA_PACKAGES in
ec2-{base,cloud-init}.conf

Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46508

(cherry picked from commit 40ff0753abb9c00b5f1e5df9ea00c9fdded55ac4)
The file was modifiedrelease/tools/ec2-cloud-init.conf (diff)
The file was modifiedrelease/tools/ec2.conf (diff)
The file was modifiedrelease/tools/ec2-base.conf (diff)
Commit 953142d6baf3f0fcde98da9455f5936f735613fb by cperciva
EC2: Add new "small" AMIs

These are the same as the standard "base" images except:

* They don't have kernel or world debug symbols,
* They don't have FreeBSD tests,
* They don't have 32-bit libraries,
* They don't have LLDB,
* They don't have the Amazon SSM Agent pre-installed,
* They don't default to installing the awscli at first boot.

This reduces the amount of disk space in use when the EC2 instance
finishes booting from ~5 GB to ~1 GB.

Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46509

(cherry picked from commit 647299caa06e38622dc05a4358f9407b62a9bdda)
The file was modifiedrelease/Makefile.vm (diff)
The file was addedrelease/tools/ec2-small.conf
Commit b535995861e0ffd6e9567844455d268ab35d8d24 by kib
Intel DMAR: improve X2X macros to fix failures in certain syntax contexts

(cherry picked from commit c47229ae66764fec85477e89d4f3861ac29abf48)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
Commit 1d5630b11628f0c3bffc92fb0a4dc4b8c64fafb5 by kib
DMAR: use DMAR2IOMMU() for DMAR_LOCK() and related macros

(cherry picked from commit 0fcbf4944cb9865c6db0154c2f479fdd05b115c1)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
Commit 3f5d7c42ce8b42d454d708518da670ddb53f9abd by kib
x86: allow to have more than one kind of IOMMU

(cherry picked from commit 65b133e5d292686fe20f11dd39b53812226a8684)
The file was modifiedsys/x86/iommu/intel_ctx.c (diff)
The file was modifiedsys/x86/iommu/intel_drv.c (diff)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
The file was modifiedsys/x86/iommu/intel_intrmap.c (diff)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
Commit 92d04b87f0f2d4033357e5e1fee8f4d2719aaf94 by kib
x86 iommu: move DMAR-independent parts of the qi code into common

(cherry picked from commit ad794e6d7d02a11b01e721859e096efeb258a4d4)
The file was modifiedsys/x86/iommu/intel_drv.c (diff)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
The file was modifiedsys/x86/iommu/intel_qi.c (diff)
The file was modifiedsys/x86/iommu/intel_ctx.c (diff)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
Commit 3a00c673465f347b2bd07d445c6f8108ff2b7ef0 by kib
dmar_qi_XXX_invalidate_glob(): reduce code duplication

(cherry picked from commit f776a2b849726e7b86735b2930be64f5a2edf731)
The file was modifiedsys/x86/iommu/intel_qi.c (diff)
Commit d88d70096cd91b2a2085794bbc7d0dcb1965ed5e by kib
dmar_qi_emit(): use atomic_store_64() when available

(cherry picked from commit b563be66998ddd9dbc83364c8b515398d984c140)
The file was modifiedsys/x86/iommu/intel_qi.c (diff)
Commit 93865104f7620542fadb2f43baa6f50b3ecd4946 by kib
DMAR: rename domain_{alloc,free}_pgtbl to domain_domain_$1_pgtbl

(cherry picked from commit 23145534154c279e3e8cbcd17d155f7ee67d8aa9)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
The file was modifiedsys/x86/iommu/intel_idpgtbl.c (diff)
The file was modifiedsys/x86/iommu/intel_ctx.c (diff)
Commit eed2b98a2e0c9d3ac07e91efba99dab09caf56bd by kib
x86 iommu x86_unit_common: expand hw completion write-out area to 8 bytes

(cherry picked from commit fc8da73b93be3f5cc50f7607dbcfc1edb911de65)
The file was modifiedsys/x86/iommu/intel_drv.c (diff)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
Commit 2a6982e2643fdb3f1c122f0260107afdbf51bc67 by kib
x86 iommu: move DMAR-independent parts of the interrupt setup code into common

(cherry picked from commit 5967352a923efe6676bdf794d6b73f7354719a43)
The file was modifiedsys/x86/iommu/intel_drv.c (diff)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
The file was modifiedsys/x86/iommu/intel_qi.c (diff)
The file was modifiedsys/x86/iommu/intel_fault.c (diff)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
Commit 046d7aea4d8a707d134394396dcd941063318539 by kib
x86 iommu: move device_tag_init() to utils

(cherry picked from commit ff54674b09501f4302e675bb2d3e34a752a63405)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
The file was modifiedsys/x86/iommu/intel_ctx.c (diff)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
Commit c7447c45fb00cfd06b639d9b78f7b5b7ab79520c by kib
x86 dmar: generalize dmar_domain_free_entry() into iommu_domain_free_entry()

(cherry picked from commit b3042e3a7c6ffee3867d52b192c6a9f4f49faf4b)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
The file was modifiedsys/x86/iommu/intel_ctx.c (diff)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
Commit eebdbe7f1975bc3d605ee161ace7402037f279d8 by kib
x86 iommu: move page level related functions to common utils

(cherry picked from commit 29e227047065c6b1d08fdb72a21f33560637332b)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
The file was modifiedsys/x86/iommu/intel_idpgtbl.c (diff)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
The file was modifiedsys/x86/iommu/intel_utils.c (diff)
Commit f279f9ec29236d8517d2800f6d109a37d73c3143 by kib
DMAR: move hw.iommu.dmar.{tbl_pagecnt,batch_coalesce} sysctls up one level

(cherry picked from commit 0386b2451592ec04e4cff826b698f978a45ab3e4)
The file was modifiedsys/x86/iommu/intel_utils.c (diff)
The file was modifiedsys/x86/iommu/intel_ctx.c (diff)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
Commit 173116c6a392b4a17af08f5262838e2b1e5ccb1a by kib
DMAR: provide hw.iommu.ir alias for the hw.dmar.ir tunable

(cherry picked from commit 22bf8cf32f355705eb40cfbd7892492ac8140c50)
The file was modifiedsys/x86/iommu/intel_intrmap.c (diff)
Commit 1dfa8765409b1f1424c66ec9584768033a97ef19 by kib
busdma_iommu: indirect dmar-specific method calls in iommu_get_dev_ctx()

(cherry picked from commit ba33e74c7d48479784896807eb8a1c2e1012d163)
The file was modifiedsys/arm64/iommu/iommu.c (diff)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
The file was modifiedsys/dev/iommu/busdma_iommu.c (diff)
The file was modifiedsys/x86/iommu/intel_drv.c (diff)
The file was modifiedsys/dev/iommu/iommu.h (diff)
Commit 1d85f40e7fe35f9e434f22cdc16a9f8c02b1dd16 by kib
dmar: avoid excessive indirection in KASSERT() in domain_map_buf()

(cherry picked from commit 09fc33d1d75f93ed04fc6b18e7fe2911b7e770e0)
The file was modifiedsys/x86/iommu/intel_idpgtbl.c (diff)
Commit 3ff2b417a0c193379a982b9b95e1d52456c0efe3 by kib
msi_alloc(): do not leak msi_lock in error case

(cherry picked from commit 5681ddfd9f80c3aa25f900a1bcaa69b36a4e9e27)
The file was modifiedsys/x86/x86/msi.c (diff)
Commit 483c1340a009ba51e3694f3990e6c07479667002 by kib
msi_release(): consistently unlock msi_lock around iommu_unmap_msi_intr()

(cherry picked from commit e8fc8eb8b8f55072379f65f5f058b81870031b7d)
The file was modifiedsys/x86/x86/msi.c (diff)
Commit c5c01f6276ee117af069ca84f84f46362b0b279c by kib
x86: always provide dummy x86_iommu virtual methods

(cherry picked from commit 99e3d96fc1a2b1d5cac5a635608ec3044ec4fa13)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
Commit 9f319352d7aca8cb1d1f7e34e5729668aa794d04 by kib
vfs_default.c: trim whitespace

(cherry picked from commit e28ee29d2d13dc24cd3d5e19fa1fe6bef0085d41)
The file was modifiedsys/kern/vfs_default.c (diff)
Commit e8b9bd97e3cb1f58d4a4514c48d2fb4d49380511 by kib
vop_stdadvise(): restore correct handling of length == 0

(cherry picked from commit 79eba754bec39d88a6494318a2176d19743cf993)
The file was modifiedsys/kern/vfs_default.c (diff)
Commit 4fe752ccb3f8faeecf747932d13b15fc774cc244 by cperciva
zfs: fix build without MAC

(cherry picked from commit b458ddf27fd87afa57575cdad68f6b4183916666)
The file was modifiedsys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c (diff)
Commit 8f251937850142748cdf67a46630342934ff9f91 by kp
if_ovpn: ensure it's safe to modify the mbuf

PR: 280036
Reviewed by: ae
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D46529

(cherry picked from commit 5644e2c6d47c6113a61ab7fc0776b7227677656a)
The file was modifiedsys/net/if_ovpn.c (diff)
Commit 048132192698865914e07c899898861b2b24d676 by eugen
MFC: fetch(1): suppress "Not Modified" in quiet mode

"fetch -qi" should skip printing "Not Modified" for successful
http(s) request. Still print it by default (v_level == 1).

(cherry picked from commit 7a6309fdc79427b0a7a5c3876daba150d946ae22)
The file was modifiedusr.bin/fetch/fetch.c (diff)
Commit 056c50c48be3e3828ef740d2fcce988a545e52aa by emaste
libnv: correct the calculation of the structure's size

Reported by: Milosz Kaniewski <milosz.kaniewski@gmail.com>

(cherry picked from commit 7f4731ab67f1d3345aee6626eb83cc5ce00010f0)
The file was modifiedsys/contrib/libnv/nvlist.c (diff)
Commit a213882b9c4141bb5635eea2ddc2b4f1190cf219 by wosch
stale-symlink-buildworld.sh: improve documentation

(cherry picked from commit c77ca9a72c9934c407852f00d88cba09f5c9e31f)
The file was modifiedtools/build/stale-symlink-buildworld.sh (diff)
Commit 9ff3c094fde3b51b031d19a4f847122fdbb459ac by wosch
stale symlinks: configurable obj dir prefix

Use $MAKEOBJDIRPREFIX if set, otherwise /usr/obj

(cherry picked from commit ccb0365643dc5e8d37ada3789bbe370b81ba5b3c)
The file was modifiedtools/build/stale-symlink-buildworld.sh (diff)
Commit 5d54e2539429f348dac20428e8b5349e9d34a675 by eugen
MFC: ng_ipfw(4): add missing change after previous commit

The function ng_ipfw_input() used to enjoy implicit
32->16 bits truncation of ng_ipfw_findhook1's second argument.
Make it explicit to recover from the breakage.

PR: 281082
Reported by: Ruben van Staveren <ruben@verweg.com>
Tested by: Ruben van Staveren <ruben@verweg.com>
Fixes: 20e1f207cc789a28783344614d6d1d1c639c5797

(cherry picked from commit becd0079c052cb87e7649b78733b99abae8861ee)
The file was modifiedsys/netgraph/ng_ipfw.c (diff)
Commit 72706300b6e5c33985fd3cd0062e6a07becf8529 by kp
pf: fix debug printf

MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D46574

(cherry picked from commit db11a048282d268e19510b9f566903ed0509e698)
The file was modifiedsys/netpfil/pf/pf.c (diff)
Commit 79c34d704f3121cb7f3748ec6b7a5c7f787633bf by kp
if_ovpn: declare our dependency on the crypto module

PR: 281460
MFC after: 1 week
Sponsored by: Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 17c9ac457cf16c1251afa7364bc47ed52ec29057)
The file was modifiedsys/net/if_ovpn.c (diff)
Commit 419da61f8203ac475550ae4b0971dbef10f811f2 by emaste
bhyve: improve input validation in pci_xhci

Several functions did not validate the slot index resulting in OOB read
on the heap of the slot device structure which could lead to arbitrary
reads/writes and potentially code execution.

Reported by: Synacktiv
Reviewed by: markj (earlier), jhb
Security: CVE-2024-41721
Security: HYP-02
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45996

(cherry picked from commit e72d86ad9c62c8054d7977a71f08e68ef755c132)
The file was modifiedusr.sbin/bhyve/pci_xhci.c (diff)
Commit 624a521c1885f58690ac9291f10d7b9f9545f219 by asomers
ctladm.8: fix several errors in the "port" section

* Document the "-d" option.
* Add the "-c" and "-r" options to the summary.
* Correct the list of required options.
* Clarify that the "-t" option is only for use with "-o", "-w", and "-W"
* Replace references to the nonexistent "-n" with "-p".

Also, fix a few related error strings in the ctladm command.

Sponsored by: Axcient
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D45503

(cherry picked from commit 60107d23d8f2c05f418c024000a31a6148d2f7de)
The file was modifiedusr.sbin/ctladm/ctladm.c (diff)
The file was modifiedusr.sbin/ctladm/ctladm.8 (diff)
Commit bc4240ed3b232420f2f38b74ec1db0cb524a52c6 by asomers
Add some ATF tests for ctladm

So far only "ctladm port -c" and "ctladm port -r" are covered.

Sponsored by: Axcient
Reviewed by: mav
Pull Request: https://github.com/freebsd/freebsd-src/pull/1279

(cherry picked from commit 9747d11d91642cb9b81602d88e8aebeb388543c7)

Fix mtree entry for ctladm tests

Sponsored by: Axcient

(cherry picked from commit 81ef0a89fcc055bdf3d0f1affbadb643412ebce9)

ctladm: add a copyright header to the port test

[skip ci]

Reported by: markj
Sponsored by: Axcient

(cherry picked from commit a1608e8854da7f3b5734c2fcb85dd740733a08e6)
The file was addedusr.sbin/ctladm/tests/port.sh
The file was addedusr.sbin/ctladm/tests/Makefile
The file was modifiedetc/mtree/BSD.tests.dist (diff)
The file was modifiedusr.sbin/ctladm/Makefile (diff)
Commit 2217ab27adfe6febabee27399333b8cac1370f06 by asomers
ctladm: print port number with a succesful "port -c" command

Make "ctladm port -c" print the port number of the newly successful
port.  This way it won't have to be guessed by a subsequent "ctladm
portlist" command.  That means it's safe to use it concurrently with
other ctladm processes.  In particular, this allows the tests to be run
in parallel.

MFC after: 2 weeks
Sponsored by: Axcient
Reviewed by:    mav
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1279

(cherry picked from commit 591de7534fb3acb2e6eef94a1e5e92000d2cf83d)
The file was modifiedusr.sbin/ctladm/tests/Makefile (diff)
The file was modifiedusr.sbin/ctladm/tests/port.sh (diff)
The file was modifiedusr.sbin/ctladm/ctladm.c (diff)
Commit e48e80fcb71ade5d76c3fda7331db0708c63b81d by asomers
ctladm: better documentation for adding and removing cfiscsi ports

MFC after: 2 weeks
Sponsored by: Axcient
Reviewed by:    mav
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1279

(cherry picked from commit afecc74cd7158da8e89c26c5267bc715c2417fe7)
The file was modifiedsys/cam/ctl/ctl_frontend_iscsi.c (diff)
The file was modifiedusr.sbin/ctladm/tests/port.sh (diff)
The file was modifiedusr.sbin/ctladm/ctladm.8 (diff)
Commit f07fc92df041ba020c138b0de77b0704bc9ef087 by asomers
ctladm: don't require the use of "-p" with "port -r"

When removing a port, the ioctl frontend requires the "-p" argument.
But other frontends, like cfiscsi, do not.  So don't require that
argument in the ctladm command.  The frontend driver will report an
error if any required argument is missing.

Sponsored by: Axcient
Reviewed by:    mav
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1279

(cherry picked from commit edbd489d09babebdc6c03924a912013be584c409)

ctladm: don't require the use of "-p" with "port -r", part 2

* Remove a now superfluous FALLTHROUGH hint
* Don't specify "-p" with an empty argument in the tests

Reported by: jhb

(cherry picked from commit 7f50027321db3b08477f6236abded0297e9e5ed8)
The file was modifiedusr.sbin/ctladm/ctladm.c (diff)
The file was modifiedusr.sbin/ctladm/ctladm.8 (diff)
The file was modifiedusr.sbin/ctladm/tests/port.sh (diff)
The file was modifiedsys/cam/ctl/ctl_frontend_ioctl.c (diff)
Commit 95fbdf9df5b0918668517298d3ca77b65361b756 by asomers
ctladm: deprecate the undocumented "port -l" option

It was mostly removed from the man page in
9c887a4f86f5fd4f51c23443dc8435e52783a782, but left in the command.
Fully remove it from the man page, and warn if anybody uses it.  Remove
it entirely for FreeBSD 16.

PR: 279546
Reviewed by: mav
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D45522

(cherry picked from commit bb95fbf634b3459363a136899e9b241a2f6c49cd)
The file was modifiedusr.sbin/ctladm/ctladm.c (diff)
The file was modifiedusr.sbin/ctladm/ctladm.8 (diff)
Commit 0cc98ae442ba4e7764d0d56899fc39f4229a3175 by asomers
ctld: plug memory leaks

Reviewed by: mav
Sponsored by: Axcient
Reported by: valgrind
Pull Request: https://github.com/freebsd/freebsd-src/pull/1288

(cherry picked from commit 2909ddd17cb4d750852dc04128e584f93f8c5058)
The file was modifiedusr.sbin/ctld/kernel.c (diff)
The file was modifiedusr.sbin/ctld/ctld.c (diff)
Commit 0062ba53df13d93c3611e28cb10613d0d8e6a03c by asomers
ctld: parse config file independently of getting kernel info

Separate the parsing of the config file from the reading of kernel port
information.  This has three benefits:

* Separation of concerns makes future changes easier.
* Allows the config file to be read earlier, which is necessary for
  fixing PR 271460.
* Reduces total line count, by eliminating duplication between parse.y
  (for traditional config file) and uclparse.c (for UCL config file).

Sponsored by: Axcient
Reviewed by: mav
Pull Request: https://github.com/freebsd/freebsd-src/pull/1287

(cherry picked from commit 969876fcee57ea1cb1c7b4d2ee757793cbfbe353)
The file was modifiedusr.sbin/ctld/ctld.h (diff)
The file was modifiedusr.sbin/ctld/uclparse.c (diff)
The file was modifiedusr.sbin/ctld/parse.y (diff)
The file was modifiedusr.sbin/ctld/kernel.c (diff)
The file was modifiedusr.sbin/ctld/ctld.c (diff)
Commit 37357ba28a6dd984043a60e16084bd79071d95e2 by asomers
ctl: add tests for START STOP UNIT

Sponsored by: Axcient
Reviewed by: emaste, markj
Pull Request: https://github.com/freebsd/freebsd-src/pull/1409

(cherry picked from commit fe1755fa6bb4039c1e00f5226c473a024685005b)
The file was modifiedtests/sys/cam/ctl/read_buffer.sh (diff)
The file was modifiedtests/sys/cam/ctl/Makefile (diff)
The file was addedtests/sys/cam/ctl/ctl.subr
The file was addedtests/sys/cam/ctl/start_stop_unit.sh
Commit e2217f809732666a1124147b8cab1aef334acaa5 by asomers
ctl: add tests for PREVENT ALLOW MEDIUM REMOVAL

Sponsored by: Axcient
Reviewed by:    emaste, markj
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1409

(cherry picked from commit e234a72bb8c0e8e25ea8a879582e85bb2e09f096)
The file was addedtests/sys/cam/ctl/prevent.sh
The file was modifiedtests/sys/cam/ctl/Makefile (diff)
Commit c6d11ae455a9c5b6e927ac0a5d63570081074208 by asomers
ctl: fix uninitialized data used by PREVENT ALLOW MEDIUM REMOVAL

Zero-initialize the bitmap of preventers.  Otherwise, the START STOP
UNIT command may not have the intended effect.

Sponsored by: Axcient
Reviewed by:    emaste, markj
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1409

(cherry picked from commit 0f2b2276abc305905e7d88619a7abca26b0dd7eb)
The file was modifiedsys/cam/ctl/ctl.c (diff)
Commit 001d66bb189d17dbe1cb31ba971e04b72c4fa602 by asomers
targ: fix compiling the example

The targ example program doesn't compile with current clang, and
probably hasn't for multiple releases.  Fix the build.  I don't have the
right hardware to test it, though.

Sponsored by: Axcient

(cherry picked from commit 873881b7dbb72077f3723f49a9f10a432231c532)
The file was modifiedshare/examples/scsi_target/Makefile (diff)
The file was modifiedshare/examples/scsi_target/scsi_target.h (diff)
The file was modifiedshare/examples/scsi_target/scsi_target.c (diff)
The file was modifiedshare/examples/scsi_target/scsi_cmds.c (diff)
Commit 4bb8e26c262c03757dd1db8d7964bc44ccc83d6a by asomers
fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE

Background:

If a user does pathconf(_, _PC_MIN_HOLE_SIZE) on a fusefs file system,
the kernel must actually issue a FUSE_LSEEK operation in order to
determine whether the server supports it.  We cache that result, so we
only have to send FUSE_LSEEK the first time that _PC_MIN_HOLE_SIZE is
requested on any given mountpoint.

Problem 1:

Unlike fpathconf, pathconf operates on files that may not be open.  But
FUSE_LSEEK requires the file to be open.  As described in PR 278135,
FUSE_LSEEK cannot be sent for unopened files, causing _PC_MIN_HOLE_size
to wrongly report EINVAL.  We never noticed that before because the
fusefs test suite only uses fpathconf, not pathconf.  Fix this bug by
opening the file if necessary.

Problem 2:

On a completely sparse file, with no data blocks at all, FUSE_LSEEK with
SEEK_DATA would fail to ENXIO.  That's correct behavior, but
fuse_vnop_pathconf wrongly interpreted that as "FUSE_LSEEK not
supported".  Fix the interpretation.

PR: 278135
Sponsored by: Axcient
Differential Revision: https://reviews.freebsd.org/D44618

(cherry picked from commit 6efba04df3f8c77b9b12f1df3e5124a7249b82fc)
The file was modifiedtests/sys/fs/fusefs/lseek.cc (diff)
The file was modifiedsys/fs/fuse/fuse_vnops.c (diff)
Commit b21881d8c42132fca37f361c0baa2fd08b51f9e2 by wulf
ums(4): fix incorrect mouse button reporting via evdev

when ums driver receives non-mouse HID report. This results in
unexpected button release event. Reuse existing sysmouse logic to
keep button pressed.

Reviewed by: imp, wulf
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D45838

(cherry picked from commit d6888e211b07be79dd8de3145ac41b365f482ae8)
The file was modifiedsys/dev/usb/input/ums.c (diff)
Commit 611d52a1969892e5d35d5f26ad850a56f351a78e by zlei
zfs: cherry-pick change from openzfs

Vendor PR:
  #16210 FreeBSD: Add const qualifier to members of struct
         opensolaris_utsname

Obtained from: OpenZFS
OpenZFS commit: e2357561b9499296bff758afe4868dbc39735675

Note: this is required by the following up MFC [1]. No functional change.

1. 356be1348dac kernel: Make some compile time constant variables const
The file was modifiedsys/contrib/openzfs/module/os/freebsd/spl/spl_misc.c (diff)
The file was modifiedsys/contrib/openzfs/include/os/freebsd/spl/sys/misc.h (diff)
Commit 497f577f460ba93dda38910bf49b390fa610480f by zlei
kernel: Make some compile time constant variables const

Those variables are not going to be changed at runtime. Make them const
to avoid potential overwriting. This will also help spotting accidental
global variables shadowing, since the variable's name such as `version`
is short and commonly used.

This change was inspired by reviewing khng's work D44760.

No functional change intended.

MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D45227

(cherry picked from commit 356be1348dac94ba0d2dc1f479bc1f8a2ebaa03a)
The file was modifiedsys/kern/init_main.c (diff)
The file was modifiedsys/kern/kern_mib.c (diff)
The file was modifiedsys/riscv/riscv/identcpu.c (diff)
The file was modifiedsys/sys/sysctl.h (diff)
The file was modifiedsys/x86/x86/identcpu.c (diff)
The file was modifiedsys/sys/copyright.h (diff)
The file was modifiedsys/powerpc/powerpc/machdep.c (diff)
The file was modifiedsys/conf/newvers.sh (diff)
The file was modifiedsys/arm64/arm64/identcpu.c (diff)
The file was modifiedsys/sys/systm.h (diff)
The file was modifiedsys/arm/arm/identcpu-v6.c (diff)
Commit 9512710ddf33c49dd0f9c387393866306225efc3 by markj
asmc: Add support for MacbookPro11,4

Signed-off-by: Joshua Rogers <Joshua@Joshua.Hu>

MFC after: 2 weeks
Pull Request: https://github.com/freebsd/freebsd-src/pull/1366

(cherry picked from commit 49a5fe1a017fc179c79b74f409440e070511a0ab)
The file was modifiedsys/dev/asmc/asmcvar.h (diff)
The file was modifiedsys/dev/asmc/asmc.c (diff)
Commit 246f922d635e114c336c1e15ce041a1d8496ea60 by markj
ggate tests: Use unique ports among tests

This helps avoid failures when running tests in parallel.

MFC after: 1 week

(cherry picked from commit b5d3f8252fe8b74249ed49e87981d190c3ec3d05)
The file was modifiedtests/sys/geom/class/gate/ggate_test.sh (diff)
Commit 6f636541a3b1fe14a6f85f457c12cf8a7159a121 by markj
capsicum tests: Serialize functional tests

The test suite runs the same tests twice, as different users, and these
can trample over each other when run in parallel, causing spurious test
failures.

MFC after: 1 week

(cherry picked from commit 41ece3c036bda3d4da321989ee59d0555c10d603)
The file was modifiedtests/sys/capsicum/Makefile (diff)
Commit 59f3eb3b71d5df21882ed95d99ac10911f305b81 by markj
netinet: Explicitly disallow connections to the unspecified address

If the V_connect_ifaddr_wild sysctl says that we shouldn't infer a
destination address, return an error.  Otherwise it's possible for use
of an unspecified foreign address to trigger a subsequent assertion
failure, for example in in_pcblookup_hash_locked().

Similarly, if no interface addresses are assigned, fail quickly upon an
attempt to connect to the unspecified address.

Reported by: Shawn Webb <shawn.webb@hardenedbsd.org>
MFC after: 2 weeks
Reviewed by: zlei, allanjude, emaste
Differential Revision: https://reviews.freebsd.org/D46454

(cherry picked from commit 0c605af3f9d9e66be6af0a3bbc36dbedc5dfe516)
The file was modifiedsys/netinet/in_pcb.c (diff)
The file was modifiedsys/netinet6/in6_pcb.c (diff)
Commit b513c311d0db5c301c939b1cf44b2826e09011d3 by markj
ifnet: Remove if_getamcount()

All uses of this function were incorrect.  if_amcount is a reference
count which tracks the number of times the network stack internally set
IFF_ALLMULTI.  (if_pcount is the corresponding counter for IFF_PROMISC.)

Remove if_getamcount() and fix up callers to get the number of assigned
multicast addresses instead, since that's what they actually want.

Sponsored by: Klara, Inc.
Reviewed by: zlei, glebius
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D46523

(cherry picked from commit 408c909dc64f77d2696d6fec77a2e0b00255cf96)
The file was modifiedsys/net/if_var.h (diff)
The file was modifiedsys/net/if.c (diff)
The file was modifiedsys/dev/liquidio/lio_ioctl.c (diff)
The file was modifiedsys/dev/bxe/bxe.c (diff)
Commit aab2c431064bbc74ae643ae111afaa23a090c594 by markj
pkgbase: Unify pkg ABI handling for pkgbase targets

Right now, to get the pkg ABI we either use PKG_ABI, derived from
newvers.sh, or use an ABI file from the staged world.  This
inconsistency is confusing and can cause problems.

Switch to a single source of truth: use an ABI file from the worldstage
dir to get the ABI of pkgbase packages.  In particular, we do not need
to know the ABI until staging is done.  More specifically:
- use a shell command to define PKG_ABI,
- replace inline uses of ABI_FILE,
- run sign-packages in a subshell (this was already done for the
  update-packages target) so that the staging targets are done before we
  try to evaluate the ABI.

Reviewed by: manu
MFC after: 1 month
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D46287

(cherry picked from commit b118b6eb4cb7520eb348a6ac965b077fc5179fde)
The file was modifiedMakefile.inc1 (diff)
Commit c06e1fdc794879cce97b2d2e155e638a49558c58 by markj
pkgbase: Let source packages be built in parallel

To build the packages target, we build src and src-sys packages
containing the source code from which the repo was built.  These
packages take significantly longer than the others, presumably because
they contain many more files.  Because both source packages are built
to satisfy the same target, they end up being built serially.  Split
them into separate subtargets so that they can run in parallel.  This
saves a couple of minutes on my build machine.

Reviewed by: manu, emaste
MFC after: 1 month
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D46288

(cherry picked from commit d7d5c9efef031aa11a841d1836f7c937dcbe4ec8)
The file was modifiedMakefile.inc1 (diff)
Commit c8856795d378ccb839c9f201aeeffb8586c59e96 by markj
pkgbase: Make src package creation recipes more precise

Just remove the plist created by the respective rule.  Otherwise the two
receipes can race with each other.

Fixes: d7d5c9efef03 ("pkgbase: Let source packages be built in parallel")
Reviewed by: bapt, emaste
Reported by: Mark Millard <marklmi@yahoo.com>
Differential Revision: https://reviews.freebsd.org/D46320

(cherry picked from commit d02dcf21eea3973a714294b011537c2af6c747fa)
The file was modifiedMakefile.inc1 (diff)
Commit 20191b71bae1f86ecc03e67d60ad801a72ea05d2 by markj
src.conf: Add a MK_ZFS_TESTS knob

The in-tree ZFS test suite is somewhat outdated and I see a number of
failures there.  I tend to think that we want to integrate the OpenZFS
test suite somehow, replacing the legacy one, though it's also possible
to run that as a separate test suite.

In any case, if one wants to run the OpenZFS test suite separately, it's
useful to be able to disable installation of the legacy ZFS test suite,
so let's provide a src.conf option to do that.

Reviewed by: asomers
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D46476

(cherry picked from commit 24affded3d4ec5fafb6b22f773ec1e20d73b9b03)
The file was addedtools/build/options/WITHOUT_ZFS_TESTS
The file was modifiedtests/sys/cddl/Makefile (diff)
The file was modifiedshare/mk/src.opts.mk (diff)
Commit 772e980da4bd5d47eceee95e91e8573ecb48be1c by markj
ifnet: Add handling for toggling IFF_ALLMULTI in ifhwioctl()

IFF_ALLMULTI has an associated activation counter and so needs special
treatment, like IFF_PROMISC.  Introduce IFF_PALLMULTI, akin to
IFF_PPROMISC, which indicates that userspace requested allmulti mode,
and handle it specially in ifhwioctl().

Reviewed by: zlei, glebius
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D46524

(cherry picked from commit 58f194223ab8578269772a6874a8444e5e03afaf)
The file was modifiedsys/net/if.h (diff)
The file was modifiedsys/net/if.c (diff)
Commit f47e5a92edd6840fca6267649b1304c39fbbcc8f by markj
ifconfig: Add an allmulti verb

Similar to "promisc", this allows the IFF_ALLMULTI flag to be toggled
from userspace if it happens to be useful to disable multicast packet
filtering.  One use-case is when implementing IPv6 neighbour discovery
over netmap.

Reviewed by: zlei, glebius
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D46525

(cherry picked from commit 00c9a6806c9cf3357b62f6708e5acd1ffd166613)
The file was modifiedsbin/ifconfig/ifconfig.8 (diff)
The file was modifiedsbin/ifconfig/ifconfig_netlink.c (diff)
The file was modifiedsbin/ifconfig/ifconfig.c (diff)
Commit 06a6d0259fe5721bfb3b745b231ecf7cf3a5e28e by emaste
Revert "tzsetup: symlink /etc/localtime instead of copying"

This failed when used with tzsetup's -C option (for example, when using
etcupdate -D to update a jail from the host).  Revert the stable/14 MFC
for now; will be reapplied after being fixed in main..

This reverts commit fc43a1b6842afa806dfd7ba48de5bece63d04456.
This reverts commit 87f7f0389f8b7bf30ef12df5c0d337cb2789883e.
The file was modifiedusr.sbin/etcupdate/tests/tzsetup_test.sh (diff)
The file was modifiedusr.sbin/tzsetup/tzsetup.8 (diff)
The file was modifiedusr.sbin/tzsetup/tzsetup.c (diff)
Commit 74d66dc43d0544d0d4807e6cc19a82421b97a6eb by gbe
e1000: Fix a typo in a source code comment

- s/chekcsums/checksums/

(cherry picked from commit 3e614fb600f233097ee5e007cbffdb3001aa110b)
The file was modifiedsys/dev/e1000/e1000_82575.c (diff)
Commit ba08efe3f2ffd0e1ac6fdd417e04f6495a0560c5 by kib
getrlimit(2): document RLIMIT_UMTXP

(cherry picked from commit 3a2a5d606082dd782594b393c3920b9478698f07)
The file was modifiedlib/libc/sys/getrlimit.2 (diff)
Commit 50c03711f28a69e6e1811414abd8e4d191d3445d by kib
procstat(1): make rlimit_param[] size assertion automatic

(cherry picked from commit e3b777534baeb69a1ee88d0b18c76a68eacdb34e)
The file was modifiedusr.bin/procstat/procstat_rlimit.c (diff)
Commit 8de0b84123109b8a15488267a0167ab2457de0b9 by kib
softdep_mount: on journal start failure, report the mount point path

(cherry picked from commit 8276c6ea9cf7cc3c7a0bd5a50fd1db298656f514)
The file was modifiedsys/ufs/ffs/ffs_softdep.c (diff)
Commit d9259de0a6232b1a28787add531cc6627718768d by kib
softdep_mount: report failure of the softdepflush thread creation

PR: 281511

(cherry picked from commit 4b273a7fb9e6d9a006c5ac7cbd27f5d006569edb)
The file was modifiedsys/ufs/ffs/ffs_softdep.c (diff)
Commit 81f829b3010d6b294b229eee5148cd942dd78914 by kib
amd64 sysarch(2): style

(cherry picked from commit 29a0a720c33fc70601ea85f813d982a99c3e7896)
The file was modifiedsys/amd64/amd64/sys_machdep.c (diff)
Commit 75f6087bf6bbbfdb270664c81e942b341a3e543f by imp
growfs.8: align and alphabetize options

MFC after: 3 days

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1379

(cherry picked from commit 0d8effbd6e45643154c90942f210b7f7a6ecc61d)
The file was modifiedsbin/growfs/growfs.8 (diff)
Commit c3a0e8fe09c5bbe42577b9567015f5f542b1f9bc by imp
diskless.8: show in `apropos pxe` + tag SPDX

MFC after: 3 days

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1378

(cherry picked from commit 7e3b6b249f54f5b22eae14dfa48ef7891bc4eac1)
The file was modifiedshare/man/man8/diskless.8 (diff)
Commit 2af7c211b0bb44fb489ca8394ca3170707214be7 by imp
ure.4: description consistencies + tag spdx

+ consistent document description languague with other USB-BaseT drivers
+ mention newly added adapters from 6ea4d9
+ attempt to mention rgephy(4) phys feed into ure interfaces

Fixes: 6ea4d9 (Move RTL8156 from cdce(4) to ure(4))
MFC after: 3 days

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1384

(cherry picked from commit 4c72525953fdf618a3fc0a45f3ef3f071dcc0c52)
The file was modifiedshare/man/man4/ure.4 (diff)
Commit ef4ee388ff6e6411d33452968b23b44d83aa7e87 by imp
UPDATING: increase visibility of footnotes

MFC after: 3 days

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1382

(cherry picked from commit fe830c3bdbb80545711d49b5bd6fd4ec28ed9f8e)
The file was modifiedUPDATING (diff)
Commit 0e1363eda10be305cf29165bfebec0a1b9c3964e by imp
ip6addrctl: Update the sample configuration file

Update the sample ip6addrctl.conf.sample file to match the default
policy, currently based on RFC 6724.

MFC after: 3 days
Signed-off-by: Jose Luis Duran <jlduran@gmail.com>

Reviewed by: imp, glebius
Pull Request: https://github.com/freebsd/freebsd-src/pull/1375

(cherry picked from commit 6bfbfc8f4fdc6ccd200541ef738a90d1be3c1ab7)
The file was modifiedusr.sbin/ip6addrctl/ip6addrctl.conf.sample (diff)
Commit 88dc78cae9714c2352675bf72dade178b883f9ad by imp
geom.8: minor cleanup (markup, spdx, gsched)

Fixes: 86c06f (Remove GEOM_SCHED class and gsched)
MFC after: 3 days

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1380

(cherry picked from commit a5770eb54f7d13717098b5c34cc2dd51d2772021)
The file was modifiedsbin/geom/core/geom.8 (diff)
Commit b6356ec88d03d28eb33ef155f73ff1ae29319a78 by imp
adduser.8: update log location + spdx

Closes: 280538
Fixes: cf8a18 (back out logging to /var/log/adduser)
MFC after: 3 days
Reported by: Herbert Baerschneider <herbert.baerschneider@protonmail.com>

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1354

(cherry picked from commit 1f882a5834836b43d4689efeefbc3109fc169363)
The file was modifiedusr.sbin/adduser/adduser.8 (diff)
Commit 691398348632d1bbad1b35e40e5319075115ea6c by imp
ip6addrctl.8: Reference RFC 6724 instead

Commit e695500d3cb945e62b4591cb68792601ed5c4b46 updated the policy table
to match RFC 6724, which obsoletes RFC 3484.

Add a reference to RFC 6724, and mark it up as a technical report (%R).

MFC after: 3 days
Signed-off-by: Jose Luis Duran <jlduran@gmail.com>

Reviewed by: imp, glebius
Pull Request: https://github.com/freebsd/freebsd-src/pull/1375

(cherry picked from commit 3272054073720172ebae9c2c5c75e656f72a6df1)
The file was modifiedusr.sbin/ip6addrctl/ip6addrctl.8 (diff)
Commit 08a7825f05a82b2c7b1e68557e288d360e59b813 by imp
dummynet: fix pie

Since 26b9e1f07fa codel was fixed but traffic was not flowing for
pie too. Apply the same fix.

MFC after: 1 week
Sponsored by: OPNsense
Differential Revision: https://reviews.freebsd.org/D46182
Also see: https://redmine.pfsense.org/issues/13996
Also see: https://forum.opnsense.org/index.php?topic=41827.0
Reviewed by: imp, markj
Pull Request: https://github.com/freebsd/freebsd-src/pull/1390

(cherry picked from commit 2b7f2890a812eb09dccaa8069483566a3b292338)
The file was modifiedsys/netpfil/ipfw/dn_sched_fq_pie.c (diff)
Commit 1d94490aee5c8353ed08909bbd00af7cfb48a8dc by zlei
kernel: Fix defining of .init_array and .fini_array sections

These input sections can have decimal numbers as the priority suffix.
Clang emits the '%u' form, while SORT is an alias for SORT_BY_NAME,
hence will result in wrong order of constructors / destructors in
output sections. Fix by using the correct sorting command
SORT_BY_INIT_PRIORITY instead [1].

The functions referenced by section .fini_array is in the normal order,
but been executed in the reverse order. The order is same with
.init_array section.

Currently these sections are not used, there should be no functional
change.

Note: As for the .ctors and .dtors sections, both Clang and GCC emit
the priority suffix in the form of '%05u', so there is no semantic
difference between SORT_BY_NAME and SORT_BY_INIT_PRIORITY for those
sections [2].

This fix is extracted from a bigger patch [3] of hselasky, with
additional fix for .fini_array section.

1. https://sourceware.org/binutils/docs/ld/Input-Section-Wildcards.html
2. https://reviews.llvm.org/D91187
3. https://reviews.freebsd.org/D40467

Reviewed by: imp (previous version)
Obtained from: hselasky
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45194

(cherry picked from commit e15b5ba77d693609c9a452d1b0a1cdd5eb29350d)
The file was modifiedsys/conf/ldscript.i386 (diff)
The file was modifiedsys/conf/ldscript.amd64 (diff)
Commit bb5f701614546c2e2cc682e23f49f7606cea3138 by zlei
kernel: Add defination of .init_array and .fini_array for all other platforms

Currently these sections are not used but defined only for amd64 and
i386. Added them for all other platforms to keep all platforms in sync.
There should be no functional change.

This change is extracted from a bigger patch [1] of hselasky, with
additional fix for the order of .fini_array section.

1. https://reviews.freebsd.org/D40467

Obtained from: hselasky
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45214

(cherry picked from commit 3e76d05231b0aa77d922bdbc9abf62d9747a91ab)
The file was modifiedsys/conf/ldscript.powerpc (diff)
The file was modifiedsys/conf/ldscript.powerpc64 (diff)
The file was modifiedsys/conf/ldscript.arm64 (diff)
The file was modifiedsys/conf/ldscript.powerpcspe (diff)
The file was modifiedsys/conf/ldscript.arm (diff)
The file was modifiedsys/conf/ldscript.powerpc64le (diff)
The file was modifiedsys/conf/ldscript.riscv (diff)
Commit 8fee873d78eb8d04ffbc079d0ee01549f5c0d556 by rscheff
tcp: keep syncache flags when updating ECN info

While processing the ECN flags of an incoming packet,
incorrectly cleared all other syncache flags.

Reported by: tuexen
Reviewed By: tuexen, #transport
Sponsored by: NetApp, Inc.
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D46694

(cherry picked from commit 0a05ea1f56e65ec0477d56daf5ed623087464082)
The file was modifiedsys/netinet/tcp_syncache.c (diff)
Commit 9503fb867a4395378efcf132cbb838f8372e8e70 by imp
ncal: add -M to start week on Monday in cal mode

MFC after: 2 weeks
Reviewed by: imp, Alexander Ziaee,
Pull Request: https://github.com/freebsd/freebsd-src/pull/1294

(cherry picked from commit 8c108b341cd82d0ed9fcd573764bc94682e84125)
The file was modifiedusr.bin/ncal/ncal.1 (diff)
The file was modifiedusr.bin/ncal/ncal.c (diff)
Commit 82db15028e434076e30db683958792741306c8c7 by gbe
bluetooth(3): Fix two typos in source code comments

- s/conficts/conflicts/

(cherry picked from commit 9046ecff409c45205aad34ef8d959d79dd20cf8f)
The file was modifiedsys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c (diff)
Commit c22bc90d4e329471d800580530a61e62bfbdda13 by gbe
arm64: Fix a typo in a source code comment

- s/parametes/parameters/

(cherry picked from commit cc4997907714ec22498a454736974abfbc123beb)
The file was modifiedsys/arm64/arm64/machdep.c (diff)
Commit 6f357a211afe937503f6cc289126a3a0cb3deda7 by kib
VOP_ATTRIB.9: switch to Fa/Fc

(cherry picked from commit 66fcbd9556b0053253a945638ae360ffc9040c82)
The file was modifiedshare/man/man9/VOP_ATTRIB.9 (diff)
Commit 0eec03f113a4de0f9bd2aca2d4620e9d1b4c8d1f by kib
amd64 pmap: be more verbose around entering and leaving LA57 trampoline

(cherry picked from commit 2912c2fbd44072b7372c24dd34392c01f5104497)
The file was modifiedsys/amd64/amd64/pmap.c (diff)
Commit 1c341830359fa25f49bfaadd55328a43e86cb476 by kib
amd64 pmap: flush whole TLB after LA57 trampoline is installed

(cherry picked from commit 787259bfe56478b9aa0699f2516d00722b9cc309)
The file was modifiedsys/amd64/amd64/pmap.c (diff)
Commit 8179f2a7753d51767d7dcaae53f8ba0d1dcdf8db by kib
amd64 la57_trampoline: jump immediately after re-enabling paging

(cherry picked from commit 180c8ab079950acb15c6629ce293055ea0117b39)
The file was modifiedsys/amd64/amd64/locore.S (diff)
Commit 7a1723912e4fd97726c6fa55a9f86b7b4772af64 by kib
amd64 la57_trampoline: stop using %rdx to remember original %cr0

(cherry picked from commit 9a49c98bafbea2a896f72defe7d9f2b65a474c41)
The file was modifiedsys/amd64/amd64/locore.S (diff)
Commit 3f79c8c46f24f2b87569444a034e1aa08ead2dbd by kib
amd64 la57_trampoline: disable EFER.LME around setting CR4.LA57

(cherry picked from commit b7ea2b69ef666ee8cdc6dcc814d610df0a7f0999)
The file was modifiedsys/amd64/amd64/locore.S (diff)
Commit cdcaf2e07354ca74539aecb5f23f0ed35b3c7260 by kib
amd64 la57_trampoline: turn off global pages and PCID before turning off paging

(cherry picked from commit 1be58e67eb24024bc808357771579d396679ecb0)
The file was modifiedsys/amd64/amd64/locore.S (diff)
Commit 371dcd4c355481860e21f4bfa7f62a12ce1986ec by kib
amd64 la57_trampoline: lgdt descriptor is always 10 bytes in long mode

(cherry picked from commit 687b896f8ea58e67c3a0bfbd3af3041733e57dcf)
The file was modifiedsys/amd64/amd64/locore.S (diff)
Commit 2e6e9d154100f7bede90f2041cb3a897871f0766 by kib
amd64 la57_trampoline: save registers in memory

(cherry picked from commit 280e50461a1f638088e7a0b9116976821c374b56)
The file was modifiedsys/amd64/amd64/locore.S (diff)
Commit e6fa60a77bfb8d43feb53bd5f6d7153332f91ad2 by kib
la57: do not set global bit for PML5 entry

(cherry picked from commit 678bc2281c3727e920604545240d9115de3d1bd3)
The file was modifiedsys/amd64/amd64/pmap.c (diff)
Commit ad6b949da57ea6a34a4aaaf721fe36fad053d14a by kib
pmap_bootstrap_la57(): reload IDT

(cherry picked from commit bbb00b1719f11c58efd5375aebc30ccd13bf0906)
The file was modifiedsys/amd64/amd64/pmap.c (diff)
Commit 6a0a7c6a052e662bad2ae40dc166c0ad6c58d019 by kib
amd64 pmap: do not set PG_G for usermode pmap pml5 kernel entry

(cherry picked from commit 4f82af24f1113a7df224daded227d4e9de582c0b)
The file was modifiedsys/amd64/amd64/pmap.c (diff)
Commit 1ed40b45066dedea10fb306da8ca258bd7d69a40 by kib
amd64: pml5 entries do not support PAT bits

(cherry picked from commit e134cd9580ad62e87c8e8678bdbc45936b11ee86)
The file was modifiedsys/amd64/amd64/pmap.c (diff)
Commit 73f2b9f05a6b613e9aa6829101d63ec4e5a2d200 by kib
sysarch: improve checks for max user address

(cherry picked from commit 666303f5980896346c455bc949e49952220d02b7)
The file was modifiedsys/amd64/amd64/sys_machdep.c (diff)
Commit c5a9d5ff0c0cca6b4650e7853580ae3dbd623fd6 by kp
pf: use AF_INET6 when comparing IPv6 addresses

Reviewed by: zlei
MFC after: 1 week
Obtained from: OpenBSD, henning <henning@openbsd.org>, cf7c0bf78a
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D46576

(cherry picked from commit 50ecaf1bd46a834c4fdaf483eb39df7bb62501e3)
The file was modifiedsys/netpfil/pf/pf.c (diff)
Commit 6c2430c72b4c3516752b7541b100847522ab2225 by zlei
bpf: Add IfAPI analogue for bpf_peers_present()

An interface's bpf could feasibly not exist, in which case
bpf_peers_present() would panic from a NULL pointer dereference.  Solve
this by adding a new IfAPI that could deal with a NULL bpf, if such
could occur in the network stack.

Reviewed by: zlei
Sponsored by: Juniper Networks, Inc.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D42082

(cherry picked from commit 8f31b879ecaf9e738dba631df4606742ee404e8e)

bpf: Prefer the boolean form when calling bpf_peers_present()

Reviewed by: markj, kp, #network
MFC with: 8f31b879ecaf
Differential Revision: https://reviews.freebsd.org/D45509

(cherry picked from commit 89204d9dcbe28558fae65936a0e93f44d926b88f)
The file was modifiedsys/net/bpf.c (diff)
The file was modifiedsys/dev/my/if_my.c (diff)
The file was modifiedsys/dev/usb/usb_pf.c (diff)
The file was modifiedsys/net/bpf.h (diff)
The file was modifiedsys/dev/firewire/if_fwip.c (diff)
The file was modifiedsys/dev/hyperv/netvsc/if_hn.c (diff)
Commit 4bf231d100702021ae38aafa0583d50d2ba94f70 by zlei
bpf: Update a comment

This comment was introduced by fix [1], later the fix was refined by
change [2], and the context of the usage of `m_get2()` and `m_getjcl()`
got lost, then the comment became obscure.

Update to reflect the current behavior.

1. f13da24715a7 net/bpf: Fix writing of buffer bigger than PAGESIZE
2. a051ca72e281 Introduce m_get3()

Fixes: a051ca72e281 Introduce m_get3()
MFC after: 3 days

(cherry picked from commit 343bf78e487190557889c8ba53d8080b268867f7)
The file was modifiedsys/net/bpf.c (diff)
Commit e8ced991438950c49d7acca5d393209bbc143a38 by zlei
bpf: Add a comment on the large `#ifdef _KERNEL` block

This improves readability a little.

MFC after: 3 days

(cherry picked from commit e30b58846003a54df028686363b5abed59897779)
The file was modifiedsys/net/bpf.h (diff)
Commit f97d0c91eefc8568a11ad47f910cdd9dc7826a72 by zlei
bpf: Some style and white space cleanup

MFC after: 3 days

(cherry picked from commit 1baf6164e4d671ca1547a3096d8ce8fe69ed4e5c)
The file was modifiedsys/net/bpf.h (diff)
The file was modifiedsys/net/bpf.c (diff)
Commit 90ea553a0d309acc3bdb50a3fe2ed0449c8d7e4c by se
vendor/bc: upgrade to version 7.0.2

This update fixes exiting from an interactive bc session with ^D on
FreeBSD and Linux when using editline.

This bug was caused by the macOS fix for editline in version 7.0.0,
which has been reverted in this version.

Reported by: mack@macktronics.com

(cherry picked from commit c2c85f88902d18d2e9702381f1628112e15a5c3c)
(cherry picked from commit 9b04aee86ccd58a6f3c936e0cd95bb9305a69848)
The file was modifiedcontrib/bc/include/history.h (diff)
The file was modifiedcontrib/bc/manuals/bc/EHN.1 (diff)
The file was modifiedcontrib/bc/manuals/bc/N.1.md (diff)
The file was modifiedcontrib/bc/manuals/bc/E.1 (diff)
The file was modifiedcontrib/bc/manuals/bc/H.1 (diff)
The file was modifiedcontrib/bc/include/version.h (diff)
The file was modifiedcontrib/bc/manuals/bc/A.1 (diff)
The file was modifiedcontrib/bc/manuals/bc/HN.1.md (diff)
The file was modifiedcontrib/bc/manuals/bc/EH.1 (diff)
The file was modifiedcontrib/bc/manuals/bc/N.1 (diff)
The file was modifiedcontrib/bc/manuals/bc/HN.1 (diff)
The file was modifiedcontrib/bc/src/history.c (diff)
The file was modifiedcontrib/bc/NEWS.md (diff)
The file was modifiedcontrib/bc/manuals/bc/H.1.md (diff)
The file was modifiedcontrib/bc/manuals/bc/EN.1 (diff)
The file was modifiedcontrib/bc/manuals/bc/A.1.md (diff)
Commit 80c5d78d90e65042cf7364b79f5afd3a0509c92e by jamie
MFC jail: unbreak the zfs.mount_snapshot option

The change of its description from integer to boolean didn't actually
change it to a boolean, but only made it impossible to set as either
a boolean or an integer.

Rather than make it work as a boolean parameter should, just revert
to the old (working) integer parameter, and change the documentation
to match.

PR: 274263
Reported by: andrew.hotlab at hotmail

(cherry picked from commit ae1a0648b05acf798816e7b83b3c10856de5c8e5)
The file was modifiedsys/contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c (diff)
The file was modifiedusr.sbin/jail/jail.8 (diff)
Commit 9b8df84c23ed741b53cb1c765c5bf1d8919ce858 by emaste
src.conf.5: regen for ZFS_TESTS knob

(cherry picked from commit a6c8ab4f45496d0e7e49ef8ae0c44f39caefd1fa)

Fixes: 20191b71bae1 ("src.conf: Add a MK_ZFS_TESTS knob")
Sponsored by: The FreeBSD Foundation
The file was modifiedshare/man/man5/src.conf.5 (diff)
Commit 6a645bb3535cb73b1f20db652c9e3893f26a986e by emaste
bhyve: validate corb->wp to avoid infinite loop

Guests must set HDAC_CORBWP less than corb->size.  Treat invalid values
as an error rather than entering an infinite loop.

Reported by: Synacktiv
Reviewed by: markj
Security: HYP-12
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46134

(cherry picked from commit a305f44d1404fbf386bb2b50ab7233ce9eabe0bb)
The file was modifiedusr.sbin/bhyve/pci_hda.c (diff)
Commit d01a9cceefbc072aef212c640d8558768853545e by emaste
Add some AMD device IDs.

(cherry picked from commit 4cc4b5e2b5f85f136169069559108ed7fff351f9)
The file was modifiedsys/dev/ahci/ahci_pci.c (diff)
The file was modifiedsys/dev/sound/pci/hda/hdac.c (diff)
The file was modifiedsys/dev/sound/pci/hda/hdac.h (diff)
The file was modifiedsys/dev/usb/controller/xhci_pci.c (diff)
Commit 5754008f8511ba95d84a35a1a91ff4e0682dee99 by emaste
hda: remove duplicate codec defines

Reviewed by: emaste
Fixes: 35e492f3bd41 ("Update list of Conexant and Realtek codecs.")
Differential Revision: https://reviews.freebsd.org/D45965

(cherry picked from commit 4004e1752ec7992eeace7f0318d2ca3fc7ba9e03)
The file was modifiedsys/dev/sound/pci/hda/hdac.h (diff)
Commit 39f39a96569dc9f8ca9fc8ee351d3d6edabfb631 by emaste
bhyve: simplify slot validation in xHCI emulation

This is a follow-up to commit e72d86ad9c62 ("bhyve: improve input
validation in pci_xhci") -- introducing a helper for slot validation.

Co-authored-by: John Baldwin <jhb@FreeBSD.org>
Reviewed by: markj, emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46696

(cherry picked from commit f505f9a842eb3e75e16e6c7c6f67d5b592b1bc65)
The file was modifiedusr.sbin/bhyve/pci_xhci.c (diff)
Commit 4f4860c9b07cc10cb6acbe6fbd71db45e344d2e6 by kevans
regex: mixed sets are misidentified as singletons

Fix "singleton" function used by regcomp() to turn character set matches
into exact character matches if a character set has exactly one
element.

The underlying cset representation is complex; most critically it
records"small" characters (codepoint less than either 128
or 256 depending on locale) in a bit vector, and "wide" characters in
a secondary array.

Unfortunately the "singleton" function uses to identify singleton sets
treated a cset as a singleton if either the "small" or the "wide" sets
had exactly one element (it would then ignore the other set).

The easiest way to demonstrate this bug:

$ export LANG=C.UTF-8
$ echo 'a' | grep '[abà]'

It should match (and print "a") but instead it doesn't match because the
single accented character in the set is misinterpreted as a singleton.

PR: 281710
Reviewed by: kevans, yuripv
Obtained from: illumos

(cherry picked from commit 8f7ed58a15556bf567ff876e1999e4fe4d684e1d)
The file was modifiedlib/libc/regex/regcomp.c (diff)
The file was modifiedlib/libc/tests/regex/multibyte.sh (diff)
Commit 8748daf670eec754b5e926d107ca1f347cca6948 by mav
ure(4): Add ID for LAN port in Thinkpad OneLink+ dock

That's a pretty old dock for Thinkpad X1 Carbon Gen4 and few others.

MFC after: 1 week

(cherry picked from commit a1bb5bdb0ab69bc3ce1f6051b6abc0cbaab83faa)
The file was modifiedsys/dev/usb/net/if_ure.c (diff)
The file was modifiedsys/dev/usb/usbdevs (diff)
Commit ee5cdcc50d36a9059da2c3bfff49521909ea1bd5 by kbowling
e1000: fix link power down

DPDK commit message

net/e1000/base: fix link power down
Current code is a result of work to reduce duplication between various
device models. However, the logic that was replaced did not exactly
match the new logic, and as a result the link power down was not
working correctly for some NICs, and the link remained up even when
the interface is down.

Fix it to correctly power down the link under all circumstances that
were supported by old logic.

Fixes: 44dddd1 ("net/e1000/base: remove duplicated codes")
Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

Obtained from: DPDK (a8218d0)

(cherry picked from commit 811912c46b5886f1aa3bb7a51a6ec1270bc947a8)
The file was modifiedsys/dev/e1000/e1000_base.c (diff)
Commit 7f89ee2c304d647de5528abd0519cd39365cb50a by kbowling
ixgbe: increase VF reset timeout

DPDK commit meesage

When VF issues a reset to PF there is a 50 msec wait plus an additional
max of 1 msec (200 * 5us) for the PF to indicate the reset is complete
before timeout.

In some cases, it is seen that the reset is timing out, in which case
the reset does not complete and an error is returned.

In order to account for this, continue to wait an initial 50 msecs, but
then allow a max of an additional 50 msecs (10,000 * 5us) for the
command to complete.

Fixes: af75078 ("first public release")
Cc: stable@dpdk.org

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>

Obtained from: DPDK (64e714f)

(cherry picked from commit 28fdb212adc0431fff683749a1307038e25ff58e)
The file was modifiedsys/dev/ixgbe/ixgbe_type.h (diff)
Commit cced5c203046549221e13eea66565bab1d11bae3 by kbowling
ixv: fix x550 VF link speed reported

DPDK commit message

net/ixgbe/base: fix 5G link speed reported on VF
When 5000 Base-T was set on PF the VF reported 100 Base-T. This patch
changes ixgbe_check_mac_link_vf function where there was an incorrect
conditional which checks using PF mac types, now it is correctly
using VF mac types.

Fixes: 12e2090 ("net/ixgbe/base: include new speeds in VFLINK interpretation")
Cc: stable@dpdk.org

Signed-off-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Reviewed-by: Radoslaw Tyl <radoslawx.tyl@intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>

Obtained from: DPDK (9eb7fdb)

(cherry picked from commit ab92cab02633580f763a38a329a5b25050bb4fbf)
The file was modifiedsys/dev/ixgbe/ixgbe_vf.c (diff)
Commit a23401dd1afdf7b2617bf09072781580b12d587c by kbowling
ixgbe: fix PHY ID for X550

DPDK commit message

net/ixgbe/base: fix PHY ID for X550
Function ixgbe_get_phy_type_from_id() for X550_PHY_ID2 and
X550_PHY_ID3 always return ixgbe_phy_unknown instead of ixgbe_phy_aq
because phy ID's last 4 bits are always masked, and should not be
taken into account when selecting phy type.

This patch adds default PHY ID for X550 devices with mask on last 4
bits (0xFFFFFFF0), and fixes the switch statement to use it.

Fixes: 58ddc80 ("ixgbe/base: add new X550 PHY ids")
Cc: stable@dpdk.org

Signed-off-by: Radoslaw Tyl <radoslawx.tyl@intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>

Obtained from: DPDK (a9f5a3b)

(cherry picked from commit 9b56dfd27c64fcaf2dfbaa1eb3e2bd2b163fa56c)
The file was modifiedsys/dev/ixgbe/ixgbe_phy.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_type.h (diff)
Commit d7364cb43fa34cc2d8d9741a1ef760a20227d3d2 by kbowling
ixgbe: rename VF message type macros

DPDK commit message

There is name similarity within IXGBE_VT_MSGTYPE_ACK and
PFMAILBOX.ACK / VFMAILBOX.ACK which may cause confusion. Rename MSGTYPE
macros to SUCCESS and FAILURE as they are not specified in datasheet and
now will be easily distinguishable.

Signed-off-by: Jakub Chylkowski <jakubx.chylkowski@intel.com>
Reviewed-by: Marek Zalfresso-jundzillo <marekx.zalfresso-jundzillo@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Tested-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Tested-by: Alice Michael <alice.michael@intel.com>

Obtained from: DPDK (4f675c9)

(cherry picked from commit 10746040820ee5186caf4d4d61cf88196ec213ba)
The file was modifiedsys/dev/ixgbe/if_sriov.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_vf.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_mbx.h (diff)
Commit 89011d8c4ddf9ad7a4d7c3fc970be2d9029caa1e by kbowling
ixgbe: correct register names to match datasheet

DPDK commit message

net/ixgbe/base: correct registers names to match datasheet
Some of mailbox-related registers have different names than it is
specified in datasheet. Correct these names to correspond to their
datasheet counterparts. Additionally, several calculations are changed
to no longer use magic numbers but dedicated macros instead.

Signed-off-by: Jakub Chylkowski <jakubx.chylkowski@intel.com>
Reviewed-by: Marek Zalfresso-jundzillo <marekx.zalfresso-jundzillo@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Tested-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Tested-by: Alice Michael <alice.michael@intel.com>

Obtained from: DPDK (10fd55e)

(cherry picked from commit b3c7fde6fe9113f849232604523878b4b68df0cc)
The file was modifiedsys/dev/ixgbe/ixgbe_mbx.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_type.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_mbx.h (diff)
Commit 5d07b8f514991072d6e04fb9801fe3ee2bbb8e1e by zlei
iflib: Fix compiler warnings

Some of the QUAD sysctls are actually for unsigned quad values.
Switch to using UQUAD instead, as that is meant for unsigned.

Reviewed by: erj, jhb
Obtained from: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D44620

(cherry picked from commit 303dea74c2cb3a41fba455fce8577993e637c3da)
The file was modifiedsys/net/iflib.c (diff)
Commit 2f3af838e6fc42d672cadde7cff43163b69fc167 by zlei
iflib: Correct indentation according to style(9)

The indentation style for the SYSCTL_* macros used was not matching KNF.

Reported by: jhb
Differential Revision: https://reviews.freebsd.org/D44811

(cherry picked from commit e4a0c92e7aea50654290e3082668932cea16b64f)
The file was modifiedsys/net/iflib.c (diff)
Commit a8eb9e3844dacbf2c3d7e8e85b7fe23c2ea7f7eb by zlei
iflib: Prefer C99's __func__ over GCC's __FUNCTION__

MFC after: 3 days

(cherry picked from commit b90ba458dcaecc4041e008b99fde003bc9867a0d)
The file was modifiedsys/net/iflib.c (diff)
Commit 647860bff21446419dee923b07490fd4a6cd181a by zlei
iflib: Many style fixes

MFC after: 3 days

(cherry picked from commit fa7045f99cdb2b699205653f42f3fe78597880a7)
The file was modifiedsys/net/iflib.c (diff)
Commit ddbbc129ae0fc35cef2834b308097ae1490176e3 by emaste
faccessat(2): Honor AT_SYMLINK_NOFOLLOW

Make the system call honor `AT_SYMLINK_NOFOLLOW`.

Also enable this from `linux_faccessat2` where the issue arised the first time.
Update manual pages accordingly.

PR: 275295
Reported by: kenrap@kennethraplee.com
Approved by: kib@
Differential Revision: https://reviews.freebsd.org/D46267

(cherry picked from commit 5ab6ed93cd3680f8b69dd4d05823f4740a2bdef9)
The file was modifiedbin/ln/symlink.7 (diff)
The file was modifiedsys/compat/linux/linux_file.c (diff)
The file was modifiedsys/kern/vfs_syscalls.c (diff)
The file was modifiedlib/libc/sys/access.2 (diff)
Commit 8abae0be0fcec059dba0682def252995f38bc300 by kbowling
ixgbe: introduce new mailbox API

DPDK commit message

Current mailbox API does not work as described in documentation and
is prone to errors (for example, it is doing locks on read). Introduce
new mailbox API and provide compatibility functions with old API.

New error codes have been introduced:
- IXGBE_ERR_CONFIG - ixgbe_mbx_operations is not correctly set
- IXGBE_ERR_TIMEOUT - mailbox operation, e.g. poll for message, timedout
- IXGBE_ERR_MBX_NOMSG - no message available on read

In addition, some refactoring has been done: mailbox structures were
defined twice: in ixgbe_type.h and ixgbe_vf.h. Move them into
ixgbe_mbx.h as this header is dedicated for mailbox.

Signed-off-by: Jakub Chylkowski <jakubx.chylkowski@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>
Reviewed-by: Piotr Pietruszewski <piotr.pietruszewski@intel.com>
Tested-by: Alice Michael <alice.michael@intel.com>
Tested-by: Piotr Skajewski <piotrx.skajewski@intel.com>

Obtained from: DPDK (6d243d2)

Reapply message

This reverts commit d80c12ba682a6f23791f3d6e657f9e603b152aa2.

(cherry picked from commit 7234c3099947d202702e98d844ecd2d649c834d2)
The file was modifiedsys/dev/ixgbe/if_ix.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_82599.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_x540.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_mbx.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_type.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_vf.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_mbx.c (diff)
Commit 004a73f51df49fd4f17148f123f7776fb35de3ab by kbowling
ixgbe: increase DCB BW calculation for MTU

Change max credit and credit refill to a maximum possible value, 9128.
Too small values cause the incorrect calculation of the bandwidth limits
to each traffic class for frames larger than 4088 bytes.

Signed-off-by: Radoslaw Tyl <radoslawx.tyl@intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>
Tested-by: Piotr Skajewski <piotrx.skajewski@intel.com>

Obtained from: DPDK (440823f)

(cherry picked from commit 1b80ac6fa64eaa575b99521cbd71a3780bf5139b)
The file was modifiedsys/dev/ixgbe/ixgbe_dcb.h (diff)
Commit dc3f0089b14134f3eb0646de2cdf7ff57f39b2db by kbowling
ixgbe: improve function comments

Some function comments have mismatches between actual function names and
function name in comments, which causes warnings with kernel-doc. Fix
comments to match function names.

Signed-off-by: Radoslaw Tyl <radoslawx.tyl@intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>

Obtained from: DPDK (7b5bc85)

(cherry picked from commit edef2769483b29457f028a508ea96fc1099a0a21)
The file was modifiedsys/dev/ixgbe/ixgbe_x550.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_dcb.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_api.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_phy.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_82599.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_common.c (diff)
Commit 3e34560b17c7209982dada156851ff4944426411 by kbowling
ixgbe: add reset count field to HW struct

DPDK commit message

net/ixgbe/base: add reset count field to HW struct
Add fw_rst_cnt to store the number of resets after fw update.
This value is required to detect if the EICR.MNG event occurred
after firmware update reset.

Signed-off-by: Radoslaw Tyl <radoslawx.tyl@intel.com>
Reviewed-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Reviewed-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>

Obtained from: DPDK (9ab0e9c)

(cherry picked from commit 224f7ab8b4706653c7d3f78e624bc36c97679f30)
The file was modifiedsys/dev/ixgbe/ixgbe_type.h (diff)
Commit c7bdf0c5e19bcf5ec0a6c591646f35ca5dd7b4dc by kbowling
ixgbe: Remove Atom C3000 HIC FW access

DPDK commit message

net/ixgbe/base: replace HIC with direct register access
Unify FW access method to direct register read/writes across all
Atom(R) C3000 products.

Atom(R) C3000 fiber exhibited an issue with the Host Interface Command
execution being locked when another LAN function attempted to acquire
the SWFW sync on Manageability Host. This resulted in HIC atomicity
break and bogus data being read since the other LAN function cleared
all semaphores on timeout whereas HIC execution continued after
unlock.  Direct register IOSF access showed higher stability and
reliability.

Signed-off-by: Marek Mical <marekx.mical@intel.com>
Reviewed-by: Krzysztof Galazka <krzysztof.galazka@intel.com>
Reviewed-by: Eryk Rybak <eryk.roch.rybak@intel.com>
Reviewed-by: Francis Racicot <Francis.Racicot@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>

Obtained from: DPDK (e947f1e)

(cherry picked from commit f56311e37d4c39b1deab6aa8523f3332c29e1ad3)
The file was modifiedsys/dev/ixgbe/ixgbe_x550.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_x550.h (diff)
Commit fc143df912602c4609dac52358f5ea29f19a7bda by kbowling
ixgbe: replace implicit fall-through comments

DPDK commit message

Convert all "fall-through" comments to actual code. This aligns the code
with the kernel which no longer allows implicit fallthrough.

Signed-off-by: Piotr Skajewski <piotrx.skajewski@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>

Obtained from: DPDK (ae8211f)

(cherry picked from commit 50455f73c28114c665551cba267ec964491ccf21)
The file was modifiedsys/dev/ixgbe/ixgbe_82599.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_x550.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_common.c (diff)
Commit ccd26561090812a4ead648487d51eac2e9a07aab by kbowling
ixgbe: use primary and block terminology

DPDK commit message

net/ixgbe/base: replace non-inclusive language
This patch removes non-inclusive language from code, user interface
and comments.

Signed-off-by: Marcin Jurczak <marcin.jurczak@intel.com>
Reviewed-by: Alice Michael <alice.michael@intel.com>

Obtained from: DPDK (f12a4bd)

(cherry picked from commit 4530d49e68d331e9168d3a216d8a4b8e0d547578)
The file was modifiedsys/dev/ixgbe/ixgbe_common.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_type.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_common.c (diff)
Commit a160f29c69be620b2b6b4e02aa00c1b573e3989b by kbowling
ixgbe: remove circular dependency in ixgbe_mbx.h

DPDK commit message

net/ixgbe/base: remove circular header dependency
Including one header file in second header file should be avoided, so
fix it by forward declaring the struct instead.

Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>

Obtained from: DPDK (0bc2af5)

(cherry picked from commit 3167854b9d2188c4039239f741870e044b7507ac)
The file was modifiedsys/dev/ixgbe/ixgbe_mbx.h (diff)
Commit 64945a6b4b9e130a37db2d6d86048d93754badbc by kbowling
ixgbe: add missing QV defines

DPDK commit message

net/ixgbe/base: add missing QV defines
This patch adds missing QV defines:
- offset of ANVM data
- Immediate Field module pointer offset
- 2.5GBASE-T and 5GBASE-T physical layer types for X550

Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Jan Sokolowski <jan.sokolowski@intel.com>

Obtained from: DPDK (a730b83)

(cherry picked from commit bfa48c32bc4099cb58b9fe7efab7f376475539ef)
The file was modifiedsys/dev/ixgbe/ixgbe_type.h (diff)
Commit 2bff788d32d12ceb1e82866234b183aef30dc697 by kbowling
ixgbe: improve Atom C3000 SWFW semaphore acq

DPDK commit message

net/ixgbe/base: improve SWFW semaphore acquisition
HWSW semaphore acquisition in Atom C3000 NIC is a two stage process.
Each time two semaphore acquisitions are required. Each second semaphore
failure requires re-acquisition of first semaphore. This patch decouples
the two acquisitions preventing potentially hundreds of thousands
of unnecessary loop iterations.

Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>

Obtained from: DPDK (99f960c)

(cherry picked from commit cc9944183187308a71489651b11342d293aac7d1)
The file was modifiedsys/dev/ixgbe/ixgbe_x550.c (diff)
Commit 0ea3d1ca5e27b0af2573e0d7ca83ba5d113ed1c5 by kbowling
ixgbe: prevent PBA read over eeprom word size

DPDK commit message

net/ixgbe/base: prevent untrusted loop bound
Added length check against EEPROM size in words to prevent untrusted
loop bound reported by static code analysis.

Signed-off-by: Dawid Zielinski <dawid.zielinski@intel.com>

Obtained from: DPDK (6b58617)

(cherry picked from commit 25771c8c1ae606436823854de01fc2b23178e353)
The file was modifiedsys/dev/ixgbe/ixgbe_common.c (diff)
Commit 744014e62d6ee5bd16c8ad92293b51e377c5df77 by kbowling
ixgbe: remove unused function prototypes

DPDK commit message

net/ixgbe/base: remove unused function prototypes
There are some function prototypes that were introduced at some point
but were never implemented, so remove them.

Signed-off-by: Chinh Cao <chinh.t.cao@intel.com>

Obtained from: DPDK (e9cc1b4)

(cherry picked from commit 420c984470270e0f7200124d8015236584aef243)
The file was modifiedsys/dev/ixgbe/ixgbe_x550.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_api.h (diff)
Commit dcf7b92d48b6db30851b8b73cff8c8ef34f8f97a by kbowling
ixgbe: fix compilation for VF

The mailbox API changed in version 15 and these array ops were left out
of the recent code import as applicable to FreeBSD.

Reported by: vishwin, yasu
Differential Revision: https://reviews.freebsd.org/D46708

(cherry picked from commit 267f223f622fdbf779cc43b5a564bb02e2b59ecd)
The file was modifiedsys/dev/ixgbe/if_sriov.c (diff)
Commit 6828020a6b9a869ccc15c02fa9571357b3bcc2a6 by kbowling
ixgbe: update if_sriov to use the new mailbox apis

This fixes a page fault when creating VFs and updates to the new mailbox
API and naming conventions.

The functionality works to the same level that it did before my recent
changes. In particular on my 82599 it creates both passthru and ixv
interfaces. In either case, the PF seems to lose the ability to pass
traffic. The ixv driver fails to attach. These issues are present with
or without my updates.

If you use SR-IOV on ixgbe I would be interested in hearing what does
or does not work for you.

(cherry picked from commit 36c516b31136f645472c12d8597534656272acd6)
The file was modifiedsys/dev/ixgbe/if_sriov.c (diff)
Commit c09ca8f43de12fecf701920675b793cbafba58c5 by rmacklem
mountd: Add check for "=" after exports(5) options

Some exports(5) options take a "=arg" component that provides an
argument value for the option.  Others do not.
Without this patch, if "=arg" was provided for an option that did
not take an argument value, the "=arg" was simply ignored.
This could result in confusion w.r.t. what was being exported,
as noted by the Problem Report.

This patch adds a check for "=arg" for the options that do not
take an argument value and fails the exports line if one is found.

PR: 281003
(cherry picked from commit 3df987c99d1194a0e43a84853e934aa0c0ab09db)
The file was modifiedusr.sbin/mountd/mountd.c (diff)
Commit cc43f991ab3e46ec16f3f1395160805f01bf932e by ngie
openssl: Import OpenSSL 3.0.15.

This release incorporates the following bug fixes and mitigations:
- Fixed possible denial of service in X.509 name checks ([CVE-2024-6119])
- Fixed possible buffer overread in SSL_select_next_proto() ([CVE-2024-5535])

Release notes can be found at:
https://openssl-library.org/news/openssl-3.0-notes/index.html

Co-authored-by: gordon
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D46602

Merge commit '108164cf95d9594884c2dcccba2691335e6f221b'

(cherry picked from commit a7148ab39c03abd4d1a84997c70bf96f15dd2a09)

Update config/build info for OpenSSL 3.0.15

This is a companion commit to the OpenSSL 3.0.15 update.

`opensslv.h` was regenerated via the following process:

```
cd crypto/openssl
./config
git reset --hard
gmake include/openssl/opensslv.h
```

`Makefile.inc` has been updated to match.

MFC after: 1 week
MFC with: a7148ab39c03abd4d1a84997c70bf96f15dd2a09
Differential Revision: https://reviews.freebsd.org/D46603

(cherry picked from commit cc717b574d7faa2e0b2de1a985076286cef74187)

sys/crypto/openssl: update powerpc* ASM

This change updates the crypto powerpc* ASM via the prescribed process
documented in `crypto/openssl/FREEBSD-upgrade`.

This change syncs the ASM with 3.0.15's generated ASM.

MFC after: 1 week
MFC with: a7148ab39c03abd4d1a84997c70bf96f15dd2a09
MFC with: cc717b574d7faa2e0b2de1a985076286cef74187
Differential Revision: https://reviews.freebsd.org/D46604

(cherry picked from commit 77864b545b0aaa91bc78b1156c477825007a6233)
The file was modifiedcrypto/openssl/doc/man3/BIO_f_base64.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_LIB_CTX.pod (diff)
The file was addedcrypto/openssl/test/recipes/04-test_conf_data/oversized_line.txt
The file was modifiedcrypto/openssl/crypto/evp/ctrl_params_translate.c (diff)
The file was modifiedcrypto/openssl/doc/man3/ASN1_INTEGER_new.pod (diff)
The file was modifiedcrypto/openssl/util/check-format-test-negatives.c (diff)
The file was modifiedcrypto/openssl/crypto/asn1/a_mbstr.c (diff)
The file was modifiedcrypto/openssl/crypto/evp/names.c (diff)
The file was modifiedcrypto/openssl/crypto/rsa/rsa_oaep.c (diff)
The file was modifiedcrypto/openssl/doc/man3/OCSP_response_status.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_PARAM_dup.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/BN_generate_prime.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/DSA_SIG_new.pod (diff)
The file was modifiedcrypto/openssl/Configurations/10-main.conf (diff)
The file was modifiedcrypto/openssl/doc/man3/OCSP_cert_to_id.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_HTTP_REQ_CTX.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_SIGNATURE.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_PARAM_BLD.pod (diff)
The file was modifiedcrypto/openssl/util/perl/TLSProxy/Proxy.pm (diff)
The file was modifiedcrypto/openssl/doc/man3/CTLOG_new.pod (diff)
The file was modifiedcrypto/openssl/util/perl/TLSProxy/Message.pm (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_KEYEXCH_free.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/BN_set_bit.pod (diff)
The file was modifiedcrypto/openssl/crypto/aes/build.info (diff)
The file was modifiedcrypto/openssl/crypto/asn1/a_strex.c (diff)
The file was modifiedcrypto/openssl/doc/man3/BIO_ADDR.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/MD5.pod (diff)
The file was modifiedcrypto/openssl/test/recipes/25-test_eai_data.t (diff)
The file was modifiedcrypto/openssl/doc/man3/ENGINE_add.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_ENCODER_CTX.pod (diff)
The file was modifiedcrypto/openssl/crypto/bio/bio_addr.c (diff)
The file was modifiedcrypto/openssl/fuzz/bignum.c (diff)
The file was modifiedcrypto/openssl/doc/man3/OPENSSL_malloc.pod (diff)
The file was modifiedcrypto/openssl/crypto/conf/conf_sap.c (diff)
The file was modifiedcrypto/openssl/test/recipes/30-test_evp_data/evppkey_rsa_common.txt (diff)
The file was modifiedcrypto/openssl/crypto/pkcs12/p12_crt.c (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_ENCODER.pod (diff)
The file was modifiedcrypto/openssl/ssl/t1_lib.c (diff)
The file was modifiedcrypto/openssl/crypto/evp/digest.c (diff)
The file was modifiedcrypto/openssl/INSTALL.md (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_EncodeInit.pod (diff)
The file was modifiedcrypto/openssl/include/openssl/opensslv.h (diff)
The file was modifiedcrypto/openssl/test/crltest.c (diff)
The file was modifiedcrypto/openssl/doc/man7/ossl_store.pod (diff)
The file was modifiedcrypto/openssl/doc/fingerprints.txt (diff)
The file was addedcrypto/openssl/util/check-format-commit.sh
The file was modifiedcrypto/openssl/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod (diff)
The file was modifiedcrypto/openssl/VERSION.dat (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_CMP_SRV_CTX_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man7/EVP_KEYEXCH-DH.pod (diff)
The file was addedcrypto/openssl/test/evp_byname_test.c
The file was addedcrypto/openssl/test/recipes/04-test_conf_data/oversized_line.cnf
The file was modifiedcrypto/openssl/crypto/asn1/a_d2i_fp.c (diff)
The file was modifiedcrypto/openssl/ssl/statem/extensions_srvr.c (diff)
The file was modifiedcrypto/openssl/doc/man3/BN_add.pod (diff)
The file was modifiedsys/crypto/openssl/powerpc64/aesp8-ppc.S (diff)
The file was modifiedcrypto/openssl/providers/fips-sources.checksums (diff)
The file was modifiedcrypto/openssl/crypto/evp/pmeth_lib.c (diff)
The file was modifiedcrypto/openssl/crypto/rand/randfile.c (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_DigestInit.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OCSP_REQUEST_new.pod (diff)
The file was modifiedcrypto/openssl/ssl/statem/statem_lib.c (diff)
The file was modifiedcrypto/openssl/doc/man3/SCT_new.pod (diff)
The file was modifiedcrypto/openssl/test/recipes/30-test_evp_data/evppkey_dsa.txt (diff)
The file was modifiedcrypto/openssl/doc/man1/openssl-s_client.pod.in (diff)
The file was modifiedcrypto/openssl/test/recipes/04-test_conf.t (diff)
The file was modifiedcrypto/openssl/doc/man1/openssl-enc.pod.in (diff)
The file was modifiedcrypto/openssl/crypto/conf/conf_def.c (diff)
The file was addedcrypto/openssl/util/perl/TLSProxy/NextProto.pm
The file was modifiedcrypto/openssl/test/ssl-tests/08-npn.cnf (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_KEYMGMT.pod (diff)
The file was modifiedcrypto/openssl/crypto/pkcs7/pk7_doit.c (diff)
The file was modifiedcrypto/openssl/doc/man3/RAND_set_DRBG_type.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/SSL_CTX_set_cipher_list.pod (diff)
The file was modifiedcrypto/openssl/test/provider_internal_test.c (diff)
The file was modifiedcrypto/openssl/test/provider_fallback_test.c (diff)
The file was modifiedcrypto/openssl/test/ssl-tests/09-alpn.cnf (diff)
The file was modifiedcrypto/openssl/doc/man3/BIO_meth_new.pod (diff)
The file was modifiedcrypto/openssl/include/openssl/tls1.h (diff)
The file was modifiedcrypto/openssl/providers/fips.checksum (diff)
The file was modifiedcrypto/openssl/CONTRIBUTING.md (diff)
The file was modifiedcrypto/openssl/providers/implementations/encode_decode/decode_der2key.c (diff)
The file was modifiedcrypto/openssl/crypto/engine/eng_table.c (diff)
The file was modifiedcrypto/openssl/doc/man3/CT_POLICY_EVAL_CTX_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_PKEY_meth_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/NCONF_new_ex.pod (diff)
The file was modifiedcrypto/openssl/include/crypto/aes_platform.h (diff)
The file was modifiedcrypto/openssl/doc/man3/X509_STORE_new.pod (diff)
The file was modifiedcrypto/openssl/crypto/context.c (diff)
The file was modifiedcrypto/openssl/doc/man3/OPENSSL_secure_malloc.pod (diff)
The file was modifiedcrypto/openssl/apps/lib/s_cb.c (diff)
The file was modifiedcrypto/openssl/test/provider_test.c (diff)
The file was modifiedcrypto/openssl/doc/man3/CTLOG_STORE_new.pod (diff)
The file was modifiedcrypto/openssl/apps/dgst.c (diff)
The file was modifiedcrypto/openssl/crypto/bio/bf_readbuff.c (diff)
The file was modifiedcrypto/openssl/doc/man3/BIO_ADDRINFO.pod (diff)
The file was modifiedsys/crypto/openssl/powerpc64/poly1305-ppc.S (diff)
The file was modifiedsys/crypto/openssl/powerpc64le/poly1305-ppc.S (diff)
The file was modifiedcrypto/openssl/crypto/x509/x_name.c (diff)
The file was modifiedcrypto/openssl/doc/HOWTO/certificates.txt (diff)
The file was modifiedcrypto/openssl/ssl/ssl_lib.c (diff)
The file was modifiedcrypto/openssl/ssl/statem/extensions_clnt.c (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_SELF_TEST_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_CMP_CTX_new.pod (diff)
The file was modifiedsys/crypto/openssl/powerpc/poly1305-ppc.S (diff)
The file was modifiedcrypto/openssl/doc/man3/X509_LOOKUP_meth_new.pod (diff)
The file was modifiedcrypto/openssl/test/ssl-tests/09-alpn.cnf.in (diff)
The file was modifiedcrypto/openssl/crypto/conf/conf_lib.c (diff)
The file was modifiedcrypto/openssl/doc/man1/openssl-verification-options.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/X509_LOOKUP.pod (diff)
The file was modifiedcrypto/openssl/CHANGES.md (diff)
The file was modifiedcrypto/openssl/doc/man3/OPENSSL_init_crypto.pod (diff)
The file was modifiedsecure/lib/libcrypto/Makefile.inc (diff)
The file was modifiedcrypto/openssl/doc/man3/ECDSA_SIG_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_DECODER_CTX.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/RSA_meth_new.pod (diff)
The file was modifiedcrypto/openssl/ssl/statem/extensions.c (diff)
The file was modifiedcrypto/openssl/test/recipes/30-test_evp_data/evppkey_ecdsa.txt (diff)
The file was modifiedcrypto/openssl/doc/man7/EVP_PKEY-DH.pod (diff)
The file was modifiedcrypto/openssl/apps/cms.c (diff)
The file was modifiedcrypto/openssl/doc/man3/X509_dup.pod (diff)
The file was removedcrypto/openssl/FAQ.md
The file was modifiedcrypto/openssl/test/sslapitest.c (diff)
The file was modifiedcrypto/openssl/doc/man3/DH_meth_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/X509V3_get_d2i.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/d2i_X509.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/HMAC.pod (diff)
The file was modifiedcrypto/openssl/providers/implementations/rands/drbg.c (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_DECODER.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/ASYNC_WAIT_CTX_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/BUF_MEM_new.pod (diff)
The file was modifiedcrypto/openssl/test/recipes/03-test_fipsinstall.t (diff)
The file was addedcrypto/openssl/test/recipes/30-test_evp_byname.t
The file was modifiedcrypto/openssl/ssl/ssl_sess.c (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_RAND.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/PEM_read_bio_PrivateKey.pod (diff)
The file was modifiedcrypto/openssl/apps/lib/opt.c (diff)
The file was modifiedcrypto/openssl/doc/man1/openssl-passphrase-options.pod (diff)
The file was addedcrypto/openssl/test/recipes/70-test_npn.t
The file was modifiedcrypto/openssl/crypto/cmp/cmp_vfy.c (diff)
The file was modifiedcrypto/openssl/util/check-format.pl (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_EncryptInit.pod (diff)
The file was modifiedcrypto/openssl/test/evp_extra_test.c (diff)
The file was modifiedcrypto/openssl/util/perl/OpenSSL/Test/Utils.pm (diff)
The file was modifiedcrypto/openssl/test/endecode_test.c (diff)
The file was modifiedcrypto/openssl/crypto/x509/v3_utl.c (diff)
The file was modifiedcrypto/openssl/doc/man3/X509_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/DSA_meth_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_PKEY_ASN1_METHOD.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_STORE_LOADER.pod (diff)
The file was modifiedsys/crypto/openssl/powerpc64le/aesp8-ppc.S (diff)
The file was modifiedcrypto/openssl/crypto/o_str.c (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_STORE_INFO.pod (diff)
The file was modifiedsys/crypto/openssl/powerpc/aesp8-ppc.S (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_MD_meth_new.pod (diff)
The file was modifiedcrypto/openssl/test/prov_config_test.c (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_CMP_validate_msg.pod (diff)
The file was modifiedcrypto/openssl/crypto/aes/asm/aesp8-ppc.pl (diff)
The file was modifiedcrypto/openssl/crypto/asn1/tasn_fre.c (diff)
The file was modifiedcrypto/openssl/doc/man3/TS_RESP_CTX_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_STORE_SEARCH.pod (diff)
The file was modifiedcrypto/openssl/Configure (diff)
The file was modifiedcrypto/openssl/doc/man3/SSL_CTX_set_alpn_select_cb.pod (diff)
The file was modifiedcrypto/openssl/ssl/bio_ssl.c (diff)
The file was modifiedcrypto/openssl/apps/smime.c (diff)
The file was modifiedcrypto/openssl/doc/man3/OPENSSL_LH_COMPFUNC.pod (diff)
The file was modifiedcrypto/openssl/include/crypto/bn.h (diff)
The file was modifiedcrypto/openssl/doc/man3/CRYPTO_THREAD_run_once.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_CIPHER_meth_new.pod (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_KEM_free.pod (diff)
The file was modifiedcrypto/openssl/test/build.info (diff)
The file was modifiedcrypto/openssl/doc/man3/EVP_ASYM_CIPHER_free.pod (diff)
The file was modifiedcrypto/openssl/crypto/asn1/a_verify.c (diff)
The file was modifiedcrypto/openssl/crypto/ec/ecdsa_ossl.c (diff)
The file was modifiedcrypto/openssl/test/ssl-tests/08-npn.cnf.in (diff)
The file was modifiedcrypto/openssl/Configurations/15-ios.conf (diff)
The file was modifiedcrypto/openssl/doc/man1/openssl-s_server.pod.in (diff)
The file was modifiedcrypto/openssl/doc/man3/OSSL_DECODER_CTX_new_for_pkey.pod (diff)
The file was modifiedcrypto/openssl/crypto/property/property.c (diff)
The file was modifiedcrypto/openssl/NEWS.md (diff)
The file was modifiedcrypto/openssl/test/helpers/handshake.c (diff)
The file was modifiedcrypto/openssl/test/hexstr_test.c (diff)
Commit c2dca1b5607fa4c69d5357c717c3b2dd359e2f26 by ngie
radlib: fix a memory leak in `is_valid_request`

Call `HMAC_CTX_free` if returning early from `is_valid_request` when
processing `Message-Authenticator` tags.

Reported by: Coverity
MFC after: 1 week
Fixes: 8d5c7813061d ("libradius: Fix input validation bugs")
Differential Revision: https://reviews.freebsd.org/D45488

(cherry picked from commit 77c04f3eb12a560eb61252c817e4147bc0178e43)
The file was modifiedlib/libradius/radlib.c (diff)
Commit c6961c90fd2a320a0e4da1771dc47a1fe8f56b0b by ngie
lib/libcrypt: remove trailing whitespace

No functional change intended.

MFC after: 2 weeks

(cherry picked from commit 8ef8da882ff475e3da3bde57d97593a68f7d97b2)
The file was modifiedlib/libcrypt/crypt-nthash.c (diff)
Commit c931eed5bc4346fac88a4a7224f26f280ecd11be by ngie
lib/libcrypt: another trivial style change

Normalize on hard tabs.

I didn't catch this before pushing the previous commit.

No functional changes intended.

MFC after: 2 weeks
MFC with: 8ef8da882ff475e3da3bde57d97593a68f7d97b2

(cherry picked from commit 61b15e6dfc963a0c67dbaeae7f4590674976111f)
The file was modifiedlib/libcrypt/crypt-nthash.c (diff)
Commit a0d55936c9da931147655e9ff48d1b3b1a1f8e73 by kbowling
e1000: Update igb driver version to 2.5.28-fbsd

Bump to the current out of tree driver version since we only have some
gratuitous changes.

(cherry picked from commit ddfec1fb6814088abc5805f45c4a18c5731d51b9)
The file was modifiedsys/dev/e1000/if_em.c (diff)
The file was modifiedsys/dev/e1000/e1000_i210.c (diff)
The file was modifiedsys/dev/e1000/e1000_base.c (diff)
The file was modifiedsys/dev/e1000/e1000_phy.c (diff)
Commit 1091dcca0e8280d0932b3d31389ffe28fd2934d3 by kbowling
ixgbe: update if_bypass to ix-3.3.38

Bring if_bypass up to date with changes in the out of tree driver

Drop NEEDGIANT as the sysctl handlers have internal mutex for state
changes.

(cherry picked from commit c41a0eeea0d69264317401dd3fac46be160081b5)
The file was modifiedsys/dev/ixgbe/if_bypass.c (diff)
Commit af9d02f4da5f5c8139f5ae67a7afc5fcb0d01e02 by kbowling
ixgbe: update ixgbe_phy with ix-3.3.38 changes

(cherry picked from commit e06918b94ac44448272a9d6747dcdba142e18b58)
The file was modifiedsys/dev/ixgbe/ixgbe_phy.c (diff)
Commit 09c658172a03ffae272092527ee43b39adbb6e17 by kbowling
ixgbe: update ixgbe_mbx with ix-3.3.38 changes

(cherry picked from commit 0acea458f82d95b75193bf6ce6321906032abf40)
The file was modifiedsys/dev/ixgbe/ixgbe_mbx.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_mbx.h (diff)
Commit b8c2ff930b397951a158ce150a5c6f8b2c533cf6 by kbowling
ixgbe: update if_ix and ixgbe api with ix-3.3.38 changes

(cherry picked from commit f72de14ea13259db78b06c50da6c864dea698668)
The file was modifiedsys/dev/ixgbe/ixgbe_common.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_features.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_rss.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_type.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_api.c (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_api.h (diff)
The file was modifiedsys/dev/ixgbe/ixgbe_common.h (diff)
The file was modifiedsys/dev/ixgbe/if_ix.c (diff)
Commit e9e57ee70bfac510c0efa9af7900540e489dacec by kbowling
ixgbe: update if_sriov with ix-3.3.38 changes

There are some critical fixes here. The PF must communicate with each VF
slot (vf->pool), only VFs shall use 0 for everything.

IXGBE_FEATURE_SRIOV needs to be set before calling ixgbe_if_init().

With these changes, ixv(4) now attaches to VFs, but after bringing up
VFs, the PF and VF still are not correctly passing traffic.

(cherry picked from commit b6cd053e6da9bb8f77d2c6069260e52bbd53fa4a)
The file was modifiedsys/dev/ixgbe/if_sriov.c (diff)
Commit edf4f6a6ecd402c1aafb76f131b507f90191da19 by kbowling
ixgbe: fix fw_recovery_mode callout

Need to pass the softc in with the callout arg

(cherry picked from commit a924b5ee6a1b4456b5bde979bb9e15d18726de4f)
The file was modifiedsys/dev/ixgbe/if_ix.c (diff)
Commit ff26fd77ee44de1b2a4c0a527deb6eb44c2fa238 by bz
libc/getnameinfo: stop adding NI_NUMERICHOST where inappropriate

Checking the first nibble of the IPv6 address to be 0 and then
excluding two well known cases (v4-mapped, loopback) leaves us with
more cases where the first nibble could be 0, e.g., the RFC 6052,
2.1 Well-Known Prefix 64:ff9b::/96.
It is not practical to track them all and it is not clear what lead
to this special casing originally, so remove them.

While here also remove the IN6_IS_ADDR_LINKLOCAL() + NI_NUMERICHOST
case as link-local address resolution does exist.

We do leave the IN6_IS_ADDR_MULTICAST() case for now as I could
not find any references to any official reverse lookups for these.

Adding comments for more case (and some historic behaviour) in order
to make it easier to follow the logic.

PR: 279618
Fixes: 6cb9418289f90
Reviewed by: hrs
Differential Revision: https://reviews.freebsd.org/D45547

(cherry picked from commit c179937b986ec3959d89bfeb8eed0a6f58a28649)
The file was modifiedlib/libc/net/getnameinfo.c (diff)
Commit d60a0ffecfdf6f29ff52c9b71d2d5b6d2a34fddb by bz
rc: network.subr update consitency with older change (v6/v4 order)

As of 1b5be7204eaeeaf58eefdebe5b308f90792c693b we setup parts of IPv6
before IPv4 if configured.  For consistency change a case in ifn_start()
calling ipv6_up() before ipv4_up() and reverse in ifn_stop().

Reviewed by: zlei
Differential Revision: https://reviews.freebsd.org/D33426

(cherry picked from commit ed4d2a54fc7a0397c2042f496f176305ca03ebdd)
The file was modifiedlibexec/rc/network.subr (diff)
Commit 6f58191b301df3a43aea40c2c98d62f8178e2b60 by bz
mmccam: fix mmcsd disk aliases

For EXT_CSD_PART_CONFIG_ACC_BOOT<n> and possibly others with suffixes
we fail to create proper disk aliases (symlinks), which shows up as
g_dev_taste: make_dev_alias_p() failed (name=mmcsd0, error=17)

In this case we ended up with the followng two:
  /dev/mmcsd0 -> sdda0
  /dev/mmcsd1 -> sdda0boot1
Note that (i) it should be mmcsd0boot1 and not mmcsd1 and that
(ii) there is no mmcsd0boot0 (failed above as it tried to create a
second mmcsd0).

Adjust the code (using a highly simplified version--compared to my
original approach--suggested by imp) using an extended format string
with (sdda/mmcsd) prefix as first argument to create proper names.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D43538

(cherry picked from commit a84d91d81a6f3eeb4949c4fb3440e0634f2b953a)
The file was modifiedsys/cam/mmc/mmc_da.c (diff)
Commit 1eb6c9cfc9b0aa4d3bcef342faed25391c421b24 by bz
malloc(9): extend contigmalloc(9) by a "slab cookie"

Extend kern_malloc.c internals to also cover contigmalloc(9) by a
"slab cookie" and not just malloc/malloc_large.  This allows us to
call free(9) even on contigmalloc(9) addresses and deprecate
contigfree(9).  Update the contigmalloc(9) man page accordingly.

The way this is done (free(9) working for contigmalloc) will hide the
UMA/VM bits from a consumer which may otherwise need to know whether
the original allocation was by malloc or contigmalloc by looking at
the cookie (likely via an accessor function).  This simplifies
the implementation of consumers of mixed environments a lot.

This is preliminary work to allow LinuxKPI to be adjusted to better
play by the rules Linux puts out for various allocations.
Most of this was described/explained to me by jhb.

One may observe that realloc(9) is currently unchanged (and contrary
to [contig]malloc/[contig]free an implementation may need access
the "slab cookie" information given it will likely be implementation
dependent which allocation type to use if size changes beyond the
usable size of the initial allocation).

Described by: jhb
Sponsored by: The FreeBSD Foundation
Reviewed by: markj, kib
Differential Revision: https://reviews.freebsd.org/D45812

(cherry picked from commit 9e6544dd6e02c46b805d11ab925c4f3b18ad7a4b)
The file was modifiedshare/man/man9/contigmalloc.9 (diff)
The file was modifiedsys/kern/kern_malloc.c (diff)
Commit 1364bc30deec992a3aee2bcec0ad4a3ceb0b8934 by bz
kern_malloc: remove '.' and '\n' from KASSERT/panic

KASSERT and panic calls should not have a '.' at the end of the message
and do not need '\n'.  Remove these.

No functional changes.

Reported by: markj (during review of D45812)
Sponsored by: The FreeBSD Foundation
Reviewed by: markj, kib
Differential Revision: https://reviews.freebsd.org/D46093

(cherry picked from commit c0df224ba5b1fe6257dd197f8298bf59fb6e520f)
The file was modifiedsys/kern/kern_malloc.c (diff)
Commit 87d3af98590bbf09509822ec94c596d69f53411e by bz
kern_malloc: fold free and zfree together into one __always_inline func

free() and zfree() are essentially the same copy and pasted code with
the extra explicit_bzero() (and formerly kasan) calls.  Add a bool to add
the extra functionality and make both functions a wrapper around the common
code and let the compiler do the optimization based on the bool input
when inlining.

No functional changes intended.

Suggested by: kib (in D45812)
Sponsored by: The FreeBSD Foundation
Reviewed by: kib, markj
Differential Revision: https://reviews.freebsd.org/D46101

And the fix from Olivier Certner (olce):

kern_malloc: Restore working KASAN runtime after free() and zfree() folding

In the zfree() case, the explicit_bzero() calls zero all the allocation,
including the redzone which malloc() has marked as invalid.  So calling
kasan_mark() before those is in fact necessary.

This fixes a crash at boot when 'ldconfig' is run and tries to get
random bytes through getrandom() (relevant part of the stack is
read_random_uio() -> zfree() -> explicit_bzero()) for kernels with KASAN
compiled in.

Approved by:    markj (mentor)
Fixes: 4fab5f005482 ("kern_malloc: fold free and zfree together into one __always_inline func")
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 4fab5f005482aa88bc0f7d7a0a5e81b436869112)
(cherry picked from commit 28391f188ca18b6251ba46040adf81946b0ccb03)
The file was modifiedsys/kern/kern_malloc.c (diff)
Commit f9edc5b3f687ad0cd01ee4cac664a95d21413f3c by bz
LinuxKPI: move __kmalloc from slab.h to slab.c

In order to allow the allocator to change in the future move it into
the implementation file from being an inline function in the header.

While here factor out the size calculation and add a comment as-to why
this is done.  We will need the size (_s) in the future to make a
decision on how to allocate.

Sponsored by: The FreeBSD Foundation
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D45815

(cherry picked from commit 1f7df757017404011732196e65981d9325f7a89f)
The file was modifiedsys/compat/linuxkpi/common/src/linux_slab.c (diff)
The file was modifiedsys/compat/linuxkpi/common/include/linux/slab.h (diff)
Commit af034dcbb24248f940595d56fab332d008376a99 by bz
LinuxKPI: 802.11 compile in debugging based on IEEE80211 debugging

If IEEE80211 debugging is turned on in kernel configs also turn on
LinuxKPI 802.11 and SKB debugging (sysctls) to have them available.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45820

(cherry picked from commit 59d262fe969af5a8a83f0ccd7586c9bd2c8fb1f3)
The file was modifiedsys/compat/linuxkpi/common/include/linux/skbuff.h (diff)
The file was modifiedsys/compat/linuxkpi/common/src/linux_80211.h (diff)
Commit e9624aa3f2f8b370c42141b83c4b71bf06832142 by bz
net80211: scan/internal: change boolean argument from int to bool

ieee80211_probe_curchan() passes a "force" argument which is bool.
Make it such.  Adjust the (*sc_scan_probe_curchan)() KPI to bool
as well. This is all a big NOP as the only implementor of this
function, ieee80211_swscan_probe_curchan(), does not use the argument
at all.

I came across this when pondering a different scan implementation.
Rather than dropping the change remove the argument from the function,
and push the cleanup out given it is purely net80211 internal code
(the argument may have reason for existance in the future).

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45816

(cherry picked from commit 9776aba34576596cbe49084457ee40730fec55a2)
The file was modifiedsys/net80211/ieee80211_scan.c (diff)
The file was modifiedsys/net80211/ieee80211_scan_sw.c (diff)
The file was modifiedsys/net80211/ieee80211_mesh.c (diff)
The file was modifiedsys/net80211/ieee80211_hostap.c (diff)
The file was modifiedsys/net80211/ieee80211_scan.h (diff)
The file was modifiedsys/net80211/ieee80211_adhoc.c (diff)
The file was modifiedsys/net80211/ieee80211_sta.c (diff)
Commit d506ab946dea5f9692b9f3da5d7a20e9fd59b9ba by bz
LinuxKPI/lindebugfs: stop panicing in lindebugfs, fix simple_read_from_buffer

Trying to use lindebugfs for debugging wirless drivers two issues
became apparent:
(a) a panic in lindebugfs calling a hard coded release function if the
    caller had not provided one.  This seems to be based on assumptions
    that no longer hold up.  Remove the hard coded release function to
    prevent panics.
(b) In LinuxKPI simple_read_from_buffer() would call copy_to_user() but
    buffers weren't setup for this (lindebugfs copies data from its
    own buffer) and then pseudofs will do another copyout to the user
    on this;  remove the copy_to_user() and simply copy the data over
    to the provided buffer; this works for as long as the only consumers
    remain debugfs callers (which currently seems to be the case).
    [the only out-of-tree consumers I am aware off are two drm-kmod
    drivers/gpu/drm/amd/pm/* debugfs functions I cannot test].

Sponsored by: The FreeBSD Foundation
Tested by: jfree
Differential Revision: https://reviews.freebsd.org/D45755

(cherry picked from commit 5668c22a13c6befa9b8486387d38457c40ce7af4)
The file was modifiedsys/compat/linuxkpi/common/include/linux/fs.h (diff)
The file was modifiedsys/compat/lindebugfs/lindebugfs.c (diff)
Commit 78556119d502f15de0ea7140e87dd24285f1ffb3 by bz
LinuxKPI: 802.11: consistently spell TRACE-RX: as such

We have TRACE in one place and TRACE-RX in another.  Spell it
"TRACE-RX: %s: ..." everywhere.  Helps with pattern matching.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45818

(cherry picked from commit bd206a6f4a87214ae8c1b32f1051b07362080361)
The file was modifiedsys/compat/linuxkpi/common/src/linux_80211.c (diff)
Commit 52fdc7dacef94d34b53993163bba844735347ede by bz
LinuxKPI: 802.11: implement ieee80211_sn_*()

Implement ieee80211_sn_*() using the equivalent net80211 macros.
We need those implemented for at least 11n.
While here also sort all the BA functions together next to the
"sn" functions.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45819

(cherry picked from commit db8b3578627b5be93eba019ab2bbe3c03f7366f4)
The file was modifiedsys/compat/linuxkpi/common/include/net/mac80211.h (diff)
Commit 314069ff8c35ff4f2824746b6301da7fe5b48f4e by bz
LinuxKPI: 802.11: support manual lladdr changes

Allow a user to change the "ether" address by ifconfig while a VAP is
not UP.  Compared to net80211 (given we have no callback) we register
an eventhandler per-vif (a global one would force us to use hacks to
derive if a vap is indeed also a lkpi_80211 vif).

Sponsored by: The FreeBSD Foundation
PR: 277356
Tested by: lwhsu
Differential Revision: https://reviews.freebsd.org/D46121

(cherry picked from commit 4aff4048f5b1b6ab0b905726853ba6083e37cc37)
The file was modifiedsys/compat/linuxkpi/common/src/linux_80211.c (diff)
The file was modifiedsys/compat/linuxkpi/common/src/linux_80211.h (diff)
Commit d5025c4916393771c2759331c4308c7e4d11efc7 by bz
LinuxKPI: add get_random_u8()

Add a get_random_u8() implementation following the u36 and u64 versions.
We'll likely want to macro-ify them in the future and add all the types
which makes sense just to be done.

Sponsored by: The FreeBSD Foundation
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D46464

(cherry picked from commit f29e915bc0d216a87f222a208caeb2172c93e4ea)
The file was modifiedsys/compat/linuxkpi/common/include/linux/random.h (diff)
Commit 8e5f4f5f75a7348a86470916bab9107f53040242 by bz
LinuxKPI: add ENAVAIL error code

Used by an updated wireless driver.

Sponsored by: The FreeBSD Foundation
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D46461

(cherry picked from commit 8adb745dc9716e769ef0f7e993cea8a07735d5d8)
The file was modifiedsys/compat/linuxkpi/common/include/linux/errno.h (diff)
Commit 6dedd620cfe35b6a0a637132c772c5f2c7c2b40b by bz
LinuxKPI: add eth_hdr()

Add an implementation of eth_hdr() needed by a wireless driver.

Sponsored by: The FreeBSD Foundation
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D46462

(cherry picked from commit 273cf7d36336eeed5fc2ad42e5e12a36e36650a0)
The file was modifiedsys/compat/linuxkpi/common/include/linux/if_ether.h (diff)
Commit cedae002cba47fbeb5e0de2393eb3a4673590019 by bz
LinuxKPI: add no_printk

Add a version of no_printk(), which seems to be there to have format
string checking while never calling the printk.  It seems a very weird
thing and it needs a return code and for some reason my initial
while (0) { } version hadn't worked while porting over new code but
could have been further downstream format string problems.
if (0) seems to do the job though I would have expected that to more
likely simply get optimised out without any futher format checking.

Sponsored by: The FreeBSD Foundation
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D46463

(cherry picked from commit 1847e63d63f440cfcb2f4ee2c2ee8990f0272d88)
The file was modifiedsys/compat/linuxkpi/common/include/linux/printk.h (diff)
Commit e138f36f6422212ac8b459ecfb2f0677404a3a7d by bz
LinuxKPI: add general module_driver(), use it for module_pci_driver()

Factor out module_pci_driver() from 366d68f283793 into a general
module_driver() so other bus attachments can also use the same kind
of macro without duplicating all the lines.

Redefine module_pci_driver() using the new general macro.

No functional changes intended.

Sponsored by: The FreeBSD Foundation
Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D46467

(cherry picked from commit f5c7feee7129dc88a2e5dc3ce0a075cb5e4f534a)
The file was addedsys/compat/linuxkpi/common/include/linux/device/driver.h
The file was modifiedsys/compat/linuxkpi/common/include/linux/pci.h (diff)
Commit 286250daf5a335f111a897333888f68f4f6220e7 by bz
LinuxKPI: add pci_err()

Add pci_err() as a wrapper to dev_err() as needed by an updated driver.

Sponsored by: The FreeBSD Foundation
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D46660

(cherry picked from commit 01e1131e4a20ea377d580ecce210aa86726e71c6)
The file was modifiedsys/compat/linuxkpi/common/include/linux/pci.h (diff)
Commit ea18ffdf6e91a42fa07be355c0c1afb7ff7bace6 by bz
LinuxKPI: add more fields to mhi.h

Add more fields required by updated wireless drivers to mhi.h.

Sponsored by: The FreeBSD Foundation

(cherry picked from commit c12e3a05252ac9f43a6db379f88e4b4a07c06d46)
The file was modifiedsys/compat/linuxkpi/common/include/linux/mhi.h (diff)
Commit f00e737be0558f4bc8ae858783ab8cadf519ec69 by bz
LinuxKPI; add more defintions to netdevice.h

Add new enums to netdevice.h (including one which is referenced but
no value of it is used in a driver so we have to add a "dummy" value
to avoid an empty enum).

Sponsored by: The FreeBSD Foundation

(cherry picked from commit 6ed447b51a9d6cf22aae2dfba6efce3922ae6d57)
The file was modifiedsys/compat/linuxkpi/common/include/linux/netdevice.h (diff)
Commit 5ea0b01301121cb9da9a05431bb8ce34a5743428 by bz
LinuxKPI: some additions for mt76

Add changes required for later mt76 drivers.

Sponsored by: The FreeBSD Foundation

(cherry picked from commit 4b972f77a16f9a217c211c8c4f28a41eca98554e)
The file was modifiedsys/compat/linuxkpi/common/include/linux/soc/mediatek/mtk_wed.h (diff)
The file was modifiedsys/compat/linuxkpi/common/include/net/page_pool.h (diff)
Commit 70da94bb52eccfc4c341b6b08a73725b649c3992 by bz
LinuxKPI: 802.11: add futher defines to ieee80211.h and nl80211.h

Upstream new defines, enum values, etc. for coming driver updates which
are non-conflicting with the current state.

The only notable change is the rename of the enum ieee80211_ap_reg_power
but the enum name had not been used so far by any driver in the tree
(only in mac80211.h) but an updated version of ath11k does use it so we
need to correct our initial naming.

Sponsored by: The FreeBSD Foundation

(cherry picked from commit c1c989588df67396392edceb0e7e7028abc06c49)
The file was modifiedsys/compat/linuxkpi/common/include/linux/nl80211.h (diff)
The file was modifiedsys/compat/linuxkpi/common/include/linux/ieee80211.h (diff)
The file was modifiedsys/compat/linuxkpi/common/include/net/mac80211.h (diff)
Commit 1dd49c09eff52bf088a966b2002e0a127211eeba by kbowling
e1000: remove NEEDGIANT from a couple sysctls

These are internally locked already

(cherry picked from commit f6e1b567921187b9331bd71c86e94cf232dd7761)
The file was modifiedsys/dev/e1000/if_em.c (diff)
Commit 0c730611ed731a8e7483ad26864396897e666e70 by kbowling
ixgbe: fix misleading indentation in ixgbe_phy

(cherry picked from commit e3a6e916dbbade2d4047e127c371ee0d0a25a294)
The file was modifiedsys/dev/ixgbe/ixgbe_phy.c (diff)
Commit c16093be8a1a777e8277e72fce3dfbe0cf13b38c by kbowling
e1000: drop NEEDGIANT on em_sysctl_reg_handler uses

These are simple singular diagnostic register reads

(cherry picked from commit c11a0649b97281699e39d0fc82818f235c1dfb87)
The file was modifiedsys/dev/e1000/if_em.c (diff)
Commit a112b062e0680c41c5978ae976dc77d0ed117b4d by kbowling
e1000: drop NEEDGIANT from em_sysctl_debug_info use

The write is only used to toggle the debug print function and this is
otherwise stateless.

(cherry picked from commit 5f6964d9fbf663f85ee60dae7dfff153b82759d8)
The file was modifiedsys/dev/e1000/if_em.c (diff)
Commit 0e9cdcc5141e82ac3d9fa8331c3a4ed19933afa9 by cperciva
random: Avoid magic numbers

Move RANDOM_FORTUNA_{NPOOLS,DEFPOOLSIZE} from fortuna.c to fortuna.h
and use RANDOM_FORTUNA_DEFPOOLSIZE in random_harvestq.c rather than
having a magic (albeit explained in a comment) number.  The NPOOLS
value will be used in a later commit.

Reviewed by: cem
MFC after: 1 week
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46693

(cherry picked from commit 32fce09268ddd97efb4412529ba57293554c5985)
The file was modifiedsys/dev/random/random_harvestq.c (diff)
The file was modifiedsys/dev/random/fortuna.c (diff)
The file was modifiedsys/dev/random/fortuna.h (diff)
Commit a9f47363260761a4f90609dc54d115715c907db9 by cperciva
loader: Add TSLOG to interpreter built-ins

Wrap each call to a built-in command with TSENTER/TSEXIT to make
it easier to see where time is going in the loader.

MFC after: 1 week
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46630

(cherry picked from commit 58ec2d0d4a3c3bcf741d9694dc7696c7b4e753b9)
The file was modifiedstand/common/interp.c (diff)
Commit 0d348c621f4e79278073b5ad4c9ca90a0e999f02 by cperciva
loader: Instrument EFI GetRNG with TSLOG

On some systems, the EFI GetRNG is slow.  Make it show up in flamecharts.

MFC after: 1 week
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46631

(cherry picked from commit b58fe4eb29fbd3236df0f7fdfad4393d2536dbb5)
The file was modifiedstand/efi/loader/main.c (diff)
Commit 0a8ff1989681f476b9da87a309db25aecd7881c1 by cperciva
loader: Make EFI entropy size configurable

Add a new loader variable entropy_efi_seed_size which defaults to 2048;
if not defined (e.g. if the /boot/lua/ is updated but /boot/defaults/
isn't) the same 2048 default will be used.

Reviewed by: Val Packett
MFC after: 1 week
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46632

(cherry picked from commit f4a69a933cd645e384b337db5ef2ccf41a1ddd5b)
The file was modifiedstand/defaults/loader.conf (diff)
The file was modifiedstand/lua/core.lua (diff)
Commit 8d2d49bdb5ce070a5e954baa59ad6a7d0e3514cd by cperciva
pkcs5v2: Add pkcs5v2_genkey_raw function

This is like pkcs5v2_genkey but takes a "passphrase" as a buffer and
length rather than a NUL-terminated string.

Reviwed by: pjd
MFC after: 1 week
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46633

(cherry picked from commit 8ce291a335bc751e7a89691eebfb9f9da65b82ac)
The file was modifiedsys/geom/eli/pkcs5v2.h (diff)
The file was modifiedsys/geom/eli/pkcs5v2.c (diff)
Commit f216bddf84e67b80bb0f55fcc93dde0c7a557f60 by cperciva
loader: Make pkcs5v2 unconditionally available

This was previously only available if GELI support was included, but I
want to use it for processing entropy from EFI

Reviewed by: imp
MFC after: 1 week
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46634

(cherry picked from commit 925f15731e3480fe80f580a2f7463cb5210a95c8)
The file was modifiedstand/libsa/geli/Makefile.inc (diff)
The file was modifiedstand/libsa/Makefile (diff)
Commit f470543a65b14cbf2fec4e69b924d66068e182f4 by cperciva
loader: Expand EFI entropy if < 2048 bytes

The EFI RNG on some platforms takes a long time if we request 2048
bytes of entropy, so we would like to request less; but our kernel
Fortuna RNG needs to be fed 2048 bytes in order to consider itself
"fully seeded".  If we have between 64 bytes (the size of a single
Fortuna pool and enough to guarantee cryptographic security) and
2048 bytes (what Fortuna wants) then the boot process will hang
waiting for more entropy despite in fact having enough to operate
securely.

Since 64 bytes of entropy is plenty to be cryptographically secure
(an attack of cost ~ 2^128 is infeasible, which implies a mere 16
bytes of entropy), use PBKDF2 (aka pkcs5v2_genkey_raw) to spread
the entropy across 2048 bytes.  This is secure since PBKDF2 has
the property that every subset of output bytes has within O(1) of
the maximum possible amount of entropy.

Reviewed by: pjd
MFC after: 1 week
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46635

(cherry picked from commit c8ebbd28aa91705aea3a67b06018ea6aef5aa6e4)
The file was modifiedstand/efi/loader/main.c (diff)
Commit 82ade8ed7e70ad99aa5a35b6947de06a2efe3257 by cperciva
EC2: Set entropy_efi_seed_size to 64

This dramatically improves boot speeds on Graviton 2 instances.

MFC after: 1 week
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D46636

(cherry picked from commit 714a6d436819d446e01d1e4741fbe1089a23fe57)
The file was modifiedrelease/tools/ec2.conf (diff)
Commit a651978fc40c97b8b9538d64bf0adaedccbb2727 by cperciva
loader: Load platform entropy even without menu

In 5c73b3e0a3db calls to core.loadEntropy were added to core.boot
and core.autoboot; but neither of those is invoked if we disable
the "beastie" menu.  Add a core.loadEntropy call to the no-menu
path.

Reviewed by: imp
MFC after: 1 week
Sponsored by: Amazon
Fixes: 5c73b3e0a3db ("Add support for getting early entropy from UEFI")
Differential Revision: https://reviews.freebsd.org/D46637

(cherry picked from commit 74a28cf6e7f66c7c12fd25ee8231eeedf756bf08)
The file was modifiedstand/lua/loader.lua (diff)
Commit e3a9f4123f76205d0b85715f3f60aa1d9dc02887 by kp
libpfctl: ensure we return useful error codes

Return errno rather than -1 on error. This allows pfctl to report much
more useful errors.

Reported by: Alexander Leidinger <Alexander@Leidinger.net>
MFC after: 1 week

(cherry picked from commit 93e96359c980ccf318fe089b30b863f7c910b622)
The file was modifiedlib/libpfctl/libpfctl.c (diff)
Commit 99d3ce80ba07e751226a7ff07afc51ad2d79ccce by emaste
linuxulator: ignore AT_NO_AUTOMOUNT for all stat variants

Commit ff39d74aa99a ignored AT_NO_AUTOMOUNT for statx(), but did not
change fstat64() or newfstatat(), which also take an equivalent flags
argument.  Add a linux_to_bsd_stat_flags() helper and use it in all
three places.

PR: 281526
Reviewed by: trasz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46711

(cherry picked from commit 3cf834d069d1dcdbe464ea74624930eaf916715d)
The file was modifiedsys/compat/linux/linux_stats.c (diff)
Commit fbaf4806511522cdcac7eda3bd5fbcc4b2e2f15c by zlei
kern_fail: Stop checking for failures from fp_malloc(M_WAITOK)

`fp_malloc` is defined as a macro that redirects to `malloc`.

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 6a2a385507c79abaa9db9eabfdd827362f3dc7ed)
The file was modifiedsys/kern/kern_fail.c (diff)
Commit ab314540193e75983ceb363b18433ce405d943e6 by zlei
boottrace: Stop checking for failures from realloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit f444db950e877596805aed897c3fbb975be28711)
The file was modifiedsys/kern/kern_boottrace.c (diff)
Commit 44a6f9c9a0b503f70fb7f1d44bd75a8f68c4833f by zlei
subr_bus: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 99e3bb555cb1ef5572de54be0ffed2aa6fc080cd)
The file was modifiedsys/kern/subr_bus.c (diff)
Commit d2d4758456aa89863ee615dbe1516a01c1fa83b9 by zlei
ctl: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 8e6dd4185871cd9b785869178ab2191a0d6c0b53)
The file was modifiedsys/cam/ctl/ctl.c (diff)
Commit a77e68b0148d5224a64740c2cb7b25b1efc55335 by zlei
udf: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 3feb35dc465a8247d70e50792680c230954ef1c1)
The file was modifiedsys/fs/udf/udf_vnops.c (diff)
Commit 891fdd020a6826eb98d30284f78000e666f9a263 by zlei
altq: Stop checking for failures from malloc(M_WAITOK)

While here, prefer malloc(M_ZERO) over bzero().

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 2a119886630bb5fe8283e20db5acb7c0cdba31c3)
The file was modifiedsys/net/altq/altq_subr.c (diff)
Commit 67971181687f0475dcf72b42d065364efea96251 by zlei
if_vlan: Stop checking for failures from malloc(M_WAITOK)

Fixes: b08d611de835 fix vlan locking to permit sx acquisition in ioctl calls
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 07b16b1e2aeab0b30f68a013de31a4c322a61246)
The file was modifiedsys/net/if_vlan.c (diff)
Commit a0c4498478f92f76e2d06a1d2ba49806156264e3 by zlei
pf: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 5b00557330b3b69db84969e33f2e201288208dd9)
The file was modifiedsys/netpfil/pf/pf_syncookies.c (diff)
The file was modifiedsys/netpfil/pf/pf_ioctl.c (diff)
Commit ce708880847cb8d87ac0d7499fdb6f08cc33a7f8 by zlei
netsmb: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 6e50988cf822f87a524b8da2fdc35b234078cc2f)
The file was modifiedsys/netsmb/smb_rq.c (diff)
The file was modifiedsys/netsmb/smb_subr.c (diff)
Commit 3d5e539b1f43dec0abd2df61cb958550ef9606a0 by zlei
xdr: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 7a720bf67d73ba565a0a1130065f798870eb5faa)
The file was modifiedsys/xdr/xdr_sizeof.c (diff)
Commit 7bea79c1ab400fc223d730a89af97dcf4ba09911 by zlei
LinuxKPI: 802.11: Stop checking for failures from malloc(M_WAITOK)

As a consequence lkpi_ieee80211_ifalloc() now does not fail. Remove
unneeded NULL check.

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 7bcb1228558b4325fab39616e2e3b2573a9e7da6)
The file was modifiedsys/compat/linuxkpi/common/src/linux_80211.c (diff)
Commit 905d5420ee1eced55f99ab3ba5c340b685f2f896 by zlei
krping: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 66c35a6675ff987b52a2018871231658b1980a6c)
The file was modifiedsys/contrib/rdma/krping/krping_dev.c (diff)
Commit 6a0ed6fe27ecd9f9b51a6c29bc15f5dbf2ab6c4a by zlei
tests: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit aac6c41d4ba9b0a1aef561f6c4bfd284ab369ebf)
The file was modifiedsys/tests/framework/kern_testfrwk.c (diff)
Commit 920288c32900da48136eafc41aa6d020552e36e5 by zlei
arm ti: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit fe6985ef87e1aedf8e5c9b3b959c7dd54a03e2fe)
The file was modifiedsys/arm/ti/ti_pruss.c (diff)
Commit 53b79271160c36fc060c819a8e34dab86dd00df3 by zlei
cmn600: Stop checking for failures from malloc/mallocarray(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 1d321c1907c210a33192ff5293f5c23554c96867)
The file was modifiedsys/arm64/arm64/cmn600.c (diff)
Commit 49995f771b537064daeb2931ce86a13e78f9d977 by zlei
smmu: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit f75ceecad2157a0d3aca61a4893ab78f2dec21ee)
The file was modifiedsys/arm64/iommu/smmu.c (diff)
Commit 74887e322101cbc9e531e3acd08a6eb10dd2169e by zlei
al_eth: Stop checking for failures from malloc/buf_ring_alloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 00ae9c1be02e2db6ede1abd5b787bb9a3fbd76b0)
The file was modifiedsys/dev/al_eth/al_eth.c (diff)
Commit 66bb507ccb1c9860662a921d231f591ec814d83f by zlei
altera: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit e06e2c84074740a0087193d5929d09f1bc7e1c4b)
The file was modifiedsys/dev/altera/msgdma/msgdma.c (diff)
Commit 8c2748b922f579080d4d8ca88a8ada5512a69035 by zlei
ath(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 3fdf587ab02f33018bd042094e3d0bd4169352ed)
The file was modifiedsys/dev/ath/if_ath_lna_div.c (diff)
The file was modifiedsys/dev/ath/if_ath_spectral.c (diff)
The file was modifiedsys/dev/ath/if_ath_pci.c (diff)
Commit 3db5be68216957067ebaa9c57a70f3dde45887eb by zlei
axgbe: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit ab0b996bddd96300d56b7d2aa830e2479cdfa92b)
The file was modifiedsys/dev/axgbe/xgbe-phy-v2.c (diff)
Commit e763c326fc85c0d8b3e86d954339aa847f13a934 by zlei
bnxt(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit dcd387aaa5d4409a7e99376e0254029fce1a48a8)
The file was modifiedsys/dev/bnxt/bnxt_en/bnxt_mgmt.c (diff)
Commit 9216ba1853b76185c85abccbf338f2e4ea71a238 by zlei
cxgb(4): Stop checking for failures from malloc/buf_ring_alloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit bb51f7c8a48a4cd5dfa67fefa81f3d5d199da92b)
The file was modifiedsys/dev/cxgb/cxgb_sge.c (diff)
The file was modifiedsys/dev/cxgb/cxgb_main.c (diff)
Commit 09ed34449c795c137d0dd55890486165e2bb0c15 by zlei
cxgbe(4): Stop checking for failures from malloc/mb_alloc_ext_pgs(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 955b380365af174b3d35905b7b8afae97506a0bd)
The file was modifiedsys/dev/cxgbe/tom/t4_cpl_io.c (diff)
The file was modifiedsys/dev/cxgbe/cxgbei/cxgbei.c (diff)
Commit 95532d15a12c9cbf7c5e62e912de90919af7db24 by zlei
drm2: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 6dbf3aca4f5c4f7287f186360c2391f2adfea8d6)
The file was modifiedsys/dev/drm2/ttm/ttm_object.c (diff)
The file was modifiedsys/dev/drm2/drm_crtc.c (diff)
The file was modifiedsys/dev/drm2/drm_buffer.c (diff)
Commit 8c2d777a223d56d63c55552e8ca1d689f7c58b06 by zlei
ena(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 51971340bd3ff41591adbbfca68e9e753f6eb135)
The file was modifiedsys/dev/ena/ena_rss.c (diff)
Commit e78c315e8941ff39d89c45ffa5841b8028a3bbce by zlei
etherswitch: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 48741f4ceca71523aa1fa8da3bb78b184fad4aca)
The file was modifiedsys/dev/etherswitch/infineon/adm6996fc.c (diff)
The file was modifiedsys/dev/etherswitch/micrel/ksz8995ma.c (diff)
Commit 6515ef4d2b4251ff4c628577e93b3bd5c1ed480e by zlei
flexspi: Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit d1a89bd9b6eb1524902b619fa092c7d6de63e623)
The file was modifiedsys/dev/flash/flexspi/flex_spi.c (diff)
Commit f3af527260242c570b3e2bea56287f1ad5abb7b7 by zlei
fwip(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 4d47c7ca7baa1ae76cc1fc72ec85b475f1efd41d)
The file was modifiedsys/dev/firewire/if_fwip.c (diff)
Commit 0341c77f203e5200470657a428f8ce63f2dc9988 by zlei
hpt27xx(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 28e413a699838df6fa5b0504c9ceb92a515037d9)
The file was modifiedsys/dev/hpt27xx/hpt27xx_osm_bsd.c (diff)
Commit c860df902b6d010cb18490580c776c4b0a6a9123 by zlei
hptnr(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit a3ec5d3ee7579a26790a86ca4c074512946ab964)
The file was modifiedsys/dev/hptnr/hptnr_osm_bsd.c (diff)
Commit e4de0a965faaff171e6061714478c8f4eaec8cb1 by zlei
hptrr(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 92b0370ec65d5287a1deec84fd513e320a8da736)
The file was modifiedsys/dev/hptrr/hptrr_osm_bsd.c (diff)
Commit bb8c6f43256d234d492c267d74526fc62102b23d by zlei
ice(4): Stop checking for failures from malloc(M_WAITOK)

As a consequence now ice_alloc_vsi_qmap() does not fail. Remove unneeded
error checks.

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 5f97656fa334b494d70866cb1bfff406d3efd92d)
The file was modifiedsys/dev/ice/if_ice_iflib.c (diff)
The file was modifiedsys/dev/ice/ice_lib.c (diff)
The file was modifiedsys/dev/ice/ice_lib.h (diff)
Commit ec68da0a7e6e8041672f515a6d09fe43ce8838a1 by zlei
iser(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 40a6bbc4284111790d9240f8a24ef11a9a9ecb07)
The file was modifiedsys/dev/iser/iser_verbs.c (diff)
Commit 0fa85665105baa1fafe22608304b4eddb2ad8949 by zlei
mana: Stop checking for failures from malloc/mallocarray/buf_ring_alloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 1dc7a7b74b5ad37ff7c8dc22f1a710460a5f1dcd)
The file was modifiedsys/dev/mana/hw_channel.c (diff)
The file was modifiedsys/dev/mana/mana_en.c (diff)
The file was modifiedsys/dev/mana/gdma_main.c (diff)
Commit 4fee8d3e92c69d5865a7ef1a9102399b6fdeb9bc by zlei
mfi(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 701308ef404f552034f8c3e3e912b41bfef28ee6)
The file was modifiedsys/dev/mfi/mfi.c (diff)
Commit cf44738feb83b03f0726ae1dab83daf371aa2f0a by zlei
mlx(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 556cd18fb07604e3442819b221afb2a19b924dbd)
The file was modifiedsys/dev/mlx/mlx.c (diff)
Commit ae8388f726b57773b9c7e7cd93966b27d39321dd by zlei
mpi3mr(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 849f9ac370bd66993ce5cc6fca0d2ef9bd03c2c9)
The file was modifiedsys/dev/mpi3mr/mpi3mr_cam.c (diff)
Commit 3e51da34956345ca736944c8a296bb9103a01c6c by zlei
mrsas(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit a38d9ad473123dca86108651ba10740055720777)
The file was modifiedsys/dev/mrsas/mrsas_ioctl.c (diff)
Commit 025c4754941956e24830a9c3c6f5e2466b19a9e1 by zlei
pms(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 4fb8a80a78aa65e0b30bd5a74373512c678841c9)
The file was modifiedsys/dev/pms/freebsd/driver/ini/src/agtiapi.c (diff)
Commit a1075ea2a31428daac5e7308630ec68a8d4dbf6d by zlei
qat(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 866dc4bd81398b478daefe4b7447b92422b4a06c)
The file was modifiedsys/dev/qat/qat_common/adf_freebsd_dev_processes.c (diff)
The file was modifiedsys/dev/qat/qat_common/adf_freebsd_uio.c (diff)
The file was modifiedsys/dev/qat/qat_common/adf_freebsd_uio_cleanup.c (diff)
The file was modifiedsys/dev/qat/qat_hw/qat_4xxxvf/adf_drv.c (diff)
Commit 140a0c8f39816648719d9670fb641c657732439e by zlei
sume(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 761339c5544a360df9d3bab70675fea246eb6a83)
The file was modifiedsys/dev/sume/if_sume.c (diff)
Commit bfcaaff418b856ef3d2a5be665566f62824f2f09 by zlei
sound: Stop checking for failures from malloc(M_WAITOK)

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

(cherry picked from commit 59121599bbda1e4c3fc3c6e887cd48cd5e3afc70)
The file was modifiedsys/dev/sound/usb/uaudio.c (diff)
The file was modifiedsys/dev/sound/macio/i2s.c (diff)
Commit 5a7db2ff56f9e08579913ae16850ff82617001dc by zlei
sdhci(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit f80483cdd58a032ae2cfb2b9119824e9badc2c91)
The file was modifiedsys/dev/sdhci/sdhci_xenon_acpi.c (diff)
Commit 40015f1c11ee2321485d0dd83cc2edb92236a541 by zlei
vchiq(4): Stop checking for failures from malloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45852

(cherry picked from commit 778ea7ed5a23db9c4f9d8dc43a5cea26ded6231c)
The file was modifiedsys/contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c (diff)
Commit 5de9286b9af6e2448ab7d3fe749d37dd00b915e7 by zlei
ae(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit 3f3f3ca25bc453315c6a1f5d16bfcc1189d41bdd)
The file was modifiedsys/dev/ae/if_ae.c (diff)
Commit ea86e323e52fe5bd7bac73ba2247b5ab0a3df052 by zlei
age(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit 5cece2c24bfa618091e778df488fb2380fcecafe)
The file was modifiedsys/dev/age/if_age.c (diff)
Commit a6c873a822b5dd51861616324abf3ba466958c7e by zlei
alc(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit 0cd3976d076218ea10761dc3f38ecf8549768ad5)
The file was modifiedsys/dev/alc/if_alc.c (diff)
Commit 7ae70062241b063e076935a9b8955d27ea84a3b7 by zlei
ale(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit f5524be39e26e3d7fb774ffe7711602c676a8b9e)
The file was modifiedsys/dev/ale/if_ale.c (diff)
Commit 39c35f6c5445d09b51a3fd366e8d64434b8fe7f1 by zlei
axgbe: Stop checking for failures from taskqueue_create(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit b29adaaf44f6cf9433c782bbeeefd12d74d395a5)
The file was modifiedsys/dev/axgbe/if_axgbe_pci.c (diff)
Commit f5cbe8ce89f1332e1188b9b315bc2707f50ef3d6 by zlei
bge(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit d44bc2f07b971fe1f451a1fff0389650a2502422)
The file was modifiedsys/dev/bge/if_bge.c (diff)
Commit e78770d62f8ad7e10f97defd3bb933623a3ded0c by zlei
cas(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit af28fc3c191cf572f7def767c60fff59d48947df)
The file was modifiedsys/dev/cas/if_cas.c (diff)
Commit f6c8db29aad84291fa0975527d4d4b1c2a1d024a by zlei
dpaa2: Stop checking for failures from malloc/taskqueue_create(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit 36ef39831fe0e89f0b1672340a44c4ac1183158e)
The file was modifiedsys/dev/dpaa2/dpaa2_mc.c (diff)
The file was modifiedsys/dev/dpaa2/dpaa2_channel.c (diff)
The file was modifiedsys/dev/dpaa2/dpaa2_ni.c (diff)
Commit 6b25a8f079586f8f3e4badaec402dae1ab39ddb5 by zlei
jme(4): Stop checking for failures from taskqueue_create_fast(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit 3fdef8e855027d5c9bec06e2a53e8f99f7d5694b)
The file was modifiedsys/dev/jme/if_jme.c (diff)
Commit 518e138448b46d57030b3e34962e69e6211c8e1b by zlei
liquidio(4): Stop checking for failures from malloc/taskqueue_create/buf_ring_alloc(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit 57cd8f27b727e7a87312f6f141cfa13807dc81a0)
The file was modifiedsys/dev/liquidio/base/lio_response_manager.c (diff)
The file was modifiedsys/dev/liquidio/base/lio_request_manager.c (diff)
The file was modifiedsys/dev/liquidio/lio_sysctl.c (diff)
The file was modifiedsys/dev/liquidio/lio_main.c (diff)
Commit 70280bc71d28935346f7cc7c41ddd99e58b9604a by zlei
mxge(4): Stop checking for failures from taskqueue_create(M_WAITOK)

MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45853

(cherry picked from commit 7ea3fd3bb5f4039c372fd72aeef004fe12454537)
The file was modifiedsys/dev/mxge/if_mxge.c (diff)
Commit a03acfa43410b3a449fa8d5b1dbba20e0bf02d5a by emaste
bhyve: initialize register value

In case of an error in a code pattern like

```
uint64_t val;
error = memread(vcpu, gpa, &val, 1, arg);
error = vie_update_register(vcpu, reg, val, size);
```

uninitialized stack data would be used.

Reported by:    Synacktiv
Reviewed by: markj
Security:       HYP-21
Sponsored by:   The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46107

(cherry picked from commit 94693ec7c85363f9b0098247489cea3efdb183f9)
The file was modifiedsys/amd64/vmm/vmm_ioport.c (diff)
Commit aff29dd3641d2ab3c67b82772f4b76ba3171e757 by cy
wpa: Import 2.11

Following is a changelog of new features and fixes to wpa:

hostapd:
* Wi-Fi Easy Connect
  - add support for DPP release 3
  - allow Configurator parameters to be provided during config exchange
* HE/IEEE 802.11ax/Wi-Fi 6
  - various fixes
* EHT/IEEE 802.11be/Wi-Fi 7
  - add preliminary support
* SAE: add support for fetching the password from a RADIUS server
* support OpenSSL 3.0 API changes
* support background radar detection and CAC with some additional
  drivers
* support RADIUS ACL/PSK check during 4-way handshake (wpa_psk_radius=3)
* EAP-SIM/AKA: support IMSI privacy
* improve 4-way handshake operations
  - use Secure=1 in message 3 during PTK rekeying
* OCV: do not check Frequency Segment 1 Channel Number for 160 MHz cases
  to avoid interoperability issues
* support new SAE AKM suites with variable length keys
* support new AKM for 802.1X/EAP with SHA384
* extend PASN support for secure ranging
* FT: Use SHA256 to derive PMKID for AKM 00-0F-AC:3 (FT-EAP)
  - this is based on additional details being added in the IEEE 802.11
    standard
  - the new implementation is not backwards compatible
* improved ACS to cover additional channel types/bandwidths
* extended Multiple BSSID support
* fix beacon protection with FT protocol (incorrect BIGTK was provided)
* support unsynchronized service discovery (USD)
* add preliminary support for RADIUS/TLS
* add support for explicit SSID protection in 4-way handshake
  (a mitigation for CVE-2023-52424; disabled by default for now, can be
  enabled with ssid_protection=1)
* fix SAE H2E rejected groups validation to avoid downgrade attacks
* use stricter validation for some RADIUS messages
* a large number of other fixes, cleanup, and extensions

wpa_supplicant:
* Wi-Fi Easy Connect
  - add support for DPP release 3
  - allow Configurator parameters to be provided during config exchange
* MACsec
  - add support for GCM-AES-256 cipher suite
  - remove incorrect EAP Session-Id length constraint
  - add hardware offload support for additional drivers
* HE/IEEE 802.11ax/Wi-Fi 6
  - support BSS color updates
  - various fixes
* EHT/IEEE 802.11be/Wi-Fi 7
  - add preliminary support
* support OpenSSL 3.0 API changes
* improve EAP-TLS support for TLSv1.3
* EAP-SIM/AKA: support IMSI privacy
* improve mitigation against DoS attacks when PMF is used
* improve 4-way handshake operations
  - discard unencrypted EAPOL frames in additional cases
  - use Secure=1 in message 2 during PTK rekeying
* OCV: do not check Frequency Segment 1 Channel Number for 160 MHz cases
  to avoid interoperability issues
* support new SAE AKM suites with variable length keys
* support new AKM for 802.1X/EAP with SHA384
* improve cross-AKM roaming with driver-based SME/BSS selection
* PASN
  - extend support for secure ranging
  - allow PASN implementation to be used with external programs for
    Wi-Fi Aware
* FT: Use SHA256 to derive PMKID for AKM 00-0F-AC:3 (FT-EAP)
  - this is based on additional details being added in the IEEE 802.11
    standard
  - the new implementation is not backwards compatible, but PMKSA
    caching with FT-EAP was, and still is, disabled by default
* support a pregenerated MAC (mac_addr=3) as an alternative mechanism
  for using per-network random MAC addresses
* EAP-PEAP: require Phase 2 authentication by default (phase2_auth=1)
  to improve security for still unfortunately common invalid
  configurations that do not set ca_cert
* extend SCS support for QoS Characteristics
* extend MSCS support
* support unsynchronized service discovery (USD)
* add support for explicit SSID protection in 4-way handshake
  (a mitigation for CVE-2023-52424; disabled by default for now, can be
  enabled with ssid_protection=1)
  - in addition, verify SSID after key setup when beacon protection is
    used
* fix SAE H2E rejected groups validation to avoid downgrade attacks
* a large number of other fixes, cleanup, and extensions

Merge commit '6377230b3cf4f238dcd0dc2d76ff25943d3040e5'

(cherry picked from commit a90b9d0159070121c221b966469c3e36d912bf82)
The file was modifiedcontrib/wpa/src/crypto/tls_internal.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/ap.h (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_bsd.c (diff)
The file was modifiedcontrib/wpa/src/eapol_supp/eapol_supp_sm.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/notify.h (diff)
The file was modifiedcontrib/wpa/hostapd/config_file.c (diff)
The file was modifiedcontrib/wpa/src/crypto/crypto_wolfssl.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_hostap.c (diff)
The file was modifiedcontrib/wpa/src/l2_packet/l2_packet_linux.c (diff)
The file was modifiedcontrib/wpa/src/pae/ieee802_1x_cp.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpa_supplicant_template.conf (diff)
The file was modifiedcontrib/wpa/hostapd/android.config (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wnm_sta.c (diff)
The file was modifiedcontrib/wpa/src/common/version.h (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_nl80211.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap.h (diff)
The file was modifiedcontrib/wpa/src/l2_packet/l2_packet_freebsd.c (diff)
The file was addedcontrib/wpa/src/pasn/pasn_responder.c
The file was modifiedcontrib/wpa/src/ap/dpp_hostapd.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wnm_sta.h (diff)
The file was modifiedcontrib/wpa/src/common/gas_server.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/mesh_mpm.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpas_glue.h (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_config.h (diff)
The file was modifiedcontrib/wpa/src/radius/radius_server.c (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_invitation.c (diff)
The file was modifiedcontrib/wpa/src/ap/hw_features.c (diff)
The file was modifiedcontrib/wpa/src/radius/radius_client.h (diff)
The file was modifiedcontrib/wpa/src/utils/wpa_debug.h (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_nl80211_event.c (diff)
The file was modifiedcontrib/wpa/src/crypto/tls_none.c (diff)
The file was removedcontrib/wpa/hostapd/logwatch/hostapd
The file was modifiedcontrib/wpa/src/drivers/driver_common.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/bss.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/bgscan_learn.c (diff)
The file was modifiedcontrib/wpa/src/drivers/ndis_events.c (diff)
The file was modifiedcontrib/wpa/src/ap/wpa_auth_glue.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/main.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_new_helpers.h (diff)
The file was modifiedcontrib/wpa/CONTRIBUTIONS (diff)
The file was modifiedcontrib/wpa/src/crypto/crypto_none.c (diff)
The file was modifiedcontrib/wpa/src/crypto/tls_openssl_ocsp.c (diff)
The file was modifiedcontrib/wpa/src/fst/fst_group.c (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_i.h (diff)
The file was modifiedcontrib/wpa/hs20/client/spp_client.c (diff)
The file was modifiedcontrib/wpa/src/eapol_auth/eapol_auth_sm.h (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_aka.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/bss.c (diff)
The file was modifiedcontrib/wpa/src/ap/x_snoop.c (diff)
The file was modifiedcontrib/wpa/src/wps/wps_registrar.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/examples/dpp-nfc.py (diff)
The file was modifiedcontrib/wpa/src/pae/ieee802_1x_kay.c (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_1x.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/p2p_supplicant.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_macsec_qca.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_roboswitch.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_nl80211_capa.c (diff)
The file was modifiedcontrib/wpa/src/crypto/sha256.c (diff)
The file was modifiedcontrib/wpa/src/ap/ctrl_iface_ap.h (diff)
The file was modifiedcontrib/wpa/src/utils/browser.c (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_11.c (diff)
The file was modifiedcontrib/wpa/src/pae/ieee802_1x_kay.h (diff)
The file was addedcontrib/wpa/src/common/nan.h
The file was modifiedcontrib/wpa/wpa_supplicant/README (diff)
The file was modifiedcontrib/wpa/src/ap/wmm.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/config.c (diff)
The file was modifiedcontrib/wpa/src/common/ieee802_11_defs.h (diff)
The file was modifiedcontrib/wpa/src/eap_common/eap_sake_common.c (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_dev_disc.c (diff)
The file was modifiedcontrib/wpa/hostapd/Android.mk (diff)
The file was modifiedcontrib/wpa/src/ap/ap_mlme.c (diff)
The file was modifiedcontrib/wpa/src/common/ptksa_cache.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpa_supplicant_i.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_new.h (diff)
The file was modifiedcontrib/wpa/src/common/dpp_i.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/eapol_test.c (diff)
The file was modifiedcontrib/wpa/src/crypto/crypto_module_tests.c (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_tls_common.h (diff)
The file was modifiedcontrib/wpa/src/drivers/nl80211_copy.h (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_1x.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/config_file.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/ctrl_iface.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpa_passphrase.c (diff)
The file was modifiedcontrib/wpa/src/ap/dfs.c (diff)
The file was modifiedcontrib/wpa/src/ap/hostapd.h (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_group.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/bgscan_simple.c (diff)
The file was modifiedcontrib/wpa/src/drivers/linux_ioctl.c (diff)
The file was modifiedcontrib/wpa/src/common/qca-vendor.h (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_go_neg.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/driver_i.h (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_wext.c (diff)
The file was addedcontrib/wpa/src/ap/nan_usd_ap.h
The file was modifiedcontrib/wpa/src/utils/ip_addr.c (diff)
The file was modifiedcontrib/wpa/src/ap/utils.c (diff)
The file was modifiedcontrib/wpa/src/common/dpp_crypto.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_sim.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/README-WPS (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_new_introspect.c (diff)
The file was modifiedcontrib/wpa/src/eapol_auth/eapol_auth_sm_i.h (diff)
The file was modifiedcontrib/wpa/src/crypto/tls.h (diff)
The file was modifiedcontrib/wpa/src/ap/wpa_auth_ft.c (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_tls.c (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_pwd.c (diff)
The file was modifiedcontrib/wpa/src/ap/wpa_auth.c (diff)
The file was addedcontrib/wpa/src/pasn/Makefile
The file was modifiedcontrib/wpa/src/eap_peer/eap_teap.c (diff)
The file was addedcontrib/wpa/wpa_supplicant/nan_usd.h
The file was modifiedcontrib/wpa/src/radius/radius_das.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_new_helpers.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_wired.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/utils/log2pcap.py (diff)
The file was modifiedcontrib/wpa/src/ap/acs.c (diff)
The file was modifiedcontrib/wpa/src/ap/beacon.h (diff)
The file was modifiedcontrib/wpa/src/common/defs.h (diff)
The file was modifiedcontrib/wpa/hs20/client/osu_client.c (diff)
The file was modifiedcontrib/wpa/src/common/hw_features_common.h (diff)
The file was modifiedcontrib/wpa/src/utils/trace.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_dict_helpers.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/config_winreg.c (diff)
The file was modifiedcontrib/wpa/hostapd/hostapd.conf (diff)
The file was modifiedcontrib/wpa/src/wps/wps.c (diff)
The file was modifiedcontrib/wpa/src/ap/ap_config.h (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_sd.c (diff)
The file was modifiedcontrib/wpa/src/crypto/fips_prf_internal.c (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_ttls.c (diff)
The file was modifiedcontrib/wpa/src/common/wpa_ctrl.h (diff)
The file was modifiedcontrib/wpa/src/fst/fst_session.c (diff)
The file was modifiedcontrib/wpa/src/common/ieee802_11_common.h (diff)
The file was modifiedcontrib/wpa/src/common/wpa_common.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wps_supplicant.h (diff)
The file was modifiedcontrib/wpa/src/wps/ndef.c (diff)
The file was modifiedcontrib/wpa/src/tls/tlsv1_server_write.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/android.config (diff)
The file was modifiedcontrib/wpa/src/wps/wps_attr_parse.c (diff)
The file was modifiedcontrib/wpa/src/utils/http-utils.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/p2p_supplicant.h (diff)
The file was modifiedcontrib/wpa/src/rsn_supp/pmksa_cache.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/ctrl_iface_unix.c (diff)
The file was modifiedcontrib/wpa/src/utils/crc32.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpas_module_tests.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/scan.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/ctrl_iface.h (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_11_vht.c (diff)
The file was modifiedcontrib/wpa/src/crypto/tls_openssl.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/sme.c (diff)
The file was modifiedcontrib/wpa/hostapd/ctrl_iface.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_mschapv2.c (diff)
The file was modifiedcontrib/wpa/src/ap/airtime_policy.c (diff)
The file was modifiedcontrib/wpa/src/ap/hw_features.h (diff)
The file was modifiedcontrib/wpa/hostapd/config_file.h (diff)
The file was modifiedcontrib/wpa/src/eapol_supp/eapol_supp_sm.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/notify.c (diff)
The file was modifiedcontrib/wpa/src/common/common_module_tests.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpas_glue.c (diff)
The file was modifiedcontrib/wpa/src/rsn_supp/tdls.c (diff)
The file was modifiedcontrib/wpa/src/crypto/crypto_openssl.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/mesh.c (diff)
The file was modifiedcontrib/wpa/src/crypto/crypto.h (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_build.c (diff)
The file was modifiedcontrib/wpa/src/tls/pkcs1.c (diff)
The file was addedcontrib/wpa/wpa_supplicant/README-NAN-USD
The file was modifiedcontrib/wpa/wpa_supplicant/mesh_rsn.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpa_supplicant.conf (diff)
The file was modifiedcontrib/wpa/hostapd/Makefile (diff)
The file was modifiedcontrib/wpa/src/ap/wpa_auth_i.h (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_pd.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_fast.c (diff)
The file was modifiedcontrib/wpa/hostapd/hostapd.eap_user (diff)
The file was modifiedcontrib/wpa/src/common/hw_features_common.c (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_11_shared.c (diff)
The file was modifiedcontrib/wpa/src/wps/wps_er.c (diff)
The file was modifiedcontrib/wpa/src/crypto/crypto_internal.c (diff)
The file was modifiedcontrib/wpa/src/utils/os_unix.c (diff)
The file was modifiedcontrib/wpa/src/utils/common.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpa_priv.c (diff)
The file was modifiedcontrib/wpa/src/rsn_supp/wpa.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/config_ssid.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/offchannel.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/sme.h (diff)
The file was modifiedcontrib/wpa/src/ap/sta_info.c (diff)
The file was modifiedcontrib/wpa/src/ap/pmksa_cache_auth.c (diff)
The file was modifiedcontrib/wpa/src/common/wpa_common.c (diff)
The file was addedcontrib/wpa/src/pasn/pasn_common.c
The file was modifiedcontrib/wpa/src/build.rules (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p.c (diff)
The file was modifiedcontrib/wpa/src/pae/ieee802_1x_secy_ops.h (diff)
The file was modifiedcontrib/wpa/src/wps/wps_i.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/gas_query.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_eke.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/bgscan.h (diff)
The file was modifiedcontrib/wpa/src/common/sae.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wmm_ac.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpa_cli.c (diff)
The file was modifiedcontrib/wpa/src/ap/sta_info.h (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p.h (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_sim.c (diff)
The file was modifiedcontrib/wpa/src/utils/wpabuf.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/Makefile (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/ibss_rsn.c (diff)
The file was modifiedcontrib/wpa/src/ap/ap_list.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/ChangeLog (diff)
The file was modifiedcontrib/wpa/README (diff)
The file was modifiedcontrib/wpa/hostapd/defconfig (diff)
The file was modifiedcontrib/wpa/src/common/ocv.c (diff)
The file was modifiedcontrib/wpa/src/ap/wps_hostapd.c (diff)
The file was modifiedcontrib/wpa/src/ap/dpp_hostapd.h (diff)
The file was modifiedcontrib/wpa/src/utils/ip_addr.h (diff)
The file was addedcontrib/wpa/src/ap/comeback_token.h
The file was modifiedcontrib/wpa/src/ap/ap_drv_ops.c (diff)
The file was modifiedcontrib/wpa/src/rsn_supp/preauth.c (diff)
The file was addedcontrib/wpa/src/common/nan_de.c
The file was modifiedcontrib/wpa/src/wps/wps.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/ibss_rsn.h (diff)
The file was modifiedcontrib/wpa/src/common/ptksa_cache.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/preauth_test.c (diff)
The file was modifiedcontrib/wpa/src/ap/ndisc_snoop.c (diff)
The file was modifiedcontrib/wpa/src/common/ieee802_11_common.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_tls_common.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_nl80211.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/interworking.c (diff)
The file was modifiedcontrib/wpa/src/Makefile (diff)
The file was modifiedcontrib/wpa/src/crypto/sha1-pbkdf2.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_ttls.c (diff)
The file was modifiedcontrib/wpa/src/common/brcm_vendor.h (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_peap.c (diff)
The file was addedcontrib/wpa/src/ap/ieee802_11_eht.c
The file was modifiedcontrib/wpa/src/crypto/crypto_nettle.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/doc/docbook/wpa_supplicant.sgml (diff)
The file was modifiedcontrib/wpa/hostapd/ChangeLog (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_dict_helpers.c (diff)
The file was modifiedcontrib/wpa/src/ap/gas_query_ap.c (diff)
The file was modifiedcontrib/wpa/src/ap/wpa_auth.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/op_classes.c (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_parse.c (diff)
The file was addedcontrib/wpa/src/common/nan_de.h
The file was modifiedcontrib/wpa/wpa_supplicant/bssid_ignore.c (diff)
The file was modifiedcontrib/wpa/src/ap/authsrv.c (diff)
The file was modifiedcontrib/wpa/src/tls/libtommath.c (diff)
The file was modifiedcontrib/wpa/src/ap/ap_config.c (diff)
The file was modifiedcontrib/wpa/src/common/dpp_reconfig.c (diff)
The file was modifiedcontrib/wpa/src/rsn_supp/pmksa_cache.h (diff)
The file was modifiedcontrib/wpa/src/rsn_supp/wpa_i.h (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_utils.c (diff)
The file was modifiedcontrib/wpa/src/crypto/fips_prf_openssl.c (diff)
The file was modifiedcontrib/wpa/src/utils/http_curl.c (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_11_auth.c (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_11_he.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_nl80211_scan.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/ap.c (diff)
The file was modifiedcontrib/wpa/src/pae/ieee802_1x_secy_ops.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpas_kay.c (diff)
The file was modifiedcontrib/wpa/hostapd/README (diff)
The file was addedcontrib/wpa/src/ap/nan_usd_ap.c
The file was modifiedcontrib/wpa/wpa_supplicant/p2p_supplicant_sd.c (diff)
The file was modifiedcontrib/wpa/hs20/client/est.c (diff)
The file was modifiedcontrib/wpa/src/ap/drv_callbacks.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/scan.h (diff)
The file was modifiedcontrib/wpa/src/ap/gas_serv.c (diff)
The file was modifiedcontrib/wpa/src/common/wpa_ctrl.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_tls.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/systemd/wpa_supplicant-nl80211.service.arg.in (diff)
The file was addedusr.sbin/wpa/src/pasn/Makefile
The file was addedcontrib/wpa/wpa_supplicant/nan_usd.c
The file was modifiedcontrib/wpa/src/crypto/sha512-internal.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_aka.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_pwd.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/mbo.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_macsec_linux.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_ndis.c (diff)
The file was modifiedcontrib/wpa/src/radius/radius_client.c (diff)
The file was modifiedcontrib/wpa/hs20/client/Android.mk (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_teap.c (diff)
The file was modifiedcontrib/wpa/src/radius/radius.c (diff)
The file was modifiedcontrib/wpa/src/utils/crc32.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/robust_av.c (diff)
The file was modifiedcontrib/wpa/hostapd/hostapd_cli.c (diff)
The file was modifiedcontrib/wpa/src/ap/hostapd.c (diff)
The file was modifiedcontrib/wpa/src/eap_common/eap_defs.h (diff)
The file was modifiedcontrib/wpa/src/ap/ctrl_iface_ap.c (diff)
The file was addedcontrib/wpa/src/pasn/pasn_initiator.c
The file was modifiedcontrib/wpa/src/ap/bss_load.c (diff)
The file was modifiedcontrib/wpa/src/crypto/crypto_gnutls.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/pasn_supplicant.c (diff)
The file was modifiedusr.sbin/wpa/hostapd/Makefile (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_i.h (diff)
The file was modifiedcontrib/wpa/src/tls/tlsv1_common.h (diff)
The file was modifiedcontrib/wpa/src/rsn_supp/wpa_ft.c (diff)
The file was modifiedcontrib/wpa/src/fst/fst_iface.c (diff)
The file was modifiedcontrib/wpa/src/ap/acs.h (diff)
The file was modifiedcontrib/wpa/src/radius/radius.h (diff)
The file was modifiedcontrib/wpa/src/common/dpp_tcp.c (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_tls_common.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_tls_common.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/config_none.c (diff)
The file was modifiedshare/mk/src.libnames.mk (diff)
The file was modifiedusr.sbin/wpa/Makefile.inc (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/config.h (diff)
The file was modifiedcontrib/wpa/src/crypto/sha384.c (diff)
The file was modifiedcontrib/wpa/src/drivers/driver_atheros.c (diff)
The file was modifiedcontrib/wpa/src/crypto/tls_wolfssl.c (diff)
The file was modifiedcontrib/wpa/src/ap/rrm.h (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_11_ht.c (diff)
The file was modifiedcontrib/wpa/src/common/dpp.c (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_wsc.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wpa_supplicant.c (diff)
The file was modifiedcontrib/wpa/src/crypto/sha512.c (diff)
The file was modifiedcontrib/wpa/hostapd/main.c (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_11_auth.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/wps_supplicant.c (diff)
The file was modifiedcontrib/wpa/src/ap/wpa_auth_kay.c (diff)
The file was modifiedcontrib/wpa/src/common/dpp_pkex.c (diff)
The file was modifiedcontrib/wpa/src/rsn_supp/wpa.h (diff)
The file was modifiedcontrib/wpa/src/crypto/sha256-internal.c (diff)
The file was addedcontrib/wpa/src/pasn/pasn_common.h
The file was modifiedcontrib/wpa/wpa_supplicant/hs20_supplicant.c (diff)
The file was modifiedcontrib/wpa/src/p2p/p2p_i.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_new_handlers.h (diff)
The file was modifiedcontrib/wpa/src/utils/common.h (diff)
The file was modifiedcontrib/wpa/src/ap/wnm_ap.c (diff)
The file was modifiedcontrib/wpa/src/common/dragonfly.c (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_mschapv2.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/defconfig (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_new_handlers.c (diff)
The file was modifiedcontrib/wpa/src/common/sae.c (diff)
The file was modifiedcontrib/wpa/src/ap/wpa_auth_ie.c (diff)
The file was modifiedcontrib/wpa/src/eap_peer/eap_fast.c (diff)
The file was modifiedcontrib/wpa/src/ap/ap_drv_ops.h (diff)
The file was modifiedusr.sbin/wpa/src/Makefile (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/events.c (diff)
The file was modifiedcontrib/wpa/src/common/gas_server.c (diff)
The file was modifiedcontrib/wpa/src/utils/os.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_p2p.c (diff)
The file was modifiedcontrib/wpa/src/ap/preauth_auth.c (diff)
The file was modifiedcontrib/wpa/src/ap/fils_hlp.c (diff)
The file was modifiedcontrib/wpa/src/ap/neighbor_db.h (diff)
The file was modifiedcontrib/wpa/src/drivers/driver.h (diff)
The file was modifiedcontrib/wpa/src/ap/gas_serv.h (diff)
The file was modifiedcontrib/wpa/src/eap_common/eap_pwd_common.c (diff)
The file was modifiedcontrib/wpa/src/crypto/tls_gnutls.c (diff)
The file was modifiedcontrib/wpa/src/eap_server/eap_server_peap.c (diff)
The file was modifiedcontrib/wpa/src/rsn_supp/wpa_ie.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dbus/dbus_new.c (diff)
The file was modifiedcontrib/wpa/src/ap/beacon.c (diff)
The file was modifiedusr.sbin/wpa/wpa_supplicant/Makefile (diff)
The file was modifiedcontrib/wpa/src/ap/neighbor_db.c (diff)
The file was modifiedcontrib/wpa/src/wps/wps_enrollee.c (diff)
The file was modifiedcontrib/wpa/src/ap/ieee802_11.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dpp_supplicant.c (diff)
The file was modifiedcontrib/wpa/src/ap/pmksa_cache_auth.h (diff)
The file was modifiedcontrib/wpa/src/utils/wpa_debug.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/Android.mk (diff)
The file was modifiedcontrib/wpa/src/tls/tlsv1_client_read.c (diff)
The file was modifiedcontrib/wpa/src/crypto/crypto_libtomcrypt.c (diff)
The file was modifiedcontrib/wpa/src/tls/tlsv1_common.c (diff)
The file was modifiedcontrib/wpa/src/drivers/netlink.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/dpp_supplicant.h (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/systemd/wpa_supplicant.service.arg.in (diff)
The file was modifiedcontrib/wpa/src/crypto/crypto_linux.c (diff)
The file was modifiedcontrib/wpa/src/eapol_auth/eapol_auth_sm.c (diff)
The file was addedcontrib/wpa/src/ap/comeback_token.c
The file was modifiedcontrib/wpa/src/common/dpp.h (diff)
The file was modifiedcontrib/wpa/src/ap/rrm.c (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/README-HS20 (diff)
The file was modifiedcontrib/wpa/wpa_supplicant/rrm.c (diff)
Commit dbb02466420b6c799277046cbc2f55ad3d8357e3 by cy
wpa: Fix gcc build

Order of libraries still matters with GCC toolchains. Moving the
wpapasn library before the wpacommon specification resolves the link
problem.

This issue was not detected by make universe.

Fixes: a90b9d015907

(cherry picked from commit 8880825df1f805fc02dbb8476df8183d4ec3781c)
The file was modifiedusr.sbin/wpa/wpa_supplicant/Makefile (diff)
Commit 4bb56e2a6520efd3472589b4bf70ebc0669e3be6 by cy
ntp: Improve descriptions in man pages

+ ntpd added to ntp.conf(5) description (search keywords)
+ expand NTP so these pages are shown when `apropos time`
+ "standard" => "reference" for increased consistency
- removed redundant or duplicated search keywords

ntp.org bug: https://bugs.ntp.org/show_bug.cgi?id=3936
Reviewed by: Harlan Stenn <stenn@nwtime.org>
Reviewed by: Cy Schubert <cy@nwtime.org>

(cherry picked from commit c7a33fe37d7688cb21c743f68256680e003210ad)
The file was modifiedcontrib/ntp/ntpd/ntp.keys.def (diff)
The file was modifiedusr.sbin/ntp/doc/ntp.conf.5 (diff)
The file was modifiedusr.sbin/ntp/doc/ntpq.8 (diff)
The file was modifiedusr.sbin/ntp/doc/ntp.keys.5 (diff)
The file was modifiedcontrib/ntp/util/ntp-keygen-opts.def (diff)
The file was modifiedusr.sbin/ntp/doc/sntp.8 (diff)
The file was modifiedusr.sbin/ntp/doc/ntpd.8 (diff)
The file was modifiedcontrib/ntp/ntpd/ntpd-opts.def (diff)
The file was modifiedcontrib/ntp/ntpq/ntpq-opts.def (diff)
The file was modifiedcontrib/ntp/ntpd/ntp.conf.def (diff)
The file was modifiedcontrib/ntp/sntp/sntp-opts.def (diff)
The file was modifiedusr.sbin/ntp/doc/ntp-keygen.8 (diff)
Commit 2ab84513e93076331aa698e36ca8781c02b3c3ed by 0mp
rc.d/dnctl: Chmod +x for consistency with other rc scripts

MFC after: 1 week
Approved by: bnovkov

(cherry picked from commit 91fac46bf7cff03c3471422c67281041c5fa0f1f)
The file was modifiedlibexec/rc/rc.d/dnctl (diff)
Commit 422394b81b1b7e06aac2e977591301437ea3e3f3 by 0mp
rc.subr.8: Do not use mdoc macros for Bl width

Macros do not expand there.

MFC after: 1 week

(cherry picked from commit 859868156a1658af71d57ee6c77c10fc192aa74a)
The file was modifiedshare/man/man8/rc.subr.8 (diff)
Commit cd28988c0b0ad9ecc1d891935a3387187efef4ce by 0mp
rc.8: Remove false information about rc.d/local

It does not handle scripts in /usr/local/etc/rc.d/. Instead, it takes
care of /etc/rc.local and /etc/rc.shutdown.local.

MFC after: 2 weeks

(cherry picked from commit 9dc67a70650b99872316d7ff95ef45ea4c5b455a)
The file was modifiedshare/man/man8/rc.8 (diff)
Commit e3b57f1485e7e1aed0285b953c4cca746c78a938 by 0mp
rc.subr: Consistently use an absolute path for sysrc

MFC after: 2 weeks
Approved by: christos

(cherry picked from commit 401516dbc54e4a4cba3085cd605fbf6cf8293b79)
The file was modifiedlibexec/rc/rc.subr (diff)
Commit a12fc31ce9e1d8668aeb7e6832fc188777a4da99 by 0mp
rc.subr.8: Fix the Bl macro of a list which is actually a table

MFC after: 2 weeks

(cherry picked from commit 6e414739fc95663836a5a10a8cf13e0211fd5efc)
The file was modifiedshare/man/man8/rc.subr.8 (diff)
Commit 2726df27627b4674246db5e56cb3ec98f797b587 by kbowling
e1000: Add sysctls for some missing MAC stats

Sponsored by: Blue Box Systems

(cherry picked from commit aa7d086ad94642fa40375db9976177fc9e54a2cf)
The file was modifiedsys/dev/e1000/if_em.c (diff)
Commit 4ce45606add99d568d5b7ae6354c18a378e29482 by kbowling
e1000: Handle igb EEE sysctl

Sponsored by: Blue Box Systems

(cherry picked from commit 2e78e568c268e4ba846ab140d9ac6b42886f8ec7)
The file was modifiedsys/dev/e1000/if_em.c (diff)
Commit 262f8dd6143e2cedea055763c5a453dedd449f85 by kbowling
e1000: Add sysctl for igb(4) DMA Coalesce

This feature can increase efficiency at the expense of latency

It does not work well with the default interrupt delay, but expose
the otherwise unconnected code in the driver in case people want to
experiment.

See
https://www.intel.com/content/dam/support/us/en/documents/network/adapter/pro100/sb/466827_intel_r__dma_coalescing_white_paper_v003.pdf

Sponsored by: Blue Box Systems

(cherry picked from commit c9021340a3266f924bf721182f14f2d265d8a82c)
The file was modifiedsys/dev/e1000/if_em.c (diff)
Commit e0a44adb80e00e05649bc064d9014b3fec8d0980 by kbowling
e1000: Delay safe_pause switch until SI_SUB_CLOCKS

Based on sysinit_sub_id, SI_SUB_CLOCKS is after SI_SUB_CONFIGURE.

SI_SUB_CONFIGURE  = 0x3800000,  /* Configure devices */  
At this stage, the variable “cold” will be set to 0.

SI_SUB_CLOCKS    = 0x4800000,  /* real-time and stat clocks*/
At this stage, the clock configuration will be done, and the real-time
clock can be used.

In the e1000 driver, if the API safe_pause_* are called between
SI_SUB_CONFIGURE and SI_SUB_CLOCKS stages, it will choose the wrong
clock source. The API safe_pause_* uses “cold” the value of which is
updated in SI_SUB_CONFIGURE, to decide if the real-time clock source is
ready. However, the real-time clock is not ready til the SI_SUB_CLOCKS
routines are done.

Obtained from: Juniper Networks
Differential Revision: https://reviews.freebsd.org/D42920

(cherry picked from commit 930a1e6f3d2dd629774f1b48b1acf7ba482ab659)
The file was modifiedsys/dev/e1000/e1000_osdep.c (diff)
The file was modifiedsys/dev/e1000/e1000_osdep.h (diff)
Commit d3c81ec4e90dfea3d2ecb2dc759f4f104bed0ce1 by kbowling
iflib: Simplify iflib_legacy_setup

Follow the pattern from iflib_irq_alloc_generic function and use
iflib_fast_intr as a handler for RX only interrupts.

Also remove some intermediate variables and use consistent
way for referencing queue's structures.

Signed-off-by: Krzysztof Galazka <krzysztof.galazka@intel.com>

Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D46061

(cherry picked from commit 36a001923836e280e750b76947b8705fcc47b0b7)
The file was modifiedsys/net/iflib.c (diff)
Commit b3834306579f3a59338f3faed3f588b30a56317e by kbowling
pci_iov: Add a device_printf if out of bus numbers

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D20591

(cherry picked from commit 6a4f0c063718781c5e3eddbeff0da7b89d290d1e)
The file was modifiedsys/dev/pci/pci_iov.c (diff)
Commit ed03c309908687bdb9f71dc6d9c9c8a92c54fc20 by emaste
bhyve: avoid TOCTOU on iov_len in virtio_vq_recordon()

Avoid a race condition when accessing guest memory, by reading memory
contents only once.

This has also been applied to _vq_record() in
sys/dev/beri/virtio/virtio.c, as per markj@'s suggestion.

Reported by: Synacktiv
Reviewed by: markj
Security: HYP-10
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D45735

(cherry picked from commit 869d760cb9d7a307faa2fbe8c1c2b238a81b74d4)
The file was modifiedsys/dev/beri/virtio/virtio.c (diff)
The file was modifiedusr.sbin/bhyve/virtio.c (diff)
Commit e31c5d398138c14be0a262af331bd823785f61d9 by kbowling
e1000: Clean up legacy absolute and packet timers

The absolute and packet timers only apply to lem and em with some only
applying to the later.

This cleans up the sysctl tree to only show these where applicable and
stops writing to unexpected registers for igb.

Sponsored by: BBOX.io

(cherry picked from commit 1c578f1c93112d3d53820f8b6b411488b83f0ab2)
The file was modifiedsys/dev/e1000/if_em.c (diff)
Commit 88cd12ec4248a92921cacdf618a6384ca5ed0248 by kbowling
e1000: Clean up ITR/EITR in preparation for AIM

Provide macros to derive the various needed values and make it a bit
more clear the differences between em and igb.

The igb default EITR was not landing at the right offset.

Respect the 'max_interrupt_rate' tunable.

Sponsored by: BBOX.io

(cherry picked from commit 9bf9164fc8aad1ca828c725413e06462aef1e4dd)
The file was modifiedsys/dev/e1000/if_em.h (diff)
The file was modifiedsys/dev/e1000/if_em.c (diff)
Commit 290a029137657e5af0918c9546e6fc880d3ea867 by 0mp
extattr(9): Mention system namespace restrictions in a jail

Reported by: netchild
Reviewed by: gbe
Differential revision: https://reviews.freebsd.org/D41676
MFC after: 1 week

(cherry picked from commit 315d7bbbb4e4b35d195a0a74ede229b1f64d42cc)
The file was modifiedshare/man/man9/extattr.9 (diff)
Commit ffa1a342697d7bfc53bf2e0c467fee3ed475a858 by 0mp
extattr.9: Improve the fragment about jail(8)

Fixes: 315d7bbbb4e4 extattr(9): Mention system namespace restrictions
MFC after: 1 week

(cherry picked from commit e8fc6a9980d9367f6fd4fee795a35e104104397e)
The file was modifiedshare/man/man9/extattr.9 (diff)
Commit e6dc191e43ac25492890a1227983de5e2d811db8 by olce
bitset: Fix __BIT_FFS_AT()'s herald comment

The manual page is correct though.

No functional change.

Reviewed by:    emaste
Approved by:    emaste (mentor)
MFC after:      3 days
Event:          Kitchener-Waterloo Hackathon 202406
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit f3ab0d86e8070c73bf2e2852341f8e5c709f5682)

Approved by:    emaste (mentor)
The file was modifiedsys/sys/bitset.h (diff)
Commit a257beee44abaffac0cc087d8492499740359922 by olce
bitset: __BIT_FFS_AT(): Fix herald comment, take 2

Remove the reference to the nonexistent 'end' parameter.  While here,
rephrase a bit.

I did the initial comment fix (commit "bitset: Fix __BIT_FFS_AT()'s
herald comment", f3ab0d86e8070c73) as part of an experiment introducing
macros to operate on ranges of bits in a bitset and subject to
a predicate (a generalization of some code used in some pending
modifications of the ULE scheduler), which was finally ditched as being
too verbose and impractical to use.  I however then forgot to remove the
reference to 'end'.

No functional change.

Noted by:       emaste
Approved by:    emaste (mentor)
MFC after:      3 days
MFC with:       f3ab0d86e807
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit ad4cf76ec4d4524381350e77b02b9abe24eb4b02)

Approved by:    emaste (mentor)
The file was modifiedsys/sys/bitset.h (diff)
Commit 92af7c97e197bb47be85030102f1a0ffbf3eb608 by markj
agp.4: Add a deprecation notice to the man page

The driver is giant-locked and thus already prints a deprecation warning
when attaching.  The device file interface was broken in 14.0 and 14.1,
see commit 12500c14281d, but it took a very long time for anyone to
notice, and in that case it was only because of some code which probes
all device files.

Relnotes: yes
Reviewed by: imp, jhb, emaste
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D46542

(cherry picked from commit 0abe2d3903cc4569705d491f8ac6d2edea01c26f)
The file was modifiedshare/man/man4/agp.4 (diff)
Commit 893caa2ab166b8d6428483172bcd61156407652f by markj
netmap: Make the memory ops function pointer table const

No functional change intended.

Reviewed by: vmaffione
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D46664

(cherry picked from commit 1ae4951ba7bb203d9a29892792960f0869759d35)
The file was modifiedsys/dev/netmap/netmap_mem2.c (diff)
Commit 7ebda9886eda8956df5a24423396a52ffce5e4e6 by markj
iflib: Use if_alloc_dev() to allocate the ifnet

This ensures that the ifnet's NUMA affinity is accurate.

Reviewed by: kbowling
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D46667

(cherry picked from commit 767723ddebe9c76a2d4a45a50d9b0efc9f2f91d7)
The file was modifiedsys/net/iflib.c (diff)
Commit 8b1d908cdeb7fb236011ed9c42517ce0ee9c9613 by markj
dtrace/amd64: Fix probe argument fetching

dtrace_getarg() previously walked the call stack looking for a frame
matching the dtrace_invop_callsite symbol, in order to look for a
trapframe corresponding to an invop (i.e., FBT or kinst) probe.  Commit
3ba8e9dc4a0e broke this in some cases by breaking the expected alignment
of the dtrace_invop_callsite symbol.

Rather than groveling around the stack to find invop probe arguments,
simply use the trapframe reference saved by dtrace_invop().  This is
simpler and less fragile.

Reported by: avg
Reviewed by: avg
MFC after: 2 weeks
Fixes: 3ba8e9dc4a0e ("dtrace/amd64: Implement emulation of call instructions")
Differential Revision: https://reviews.freebsd.org/D46672

(cherry picked from commit 9aabab09c4e163fa8187b265d6836d822516b1c9)
The file was modifiedsys/cddl/dev/dtrace/amd64/dtrace_isa.c (diff)
Commit af2f923ed093200529e9f68ca7436dffd7a68dd3 by markj
dtrace_test: Remove the dependency on dtraceall

FBT refuses to create probes in modules which depend on dtrace(all), but
dtrace_test is a convenient place to add functions specifically for
testing dtrace.

The dependency on dtraceall is not needed, so just remove it.  In fact,
it can be useful to test SDT probe creation by loading dtrace_test with
and without dtraceall loaded.

Reviewed by: avg
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D46673

(cherry picked from commit 5bd7b976c1214cd6357b74f491753a331f9b7c99)
The file was modifiedsys/cddl/dev/dtrace/dtrace_test.c (diff)
Commit 37a29946b91b1360102ff9cc33eaf352a2f17726 by markj
dtrace tests: Add a test case which validates FBT probe arguments

Reviewed by: avg
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D46674

(cherry picked from commit d439598dd0d341b0c0b77151ba904e09c42f8421)
The file was modifiedcddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile (diff)
The file was modifiedsys/cddl/dev/dtrace/dtrace_test.c (diff)
The file was addedcddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.argtest.ksh.out
The file was addedcddl/contrib/opensolaris/cmd/dtrace/test/tst/common/fbtprovider/tst.argtest.ksh
Commit c27106d925cde6384252d9cdcd4df560375a50dd by markj
dtrace/amd64: Remove the dtrace_invop_callsite symbol

It is not needed after commit 7e80fd5ef397.  No functional change
intended.

Reviewed by: avg
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D46675

(cherry picked from commit 06e7bc83f6a49b99f87ad1a6034e2fad54ebe7f3)
The file was modifiedsys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h (diff)
The file was modifiedsys/cddl/dev/dtrace/amd64/dtrace_asm.S (diff)
Commit 1508dce2502d3afd4863595c94624ff71d2883c0 by kib
procfs: ensure that RLIMIT_IDENT is properly updated when a limit is added

(cherry picked from commit c84d8db0ab3d02f65422e8dcdc1f911cc15a04ec)
The file was modifiedsys/fs/procfs/procfs_rlimit.c (diff)
Commit 81c47bfc700dbce884e015f88d629938aefb0f6b by kib
amd64/mp_machdep.c: style

(cherry picked from commit c2fe7156e992a295756206f59c282b9e971b8c91)
The file was modifiedsys/amd64/amd64/mp_machdep.c (diff)
Commit 4cb8ec6c6f81243da158def4525f92c6dc7b964b by kib
vm_map: add vm_map_find_locked(9)

(cherry picked from commit 0ecbb28ce351652b3a2dae271eedf1eb3aa65400)
The file was modifiedsys/vm/vm_map.h (diff)
The file was modifiedsys/vm/vm_map.c (diff)
Commit b7eecc86c3bdf124ca64e2cdc65e05a2093614a7 by kib
kernel: add RLIMIT_PIPEBUF

(cherry picked from commit 3458bbd397783f3bb62713c54ae87f19eeb98dc0)
The file was modifiedsys/sys/resourcevar.h (diff)
The file was modifiedsys/sys/resource.h (diff)
The file was modifiedsys/kern/sys_pipe.c (diff)
The file was modifiedsys/kern/kern_resource.c (diff)
The file was modifiedsys/sys/pipe.h (diff)
Commit d20f0dae2f97185cc53bda3fd3245453a77277f6 by kib
getrlimit(2): document RLIMIT_PIPEBUF

(cherry picked from commit 54a8d1fbbf65e976132809718525ba051a5525cf)
The file was modifiedlib/libc/sys/getrlimit.2 (diff)
Commit a03f7c040ce7b836b7e0dedfca76b28d2b8a5464 by kib
libutil: support RLIMIT_PIPEBUF

(cherry picked from commit a4c04958f526a0dba353b54641dc5d2806984d02)
The file was modifiedlib/libutil/login_class.3 (diff)
The file was modifiedlib/libutil/login.conf.5 (diff)
The file was modifiedlib/libutil/login_class.c (diff)
Commit d5ed8778bf3b808d637c7913da66dc31b892e5f7 by kib
bin/sh: support RLIMIT_PIPEBUF

(cherry picked from commit 5d92f20c7d316aca521d4db4c1dab0f2d0e92c36)
The file was modifiedbin/sh/miscbltin.c (diff)
Commit 25902860b2707ab840543eadb3d4e6bcdd8fee01 by kib
usr.bin/limits: support RLIMIT_PIPEBUF

(cherry picked from commit f54f41403d149e867b896ae753a0e7e2b0c738b0)
The file was modifiedusr.bin/limits/limits.c (diff)
The file was modifiedusr.bin/limits/limits.1 (diff)
Commit 524b9810de6a7cb60cfad94217e0e7f79e227669 by kib
login.conf: add a placeholder for the pipebuf limit

(cherry picked from commit b029e29e0d8b928de2da50014d81799dfb5c9047)
The file was modifiedusr.bin/login/login.conf (diff)
Commit 6600090e678ef46264383b70222cd3886c0dbbc7 by kib
procstat: support RLIMIT_PIPEBUF

(cherry picked from commit 80133d678ecbddb382174a4d48305a7b8cb932e5)
The file was modifiedusr.bin/procstat/procstat_rlimit.c (diff)
Commit fd9babb1b85f097d70d3c345b973b9b35a3b3c69 by kib
privs: add PRIV_PIPEBUF

(cherry picked from commit 8ae779832c6fee0588274af3c48cc643022787e6)
The file was modifiedsys/sys/priv.h (diff)
Commit d532d9926ee74a05b03db9064196b3831c082bee by kib
pipes: reserve configured percentage of buffers zone to superuser

(cherry picked from commit 7672cbef2c1e1267e42bb3aad6a6da9380f4347f)
The file was modifiedsys/kern/sys_pipe.c (diff)
Commit 6536b979b856096809d46e92039a7a51e0b646d9 by kib
pipe: use pipe subsystem KVA counter instead of pipe_map size

(cherry picked from commit d6074f73af5c813524022cf6ee7dab9c4cbe44be)
The file was modifiedsys/kern/sys_pipe.c (diff)
Commit a8c663bb42612afb58965c091846ee026bc702fc by kib
pipespace_new(): decrease uidinfo pipebuf usage if reservation check failed

(cherry picked from commit 40769168a5ee227b96ea91768555eef332a0dc26)
The file was modifiedsys/kern/sys_pipe.c (diff)
Commit c15b2e046e8cb84c5bdae98ee742b477dab7ff24 by kib
sys_pipe: consistently use cr_ruidinfo for accounting of pipebuf

(cherry picked from commit a52b30ff98cdab82af140285fa7fcdf1036fef27)
The file was modifiedsys/kern/sys_pipe.c (diff)
Commit 4a337ee7ef4cdf1492dd5d79e80434d8e68e233a by kib
uifree(9): report non-zero values for all shared resources

(cherry picked from commit af96ccc6a5083ae9ed62dbb1d72674ca75948707)
The file was modifiedsys/kern/kern_resource.c (diff)
Commit fc9070bf1d16916de11f69dfc1011284d975040e by kib
procfs rlimit: handle pipebuf

(cherry picked from commit 2c1963d46335576d29fe21a4e7b424c47b711ef4)
The file was modifiedsys/sys/resource.h (diff)
Commit e05087ee1c7b850a331b8a326c9b21b05cfefa5e by kib
Add proc_nfiles(9)

(cherry picked from commit 9c3e516ad08145ad47248633b54fd1b7fc0ef981)
The file was modifiedsys/sys/filedesc.h (diff)
The file was modifiedsys/kern/kern_descrip.c (diff)
Commit 7c41d08320a18634a32bba727dc5f9f78086e746 by kib
Add getrlimitusage(2)

(cherry picked from commit f028f44ef3cb10aafadf8b9f29954ed58bd88c70)
The file was modifiedsys/sys/resource.h (diff)
The file was modifiedsys/kern/syscalls.master (diff)
The file was modifiedsys/kern/kern_resource.c (diff)
Commit dac3b7e394fdf98fdea05608e80f2b24f5ba8e9e by kib
Userspace enablement for getrlimitusage(2)

(cherry picked from commit 9b29fc89ae20a22516f54e146bfdfa0cfcd60b8b)
The file was modifiedlib/libc/sys/Symbol.map (diff)
The file was modifiedsys/sys/resource.h (diff)
The file was modifiedsys/sys/sysproto.h (diff)
The file was modifiedsys/compat/freebsd32/freebsd32_syscalls.c (diff)
The file was modifiedsys/compat/freebsd32/freebsd32_sysent.c (diff)
The file was modifiedsys/kern/init_sysent.c (diff)
The file was modifiedsys/kern/systrace_args.c (diff)
The file was modifiedsys/sys/syscall.mk (diff)
The file was modifiedsys/kern/syscalls.c (diff)
The file was modifiedsys/sys/syscall.h (diff)
The file was modifiedsys/compat/freebsd32/freebsd32_systrace_args.c (diff)
The file was modifiedsys/compat/freebsd32/freebsd32_syscall.h (diff)
Commit d9aa256201b8d149907d490029d5a3ea123a3d89 by kib
sysctl: add KERN_PROC_RLIMIT_USAGE

(cherry picked from commit c85d3064c454bde9f1c0cfbb6f42c0ac9fa229e9)
The file was modifiedsys/sys/sysctl.h (diff)
The file was modifiedsys/kern/kern_resource.c (diff)
Commit 1611738d4c4c375ea79a5cc25dd4fa29670ad88c by kib
libprocstat: add procstat_getrlimitusage()

(cherry picked from commit 6126f4ea646a3c19647c3efdcf672641cff6954b)
The file was modifiedlib/libprocstat/libprocstat.c (diff)
The file was modifiedlib/libprocstat/Symbol.map (diff)
The file was modifiedlib/libprocstat/libprocstat.h (diff)
Commit cc4cee6cc27de8e51295c30b8d71d43032b00cf0 by kib
procstat(1): add rlimitusage subcommand

(cherry picked from commit 5ac9320ddf50702e4fe05c10adc46dcdbd8ed5ee)
The file was modifiedusr.bin/procstat/procstat.h (diff)
The file was modifiedusr.bin/procstat/procstat.c (diff)
The file was addedusr.bin/procstat/procstat_rlimitusage.c
The file was modifiedusr.bin/procstat/Makefile (diff)
Commit b0f2d76837dd2a161721e9141885bca258e604ac by kib
intel_idpgtbl.c: rename domain_* functions to dmar_*

(cherry picked from commit 10ebd230f4d9ed5c6406037972776666a2241107)
The file was modifiedsys/x86/iommu/intel_ctx.c (diff)
The file was modifiedsys/x86/iommu/intel_dmar.h (diff)
The file was modifiedsys/x86/iommu/intel_idpgtbl.c (diff)
Commit 5e70f9aa9eecc1f7ad177575720281af8b8747d6 by kib
iommu: add per-unit sysctls reporting the state of DMA and interrupt remapping

(cherry picked from commit d50403a6919a641abfb0da4d60eb58ce42302de5)
The file was modifiedsys/x86/iommu/intel_intrmap.c (diff)
The file was modifiedsys/arm64/iommu/iommu.c (diff)
The file was modifiedsys/dev/iommu/iommu.h (diff)
The file was modifiedsys/dev/iommu/busdma_iommu.c (diff)
The file was modifiedsys/x86/iommu/intel_drv.c (diff)
Commit a5943b6e503df1b75436f85ca7efa7e94c631a24 by kib
iommu: change iommu_domain_map_ops to take iommu_map_entry

(cherry picked from commit bdd5eb33cacdbf174980b999c77847d0903fc12e)
The file was modifiedsys/x86/iommu/intel_ctx.c (diff)
The file was modifiedsys/arm64/iommu/iommu.c (diff)
The file was modifiedsys/dev/iommu/iommu.h (diff)
The file was modifiedsys/dev/iommu/iommu_gas.c (diff)
The file was modifiedsys/x86/iommu/intel_idpgtbl.c (diff)
Commit b0e45fea61a53bf7831e9a8de356cfda055e1d44 by kib
vm_page_free_pages_toq(): return the count of freed pages

(cherry picked from commit 1784fb44498da8007fb8cd8ee5060894eb5fe1e6)
The file was modifiedsys/vm/vm_page.h (diff)
The file was modifiedsys/vm/vm_page.c (diff)
Commit 0c7e13cfe2045fb17a0583d0a2a1f685225bf7d5 by kib
iommu: extend iommu_map_entry to store the list of associated freed page table pages

(cherry picked from commit f713ed6694d949ec37365533afbb47c04f919572)
The file was modifiedsys/x86/iommu/iommu_utils.c (diff)
The file was modifiedsys/x86/iommu/x86_iommu.h (diff)
The file was modifiedsys/dev/iommu/iommu.h (diff)
The file was modifiedsys/dev/iommu/iommu_gas.c (diff)
The file was modifiedsys/x86/iommu/intel_idpgtbl.c (diff)
Commit 938cac4bdf17188644512d5bbaba6768940fc423 by kib
dmar: on unmap, postpone freeing page table pages after the invalidation is done

(cherry picked from commit 3848dc4fe6f37cbcfaea29eb94fa560a503f60ab)
The file was modifiedsys/x86/iommu/intel_idpgtbl.c (diff)
Commit a67cc4b031ab01a2defcfb6f3d23cc0363f0c2ac by kib
hyperv: call smp_targeted_tlb_shootdown_native() with pin

(cherry picked from commit 6dcffb980fa3026092f79107ee7668918c9f5490)
The file was modifiedsys/dev/hyperv/vmbus/hyperv_mmu.c (diff)
Commit 941833b9bb8a3ab063189e02eed6860bfabd5f73 by kbowling
ixgbe: Switch if_sriov read/write back to ixgbe_mbx APIs

These are more succinct than jumping through the function pointers
directly and add some additional error handling.

(cherry picked from commit 1e3b1870ad2a426de6e3f5445211b698f20f7f1f)
The file was modifiedsys/dev/ixgbe/if_sriov.c (diff)
Commit f75c75d94841ebd410ccecf7b0bf8c8faf602193 by kbowling
igc: Remove non-existent legacy absolute and packet timers

igc, derived from igb, does not use these registers. All interrupt
timing is governed by EITR or LLI and driven by write-back.

Sponsored by: BBOX.io

(cherry picked from commit a40ecb6f740530fb7e6a95e702113aa3fe24d975)
The file was modifiedsys/dev/igc/if_igc.c (diff)
The file was modifiedsys/dev/igc/if_igc.h (diff)
The file was modifiedsys/dev/igc/igc_regs.h (diff)
Commit 013d817b539325017e00ede97d58c8adc16dbee3 by kbowling
igc: Add NVM/firmware prints and sysctl

This chipset suffered an (un)usual number of bugs and iterations. Let's
add our NVM/firmware code from e1000 and the similar igc_nvm function
from DPDK to keep track of issues.

Sponsored by: BBOX.io

(cherry picked from commit 33ed9bdca307bedb3d66a50ed7d4d7b4bf4acf39)
The file was modifiedsys/dev/igc/igc_nvm.c (diff)
The file was modifiedsys/dev/igc/if_igc.h (diff)
The file was modifiedsys/dev/igc/igc_defines.h (diff)
The file was modifiedsys/dev/igc/igc_nvm.h (diff)
The file was modifiedsys/dev/igc/if_igc.c (diff)
Commit 8d65747f7c6f61a0ee9304aaffcfdee9f885b9d5 by des
locate.updatedb: Explicitly exit from trap code.

When a signal is trapped, the script continues after the trap code has
run, unless the trap code explicitly exits.  In the particular case of
locate.updatedb, this is mostly harmless, except that the trap code is
executed twice (once for the signal and once when we reach the end of
the script), but it's still worth fixing.

Furthermore, install the trap as soon as we've created the temporary
directory, to minimize the window during which we can fail to clean up
after ourselves if interrupted.

While here, simplify the empty check at the end and make some minor
style tweaks.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D46475

(cherry picked from commit f62c1f3f8e91c78d402e1db4e518e4899a4ba2b9)

locate.updatedb: Revert to using cat to copy the db.

This script is usually run unprivileged, so install fails to create a
temporary file while copying the finished database.  Revert to using
cat, which can overwrite the existing file as it is usually owned by
the same user which is running the script.

Fixes: f62c1f3f8e91
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D46872

(cherry picked from commit 26bd374e72681860af4bf9d639308ad245949460)
The file was modifiedusr.bin/locate/locate/updatedb.sh (diff)
Commit d2c02cfae55a1ffb179b55f45a89606845e1acfb by des
date: Fix a few nits.

* Don't use `asprintf()` when `strdup()` can do the job just as well.
* Fix a couple of typos in a comment.

Fixes: eeb04a736cb9
MFC after: 3 days
Sponsored by: Klara, Inc.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D46533

(cherry picked from commit a8ddd1926a34fc20970d9ceaad71b31fc414b1c5)

date: Documentation nits.

* Fix spurious capitalization.
* Fix inconsistent quoting.
* Use `Dq` rather than ASCII double quotes.

MFC after: 3 days
Sponsored by: Klara, Inc.
Reviewed by: 0mp
Differential Revision: https://reviews.freebsd.org/D46622

(cherry picked from commit 355ebf80b1ed98cf7ca9c51ce7e3e6dcb376853d)
The file was modifiedbin/date/date.1 (diff)
The file was modifiedbin/date/date.c (diff)
Commit 113e746686dbd57c2700a1ece970d262ea57092f by des
Update tzcode to 2024b.

MFC after: 3 weeks
Sponsored by: Klara, Inc.
Reviewed by: philip
Differential Revision: https://reviews.freebsd.org/D46565

(cherry picked from commit a979394afeb5c20fc58c5f5b005d51eb8f92f666)
The file was modifiedcontrib/tzcode/Makefile (diff)
The file was modifiedcontrib/tzcode/version (diff)
The file was modifiedcontrib/tzcode/zic.c (diff)
The file was modifiedcontrib/tzcode/tzfile.5 (diff)
The file was modifiedcontrib/tzcode/zdump.c (diff)
The file was modifiedcontrib/tzcode/workman.sh (diff)
The file was modifiedcontrib/tzcode/private.h (diff)
The file was modifiedcontrib/tzcode/tz-art.html (diff)
The file was modifiedcontrib/tzcode/tzfile.h (diff)
The file was modifiedcontrib/tzcode/CONTRIBUTING (diff)
The file was modifiedcontrib/tzcode/localtime.c (diff)
The file was modifiedcontrib/tzcode/newstrftime.3 (diff)
The file was modifiedcontrib/tzcode/tzselect.ksh (diff)
The file was modifiedcontrib/tzcode/theory.html (diff)
The file was modifiedcontrib/tzcode/asctime.c (diff)
The file was modifiedcontrib/tzcode/newtzset.3 (diff)
The file was modifiedcontrib/tzcode/tz-link.html (diff)
The file was modifiedcontrib/tzcode/NEWS (diff)
The file was modifiedcontrib/tzcode/zic.8 (diff)
The file was modifiedcontrib/tzcode/newctime.3 (diff)
Commit 2403e6d5aa9e8ad71c472639af7e903f16ce3b27 by des
printf(): Save errno earlier.

The manual page says %m is replaced with “the string representation of
the error code stored in the errno variable at the beginning of the
call”.  However, we don't actually save `errno` until fairly late in
`__vfprintf()`.  Make sure it is saved before we do anything that
might perturb `errno`.

MFC after: 1 week
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D46718

(cherry picked from commit 74f1007fcc838501c74a633792c3f01833bf65e1)
The file was modifiedlib/libc/stdio/vasprintf.c (diff)
The file was modifiedlib/libc/stdio/snprintf.c (diff)
The file was modifiedlib/libc/stdio/vsprintf.c (diff)
The file was modifiedlib/libc/stdio/local.h (diff)
The file was modifiedlib/libc/stdio/vfprintf.c (diff)
The file was modifiedlib/libc/stdio/vsnprintf.c (diff)
The file was modifiedlib/libc/stdio/vdprintf.c (diff)
Commit 2dea4de8e0f0ee886cf46a5ceddabd4192843445 by emaste
vmm: Properly handle writes spanning across two pages in vm_handle_db

The vm_handle_db function is responsible for writing correct status
register values into memory when a guest VM is being single-stepped
using the RFLAGS.TF mechanism. However, it currently does not properly
handle an edge case where the resulting write spans across two pages.
This commit fixes this by making vm_handle_db use two vm_copy_info
structs.

Security: HYP-09
Reviewed by: markj

(cherry picked from commit 51fda658baa3f80c9778f3a9873fbf67df87119b)
The file was modifiedsys/amd64/vmm/vmm.c (diff)
Commit f8db6fb90e739293d6d72310fa554ede072f8232 by emaste
vmm: avoid potential KASSERT kernel panic in vm_handle_db

If the guest VM emits the exit code VM_EXITCODE_DB the kernel will
execute the function named vm_handle_db.

If the value of rsp is not page aligned and if rsp+sizeof(uint64_t)
spans across two pages, the function vm_copy_setup will need two structs
vm_copyinfo to prepare the copy operation.

For instance is rsp value is 0xFFC, two vm_copyinfo objects are needed:

* address=0xFFC, len=4
* address=0x1000, len=4

The vulnerability was addressed by commit 51fda658baa ("vmm: Properly
handle writes spanning across two pages in vm_handle_db").  Still,
replace the KASSERT with an error return as a more defensive approach.

Reported by:    Synacktiv
Reviewed by markj, emaste
Security:       HYP-09
Sponsored by:   The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46133

(cherry picked from commit d19fa9c1b72bc52e51524abcc59ad844012ec365)
The file was modifiedsys/amd64/vmm/vmm.c (diff)
Commit 757bbf484c0bab2c4c7b504017079cceb833f7ae by emaste
bhyve: improve bounds checks in hda_codec

The function hda_codec_command is vulnerable to buffer over-read, the
payload value is extracted from the command and used as an array index
without any validation.
Fortunately, the payload value is capped at 255, so the information
disclosure is limited and only a small part of .rodata of bhyve binary
can be disclosed.

The risk is low because the leaked information is not sensitive. An
attacker may be able to validate the version of the bhyve binary using
this information disclosure (layout of .rodata information, ex:
jmp_tables) before executing an exploit.

Reported by: Synacktiv
Reviewed by: christos, emaste
Security: HYP-13
Sponsored by: The Alpha-Omega Project
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46098

(cherry picked from commit e94a1d6a7f2eb932850e1db418bf34d5c6991ce8)
The file was modifiedusr.sbin/bhyve/hda_codec.c (diff)
Commit 26f21a6494b4cf791bc45d7ed3138bfab9f8f854 by jrm
libpcap: Update to 1.10.5

Changes: https://git.tcpdump.org/libpcap/blob/bbcbc9174df3298a854daee2b3e666a4b6e5383a:/CHANGES
Reviewed by: emaste
Obtained from: https://www.tcpdump.org/release/libpcap-1.10.5.tar.gz
Sponsored by: The FreeBSD Foundation

(cherry picked from commit afdbf109c6a661a729938f68211054a0a50d38ac)
(cherry picked from commit ecb75be376a3e18d3e4836b6ee07015264784694)
(cherry picked from commit f0bcebe67ef6cf9f104535d6cd9f151c1b61dd6a)
(cherry picked from commit 34aa6f2c2db5cc9655f201a1ef01adbb9fb484d5)
The file was modifiedcontrib/libpcap/charconv.c (diff)
The file was modifiedcontrib/libpcap/rpcapd/rpcapd.manadmin.in (diff)
The file was modifiedcontrib/libpcap/scanner.l (diff)
The file was modifiedcontrib/libpcap/config.guess (diff)
The file was modifiedcontrib/libpcap/INSTALL.md (diff)
The file was modifiedcontrib/libpcap/pcap_open_live.3pcap (diff)
The file was modifiedcontrib/libpcap/pcap_activate.3pcap (diff)
The file was modifiedcontrib/libpcap/pcap-bt-linux.c (diff)
The file was modifiedcontrib/libpcap/pcap_set_tstamp_precision.3pcap.in (diff)
The file was modifiedcontrib/libpcap/pcap/can_socketcan.h (diff)
The file was addedcontrib/libpcap/thread-local.h
The file was modifiedcontrib/libpcap/pcap_create.3pcap (diff)
The file was modifiedcontrib/libpcap/pcap_lookupnet.3pcap (diff)
The file was modifiedcontrib/libpcap/missing/asprintf.c (diff)
The file was modifiedcontrib/libpcap/pcap-int.h (diff)
The file was modifiedcontrib/libpcap/pcap_offline_filter.3pcap (diff)
The file was modifiedcontrib/libpcap/bpf_filter.c (diff)
The file was modifiedcontrib/libpcap/fmtutils.h (diff)
The file was addedcontrib/libpcap/doc/README.windows.md
The file was modifiedcontrib/libpcap/pcap-nit.c (diff)
The file was modifiedcontrib/libpcap/grammar.y.in (diff)
The file was modifiedcontrib/libpcap/pcap.c (diff)
The file was modifiedcontrib/libpcap/testprogs/valgrindtest.c (diff)
The file was modifiedcontrib/libpcap/extract.h (diff)
The file was modifiedcontrib/libpcap/pcap/funcattrs.h (diff)
The file was modifiedcontrib/libpcap/pcap/namedb.h (diff)
The file was modifiedcontrib/libpcap/pcap-tstamp.manmisc.in (diff)
The file was modifiedcontrib/libpcap/sf-pcap.c (diff)
The file was modifiedcontrib/libpcap/pcap-config.1 (diff)
The file was modifiedcontrib/libpcap/rpcapd/rpcapd-config.manfile.in (diff)
The file was modifiedcontrib/libpcap/pcap/pcap.h (diff)
The file was modifiedcontrib/libpcap/sf-pcapng.c (diff)
The file was modifiedcontrib/libpcap/rpcap-protocol.h (diff)
The file was modifiedcontrib/libpcap/pcap_compile.3pcap.in (diff)
The file was modifiedlib/libpcap/config.h (diff)
The file was modifiedcontrib/libpcap/pcap-enet.c (diff)
The file was modifiedcontrib/libpcap/sslutils.h (diff)
The file was modifiedcontrib/libpcap/pcap-snit.c (diff)
The file was removedcontrib/libpcap/pcap-rpcap-int.h
The file was modifiedcontrib/libpcap/missing/strtok_r.c (diff)
The file was modifiedcontrib/libpcap/pcap/sll.h (diff)
The file was modifiedcontrib/libpcap/missing/strlcat.c (diff)
The file was modifiedcontrib/libpcap/pcap-pf.c (diff)
The file was modifiedcontrib/libpcap/pcap_findalldevs.3pcap (diff)
The file was modifiedcontrib/libpcap/msdos/makefile (diff)
The file was modifiedcontrib/libpcap/missing/win_asprintf.c (diff)
The file was modifiedcontrib/libpcap/pcap-snoop.c (diff)
The file was modifiedcontrib/libpcap/install-sh (diff)
The file was modifiedcontrib/libpcap/msdos/makefile.dj (diff)
The file was modifiedcontrib/libpcap/pcap/socket.h (diff)
The file was modifiedcontrib/libpcap/sslutils.c (diff)
The file was modifiedcontrib/libpcap/etherent.c (diff)
The file was modifiedcontrib/libpcap/pcap-netmap.c (diff)
The file was modifiedcontrib/libpcap/pcap-bpf.c (diff)
The file was modifiedcontrib/libpcap/nlpid.h (diff)
The file was modifiedcontrib/libpcap/ppp.h (diff)
The file was modifiedcontrib/pf/pflogd/pflogd.c (diff)
The file was modifiedcontrib/libpcap/diag-control.h (diff)
The file was modifiedcontrib/libpcap/msdos/pktdrvr.c (diff)
The file was modifiedcontrib/libpcap/pcap-dlpi.c (diff)
The file was modifiedcontrib/libpcap/pcap_dump.3pcap (diff)
The file was modifiedcontrib/libpcap/pcap_breakloop.3pcap (diff)
The file was modifiedcontrib/libpcap/pcap-netfilter-linux.c (diff)
The file was modifiedcontrib/libpcap/CHANGES (diff)
The file was modifiedcontrib/libpcap/pcap_loop.3pcap (diff)
The file was modifiedcontrib/libpcap/TODO (diff)
The file was modifiedcontrib/libpcap/savefile.c (diff)
The file was removedcontrib/libpcap/pcap-usb-linux-common.c
The file was modifiedcontrib/libpcap/gencode.h (diff)
The file was modifiedcontrib/libpcap/pcap-septel.c (diff)
The file was modifiedcontrib/libpcap/rpcapd/win32-svc.c (diff)
The file was modifiedcontrib/libpcap/pcap-null.c (diff)
The file was modifiedcontrib/libpcap/pcap_init.3pcap (diff)
The file was modifiedcontrib/libpcap/optimize.c (diff)
The file was modifiedcontrib/libpcap/missing/strlcpy.c (diff)
The file was modifiedcontrib/libpcap/testprogs/Makefile.in (diff)
The file was modifiedcontrib/libpcap/pcap_strerror.3pcap (diff)
The file was modifiedcontrib/libpcap/testprogs/findalldevstest-perf.c (diff)
The file was modifiedcontrib/libpcap/pcap_next_ex.3pcap (diff)
The file was modifiedcontrib/libpcap/fmtutils.c (diff)
The file was modifiedcontrib/libpcap/rpcapd/config_params.h (diff)
The file was modifiedcontrib/libpcap/pcap-config.in (diff)
The file was modifiedcontrib/libpcap/pcap-tc.c (diff)
The file was modifiedcontrib/libpcap/rpcapd/Makefile.in (diff)
The file was modifiedcontrib/libpcap/sockutils.h (diff)
The file was modifiedcontrib/libpcap/pcap-rpcap.c (diff)
The file was modifiedcontrib/libpcap/pcap_setnonblock.3pcap (diff)
The file was modifiedcontrib/libpcap/rpcapd/log.c (diff)
The file was modifiedcontrib/libpcap/ftmacros.h (diff)
The file was modifiedcontrib/libpcap/nametoaddr.c (diff)
The file was modifiedcontrib/libpcap/rpcapd/fileconf.c (diff)
The file was modifiedcontrib/libpcap/aclocal.m4 (diff)
The file was modifiedcontrib/libpcap/CREDITS (diff)
The file was modifiedcontrib/libpcap/pcap-sita.c (diff)
The file was modifiedcontrib/libpcap/cmakeconfig.h.in (diff)
The file was modifiedcontrib/libpcap/rpcapd/CMakeLists.txt (diff)
The file was modifiedcontrib/libpcap/testprogs/filtertest.c (diff)
The file was modifiedcontrib/libpcap/pcap-linux.c (diff)
The file was modifiedcontrib/libpcap/pcap-filter.manmisc.in (diff)
The file was modifiedcontrib/libpcap/fad-glifc.c (diff)
The file was modifiedcontrib/libpcap/cmake/Modules/Finddpdk.cmake (diff)
The file was modifiedcontrib/libpcap/pcap-dbus.c (diff)
The file was modifiedcontrib/libpcap/pcap-util.c (diff)
The file was modifiedcontrib/libpcap/pcap-dos.c (diff)
The file was modifiedcontrib/libpcap/pcap-dpdk.c (diff)
The file was modifiedcontrib/libpcap/pcap-new.c (diff)
The file was modifiedcontrib/libpcap/pcap_lookupdev.3pcap (diff)
The file was modifiedcontrib/libpcap/pcap_open_offline.3pcap.in (diff)
The file was modifiedcontrib/libpcap/msdos/makefile.wc (diff)
The file was removedcontrib/libpcap/pcap-haiku.cpp
The file was modifiedcontrib/libpcap/Makefile.in (diff)
The file was modifiedlib/libpcap/Makefile (diff)
The file was modifiedcontrib/libpcap/dlpisubs.c (diff)
The file was modifiedcontrib/libpcap/pcap-usb-linux.c (diff)
The file was modifiedcontrib/libpcap/VERSION (diff)
The file was modifiedcontrib/libpcap/pcap-dag.c (diff)
The file was modifiedcontrib/libpcap/rpcap-protocol.c (diff)
The file was modifiedcontrib/libpcap/fad-getad.c (diff)
The file was modifiedcontrib/libpcap/pcap.3pcap.in (diff)
The file was modifiedcontrib/libpcap/pcap/pcap-inttypes.h (diff)
The file was removedcontrib/libpcap/doc/README.Win32.md
The file was modifiedcontrib/libpcap/bpf_dump.c (diff)
The file was modifiedcontrib/libpcap/pcap-npf.c (diff)
The file was modifiedcontrib/libpcap/pcap-util.h (diff)
The file was modifiedcontrib/libpcap/config.sub (diff)
The file was modifiedcontrib/libpcap/msdos/readme.dos (diff)
The file was modifiedcontrib/libpcap/config.h.in (diff)
The file was modifiedcontrib/libpcap/configure (diff)
The file was modifiedcontrib/libpcap/pcap-libdlpi.c (diff)
The file was modifiedcontrib/libpcap/rpcapd/daemon.c (diff)
The file was modifiedcontrib/libpcap/gencode.c (diff)
The file was modifiedcontrib/libpcap/doc/README.hpux (diff)
The file was modifiedcontrib/libpcap/pcap-savefile.manfile.in (diff)
The file was modifiedcontrib/libpcap/rpcapd/rpcapd.c (diff)
The file was modifiedcontrib/libpcap/portability.h (diff)
The file was modifiedcontrib/libpcap/pcap-bt-monitor-linux.c (diff)
The file was modifiedcontrib/libpcap/pcap-snf.c (diff)
The file was modifiedcontrib/libpcap/pcap-common.c (diff)
The file was addedcontrib/libpcap/autogen.sh
The file was modifiedcontrib/libpcap/pcap/dlt.h (diff)
The file was modifiedcontrib/libpcap/pcap/usb.h (diff)
The file was modifiedcontrib/libpcap/configure.ac (diff)
The file was modifiedcontrib/libpcap/rpcapd/daemon.h (diff)
The file was modifiedcontrib/libpcap/testprogs/findalldevstest.c (diff)
The file was modifiedcontrib/libpcap/bpf_image.c (diff)
The file was modifiedcontrib/libpcap/atmuni31.h (diff)
The file was modifiedcontrib/libpcap/mkdep (diff)
The file was modifiedcontrib/libpcap/pcap-airpcap.c (diff)
The file was modifiedcontrib/libpcap/pcap-rdmasniff.c (diff)
The file was modifiedcontrib/libpcap/pcap-usb-linux-common.h (diff)
The file was modifiedcontrib/libpcap/sockutils.c (diff)
The file was modifiedcontrib/libpcap/msdos/pktdrvr.h (diff)
The file was addedcontrib/libpcap/pcap-haiku.c
The file was modifiedcontrib/libpcap/CMakeLists.txt (diff)
The file was modifiedcontrib/libpcap/pcap-sita.html (diff)
The file was addedcontrib/libpcap/doc/README.haiku.md
The file was modifiedcontrib/libpcap/fad-gifc.c (diff)
The file was modifiedcontrib/libpcap/pcap/nflog.h (diff)
Commit ec3da16d8bc19ad90f04cc227fc8f409813c44f4 by jrm
tcpdump: Update to 4.99.5

Changes:        https://git.tcpdump.org/tcpdump/blob/4a789712f187e3ac7b2c0044c3a3f8c71b83646e:/CHANGES
Obtained from:  https://www.tcpdump.org/release/tcpdump-4.99.5.tar.xz
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 0a7e5f1f02aad2ff5fff1c60f44c6975fd07e1d9)
The file was modifiedcontrib/tcpdump/CREDITS (diff)
The file was modifiedcontrib/tcpdump/print-vxlan.c (diff)
The file was modifiedcontrib/tcpdump/print-pktap.c (diff)
The file was modifiedcontrib/tcpdump/print-hncp.c (diff)
The file was modifiedcontrib/tcpdump/print-l2tp.c (diff)
The file was modifiedcontrib/tcpdump/print-ftp.c (diff)
The file was modifiedcontrib/tcpdump/mkdep (diff)
The file was modifiedcontrib/tcpdump/machdep.c (diff)
The file was modifiedcontrib/tcpdump/status-exit-codes.h (diff)
The file was modifiedcontrib/tcpdump/print-olsr.c (diff)
The file was modifiedcontrib/tcpdump/print-atm.c (diff)
The file was modifiedcontrib/tcpdump/tcpdump.c (diff)
The file was modifiedcontrib/tcpdump/CMakeLists.txt (diff)
The file was modifiedcontrib/tcpdump/print-eap.c (diff)
The file was modifiedcontrib/tcpdump/print-token.c (diff)
The file was modifiedcontrib/tcpdump/print-smb.c (diff)
The file was modifiedcontrib/tcpdump/print-lldp.c (diff)
The file was modifiedcontrib/tcpdump/print-pflog.c (diff)
The file was addedcontrib/tcpdump/autogen.sh
The file was modifiedcontrib/tcpdump/print-tftp.c (diff)
The file was modifiedcontrib/tcpdump/nameser.h (diff)
The file was modifiedcontrib/tcpdump/print-dhcp6.c (diff)
The file was modifiedcontrib/tcpdump/missing/strlcpy.c (diff)
The file was modifiedcontrib/tcpdump/print-rtsp.c (diff)
The file was modifiedcontrib/tcpdump/print-ptp.c (diff)
The file was modifiedcontrib/tcpdump/print-forces.c (diff)
The file was modifiedcontrib/tcpdump/l2vpn.c (diff)
The file was modifiedcontrib/tcpdump/print-openflow-1.0.c (diff)
The file was modifiedcontrib/tcpdump/print-vsock.c (diff)
The file was modifiedcontrib/tcpdump/signature.c (diff)
The file was modifiedcontrib/tcpdump/print-mptcp.c (diff)
The file was modifiedcontrib/tcpdump/netdissect.h (diff)
The file was modifiedcontrib/tcpdump/print-igrp.c (diff)
The file was modifiedcontrib/tcpdump/addrtostr.c (diff)
The file was modifiedcontrib/tcpdump/VERSION (diff)
The file was modifiedcontrib/tcpdump/print-arp.c (diff)
The file was modifiedcontrib/tcpdump/print-pptp.c (diff)
The file was modifiedcontrib/tcpdump/print-bfd.c (diff)
The file was modifiedcontrib/tcpdump/print-slow.c (diff)
The file was modifiedcontrib/tcpdump/netdissect-alloc.c (diff)
The file was modifiedcontrib/tcpdump/print-pim.c (diff)
The file was modifiedcontrib/tcpdump/print-lwapp.c (diff)
The file was modifiedcontrib/tcpdump/print-tipc.c (diff)
The file was modifiedcontrib/tcpdump/print-realtek.c (diff)
The file was modifiedcontrib/tcpdump/missing/dlnames.c (diff)
The file was modifiedcontrib/tcpdump/print-dtp.c (diff)
The file was modifiedcontrib/tcpdump/print-hsrp.c (diff)
The file was modifiedcontrib/tcpdump/makemib (diff)
The file was modifiedcontrib/tcpdump/missing/getservent.c (diff)
The file was modifiedcontrib/tcpdump/print-cip.c (diff)
The file was modifiedcontrib/tcpdump/missing/strsep.c (diff)
The file was modifiedcontrib/tcpdump/print-lspping.c (diff)
The file was modifiedcontrib/tcpdump/print-openflow-1.3.c (diff)
The file was modifiedcontrib/tcpdump/print-egp.c (diff)
The file was modifiedcontrib/tcpdump/mib.h (diff)
The file was modifiedcontrib/tcpdump/print-nflog.c (diff)
The file was modifiedcontrib/tcpdump/print-timed.c (diff)
The file was modifiedcontrib/tcpdump/print-frag6.c (diff)
The file was modifiedcontrib/tcpdump/print-ppp.c (diff)
The file was modifiedcontrib/tcpdump/cmakeconfig.h.in (diff)
The file was modifiedcontrib/tcpdump/print-geneve.c (diff)
The file was modifiedcontrib/tcpdump/print-vtp.c (diff)
The file was modifiedcontrib/tcpdump/smbutil.c (diff)
The file was modifiedcontrib/tcpdump/bpf_dump.c (diff)
The file was modifiedcontrib/tcpdump/print-chdlc.c (diff)
The file was modifiedcontrib/tcpdump/interface.h (diff)
The file was modifiedcontrib/tcpdump/print-openflow.c (diff)
The file was modifiedcontrib/tcpdump/print-arcnet.c (diff)
The file was addedcontrib/tcpdump/doc/README.haiku.md
The file was modifiedcontrib/tcpdump/ipproto.c (diff)
The file was modifiedcontrib/tcpdump/oui.c (diff)
The file was modifiedcontrib/tcpdump/print-calm-fast.c (diff)
The file was modifiedcontrib/tcpdump/print-m3ua.c (diff)
The file was modifiedcontrib/tcpdump/ntp.c (diff)
The file was modifiedcontrib/tcpdump/cmake/Modules/FindCRYPTO.cmake (diff)
The file was modifiedcontrib/tcpdump/nlpid.c (diff)
The file was modifiedcontrib/tcpdump/print-sunrpc.c (diff)
The file was modifiedcontrib/tcpdump/Makefile.in (diff)
The file was modifiedcontrib/tcpdump/af.c (diff)
The file was modifiedcontrib/tcpdump/print-ip.c (diff)
The file was modifiedcontrib/tcpdump/print-rt6.c (diff)
The file was modifiedcontrib/tcpdump/print-whois.c (diff)
The file was modifiedcontrib/tcpdump/print.c (diff)
The file was modifiedcontrib/tcpdump/print-krb.c (diff)
The file was modifiedcontrib/tcpdump/print-mpcp.c (diff)
The file was modifiedcontrib/tcpdump/print-ldp.c (diff)
The file was modifiedcontrib/tcpdump/print-rx.c (diff)
The file was modifiedcontrib/tcpdump/print-ether.c (diff)
The file was modifiedcontrib/tcpdump/cpack.c (diff)
The file was modifiedcontrib/tcpdump/print-http.c (diff)
The file was modifiedcontrib/tcpdump/install-sh (diff)
The file was modifiedcontrib/tcpdump/print-null.c (diff)
The file was modifiedcontrib/tcpdump/print-lwres.c (diff)
The file was modifiedcontrib/tcpdump/print-symantec.c (diff)
The file was modifiedcontrib/tcpdump/print-babel.c (diff)
The file was modifiedcontrib/tcpdump/print-ripng.c (diff)
The file was modifiedcontrib/tcpdump/print-sctp.c (diff)
The file was modifiedcontrib/tcpdump/print-zephyr.c (diff)
The file was modifiedcontrib/tcpdump/print-bgp.c (diff)
The file was modifiedcontrib/tcpdump/print-otv.c (diff)
The file was modifiedcontrib/tcpdump/print-loopback.c (diff)
The file was modifiedcontrib/tcpdump/print-syslog.c (diff)
The file was modifiedcontrib/tcpdump/print-msnlb.c (diff)
The file was modifiedcontrib/tcpdump/print-msdp.c (diff)
The file was modifiedcontrib/tcpdump/CONTRIBUTING.md (diff)
The file was modifiedcontrib/tcpdump/print-lisp.c (diff)
The file was modifiedcontrib/tcpdump/print-raw.c (diff)
The file was modifiedusr.sbin/tcpdump/tcpdump/config.h (diff)
The file was modifiedcontrib/tcpdump/print-pppoe.c (diff)
The file was modifiedcontrib/tcpdump/print-smtp.c (diff)
The file was removedcontrib/tcpdump/doc/README.Win32.md
The file was modifiedcontrib/tcpdump/extract.h (diff)
The file was modifiedcontrib/tcpdump/print-cfm.c (diff)
The file was modifiedcontrib/tcpdump/print-cnfp.c (diff)
The file was modifiedcontrib/tcpdump/print-bootp.c (diff)
The file was modifiedcontrib/tcpdump/addrtoname.c (diff)
The file was modifiedcontrib/tcpdump/print-aoe.c (diff)
The file was modifiedcontrib/tcpdump/missing/getopt_long.c (diff)
The file was modifiedcontrib/tcpdump/print-sflow.c (diff)
The file was modifiedcontrib/tcpdump/print-juniper.c (diff)
The file was modifiedcontrib/tcpdump/print-cdp.c (diff)
The file was modifiedcontrib/tcpdump/print-rpki-rtr.c (diff)
The file was modifiedcontrib/tcpdump/print-bcm-li.c (diff)
The file was modifiedcontrib/tcpdump/print-nfs.c (diff)
The file was modifiedcontrib/tcpdump/INSTALL.md (diff)
The file was modifiedcontrib/tcpdump/print-icmp.c (diff)
The file was modifiedcontrib/tcpdump/print-ppi.c (diff)
The file was modifiedcontrib/tcpdump/print-isakmp.c (diff)
The file was modifiedcontrib/tcpdump/print-aodv.c (diff)
The file was modifiedcontrib/tcpdump/print-mobility.c (diff)
The file was modifiedcontrib/tcpdump/in_cksum.c (diff)
The file was modifiedcontrib/tcpdump/print-fddi.c (diff)
The file was modifiedcontrib/tcpdump/print-ipoib.c (diff)
The file was modifiedcontrib/tcpdump/print-udld.c (diff)
The file was modifiedcontrib/tcpdump/print-eigrp.c (diff)
The file was modifiedcontrib/tcpdump/print-802_11.c (diff)
The file was modifiedcontrib/tcpdump/print-brcmtag.c (diff)
The file was modifiedcontrib/tcpdump/print-domain.c (diff)
The file was modifiedcontrib/tcpdump/config.sub (diff)
The file was modifiedcontrib/tcpdump/print-vrrp.c (diff)
The file was modifiedcontrib/tcpdump/print-wb.c (diff)
The file was modifiedcontrib/tcpdump/print-unsupported.c (diff)
The file was modifiedcontrib/tcpdump/print-rsvp.c (diff)
The file was modifiedcontrib/tcpdump/tcp.h (diff)
The file was modifiedcontrib/tcpdump/print-ipx.c (diff)
The file was modifiedcontrib/tcpdump/configure (diff)
The file was modifiedcontrib/tcpdump/print-ahcp.c (diff)
The file was modifiedcontrib/tcpdump/print-pgm.c (diff)
The file was modifiedcontrib/tcpdump/print-zep.c (diff)
The file was modifiedcontrib/tcpdump/doc/README.solaris.md (diff)
The file was modifiedcontrib/tcpdump/print-sunatm.c (diff)
The file was modifiedcontrib/tcpdump/print-ip6.c (diff)
The file was modifiedcontrib/tcpdump/print-lane.c (diff)
The file was modifiedcontrib/tcpdump/print-isoclns.c (diff)
The file was modifiedcontrib/tcpdump/print-sll.c (diff)
The file was modifiedcontrib/tcpdump/print-ipcomp.c (diff)
The file was modifiedcontrib/tcpdump/print-ipfc.c (diff)
The file was modifiedcontrib/tcpdump/print-carp.c (diff)
The file was modifiedcontrib/tcpdump/print-fr.c (diff)
The file was modifiedcontrib/tcpdump/print-mpls.c (diff)
The file was modifiedcontrib/tcpdump/print-atalk.c (diff)
The file was modifiedcontrib/tcpdump/print-zeromq.c (diff)
The file was modifiedcontrib/tcpdump/ftmacros.h (diff)
The file was modifiedcontrib/tcpdump/print-ap1394.c (diff)
The file was modifiedcontrib/tcpdump/print-telnet.c (diff)
The file was modifiedcontrib/tcpdump/print-stp.c (diff)
The file was modifiedcontrib/tcpdump/missing/datalinks.c (diff)
The file was modifiedcontrib/tcpdump/config.guess (diff)
The file was modifiedcontrib/tcpdump/missing/strlcat.c (diff)
The file was modifiedcontrib/tcpdump/netdissect.c (diff)
The file was modifiedcontrib/tcpdump/print-802_15_4.c (diff)
The file was modifiedcontrib/tcpdump/udp.h (diff)
The file was modifiedcontrib/tcpdump/strtoaddr.c (diff)
The file was modifiedcontrib/tcpdump/print-dvmrp.c (diff)
The file was modifiedcontrib/tcpdump/print-gre.c (diff)
The file was modifiedcontrib/tcpdump/print-beep.c (diff)
The file was modifiedcontrib/tcpdump/print-vjc.c (diff)
The file was modifiedcontrib/tcpdump/print-enc.c (diff)
The file was modifiedcontrib/tcpdump/print-ssh.c (diff)
The file was modifiedcontrib/tcpdump/print-resp.c (diff)
The file was modifiedcontrib/tcpdump/print-sl.c (diff)
The file was modifiedcontrib/tcpdump/print-sip.c (diff)
The file was modifiedcontrib/tcpdump/print-ip6opts.c (diff)
The file was modifiedcontrib/tcpdump/print-vxlan-gpe.c (diff)
The file was modifiedcontrib/tcpdump/parsenfsfh.c (diff)
The file was modifiedcontrib/tcpdump/print-lmp.c (diff)
The file was modifiedcontrib/tcpdump/print-arista.c (diff)
The file was modifiedcontrib/tcpdump/CHANGES (diff)
The file was modifiedcontrib/tcpdump/tcpdump.1.in (diff)
The file was modifiedcontrib/tcpdump/funcattrs.h (diff)
The file was modifiedcontrib/tcpdump/print-radius.c (diff)
The file was modifiedcontrib/tcpdump/print-tcp.c (diff)
The file was modifiedcontrib/tcpdump/print-someip.c (diff)
The file was modifiedcontrib/tcpdump/ip.h (diff)
The file was modifiedcontrib/tcpdump/print-ascii.c (diff)
The file was modifiedcontrib/tcpdump/print-decnet.c (diff)
The file was modifiedcontrib/tcpdump/print-snmp.c (diff)
The file was modifiedcontrib/tcpdump/print-udp.c (diff)
The file was modifiedcontrib/tcpdump/print-llc.c (diff)
The file was modifiedcontrib/tcpdump/print-usb.c (diff)
The file was modifiedcontrib/tcpdump/print-nsh.c (diff)
The file was modifiedcontrib/tcpdump/print-ah.c (diff)
The file was modifiedcontrib/tcpdump/print-icmp6.c (diff)
The file was modifiedcontrib/tcpdump/print-rip.c (diff)
The file was modifiedcontrib/tcpdump/missing/snprintf.c (diff)
The file was modifiedcontrib/tcpdump/print-igmp.c (diff)
The file was modifiedcontrib/tcpdump/print-mobile.c (diff)
The file was modifiedcontrib/tcpdump/gmpls.c (diff)
The file was modifiedcontrib/tcpdump/config.h.in (diff)
The file was modifiedcontrib/tcpdump/checksum.c (diff)
The file was modifiedcontrib/tcpdump/util-print.c (diff)
The file was modifiedcontrib/tcpdump/pflog.h (diff)
The file was modifiedcontrib/tcpdump/print-vqp.c (diff)
The file was modifiedcontrib/tcpdump/configure.ac (diff)
The file was modifiedcontrib/tcpdump/print-dccp.c (diff)
The file was modifiedcontrib/tcpdump/diag-control.h (diff)
The file was modifiedcontrib/tcpdump/print-ip-demux.c (diff)
The file was modifiedcontrib/tcpdump/print-esp.c (diff)
The file was modifiedcontrib/tcpdump/print-ntp.c (diff)
The file was modifiedcontrib/tcpdump/print-ospf6.c (diff)
The file was modifiedcontrib/tcpdump/print-bt.c (diff)
The file was modifiedcontrib/tcpdump/print-macsec.c (diff)
The file was modifiedcontrib/tcpdump/print-geonet.c (diff)
The file was modifiedcontrib/tcpdump/print-dsa.c (diff)
The file was addedcontrib/tcpdump/instrument-functions.c
The file was modifiedcontrib/tcpdump/print-ospf.c (diff)
The file was modifiedcontrib/tcpdump/print-ipnet.c (diff)
Commit 80b19c31500493dc440833761850fea49fbf7f30 by jrm
ObsoleteFiles.inc: Update after libpcap upgrade from 1.10.4 to 1.10.5

Sponsored by: The FreeBSD Foundation

(cherry picked from commit 407a9cced68440ce86f1c5d86c57e6b4ec3e4618)
The file was modifiedObsoleteFiles.inc (diff)
Commit 6b86b8f0f6b6bfd5d93e45c7f584ec5bffac2a62 by zlei
netstat: increase width of Netif column

The previous width of Netif (10 or 8) was too short for modern interface
names; make it 12, which is long enough to display "epair0a.1000".

This came up in practice with genet(4) interfaces, since the base
interface name is long enough that with the previous limit, VLAN
identifiers would be truncated at 1 character in the IPv6 output:
"genet0.100" becomes "genet0.1".

The width is now fixed, and doesn't depend on the address family,
because there's no reason that length of the interface name would vary
based on the AF.

Reviewed by: imp,zlei,Mina Galić
Pull Request: https://github.com/freebsd/freebsd-src/pull/1223

(cherry picked from commit d33b87e8cf91a6bcb5eac0ecc0371c1041c61050)

netstat: for -W, use IFNAMSIZ

If -W is specified, use IFNAMSIZ as the width of the Netif column,
instead of the default 12.

(cherry picked from commit ae9c0ba8ef2f540f9030909cf07e3c59f876fd23)
The file was modifiedusr.bin/netstat/nhops.c (diff)
The file was modifiedusr.bin/netstat/route.c (diff)
Commit 18aa2a81c4651be2c7705f26f98175efa4f7a859 by zlei
hhook: Sprinkle const qualifiers where appropriate

No functional change intended.

MFC after: 1 week

(cherry picked from commit 941f8aceac1b6c16ca4d96b52e60ab437c4f9207)
The file was modifiedsys/sys/hhook.h (diff)
The file was modifiedsys/kern/kern_hhook.c (diff)
Commit 54c79d3ae419c81a7e6bbc8c60f0959462bf0b4d by zlei
khelp: Sprinkle const qualifiers where appropriate

No functional change intended.

MFC after: 1 week

(cherry picked from commit 89937323bddd41fd8b92430c3ece48d3e32c2c23)
The file was modifiedsys/sys/khelp.h (diff)
The file was modifiedshare/man/man9/khelp.9 (diff)
The file was modifiedsys/kern/kern_khelp.c (diff)
Commit d6374ee0517f8d991eafe022e2027dd1e64a2ad1 by zlei
if_enc(4): Make enc_add_hhooks() void

As for the consumer `enc_add_hhooks()`, `hhook_add_hook()` will never
fail for the given parameters. Meanwhile, to build the module if_enc(4),
at least option INET or INET6 is required, so no need for the error
EPFNOSUPPORT.

No functional change intended.

Reviewed by: ae
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D46770

(cherry picked from commit 7643141e9314f1eac0d9ac08457410509e6829ad)
The file was modifiedsys/net/if_enc.c (diff)
Commit 68c7c28d0e65a3c59810a1b2d441c74bfaeab81a by bapt
nuageinit: Lua check and lint files

Mostly white space, style, and luacheck compliance.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit 504981357aa36365784458cfe8d9e23097bfac7b)
The file was modifiedlibexec/nuageinit/tests/addgroup.lua (diff)
The file was modifiedlibexec/nuageinit/tests/err.lua (diff)
The file was modifiedlibexec/nuageinit/nuage.lua (diff)
The file was modifiedlibexec/nuageinit/tests/dirname.lua (diff)
The file was modifiedlibexec/nuageinit/tests/addsshkey.lua (diff)
The file was modifiedlibexec/nuageinit/tests/sethostname.lua (diff)
The file was modifiedlibexec/nuageinit/tests/adduser.lua (diff)
The file was modifiedlibexec/nuageinit/tests/Makefile (diff)
The file was modifiedlibexec/nuageinit/tests/utils.sh (diff)
The file was modifiedlibexec/nuageinit/nuageinit (diff)
The file was modifiedlibexec/nuageinit/tests/warn.lua (diff)
The file was modifiedlibexec/nuageinit/yaml.lua (diff)
The file was modifiedlibexec/nuageinit/tests/nuage.sh (diff)
The file was modifiedlibexec/nuageinit/tests/nuageinit.sh (diff)
Commit c96dbfbd1b5274cd0cdcdffacfe365f7be1d2d79 by bapt
nuageinit: Silence an fstyp(8) warning

Silence a warning emitted by fread(3) in fstyp(8)'s read_buf(), when
detecting the file system type of the cloud-init device:

    % fstyp /dev/iso9660/cidata
    fstyp: fread: Invalid argument
    cd9660

Also rephrase slightly a comment while here.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit d71e2c037c942dbe2a9fd2630d5cf155dd1bf7db)
The file was modifiedlibexec/rc/rc.d/nuageinit (diff)
Commit 1eaf3331eaee56f012191195dc3e688f5284f69d by bapt
nuageinit: Replace os.execute with Lua libraries

Prefer posix.sys.stat's chmod() to os.execute().  While here, change the
name of the locals to be more descriptive.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit 9b2d92addc31ba6f5696c85d184a45d43e9073dc)
The file was modifiedlibexec/nuageinit/nuage.lua (diff)
Commit 182ff41e84849f0c4fc2c07755604a26d8f8cd64 by bapt
nuageinit: Standardize warning/error messages

Standardize the utilities from nuage.lua, to return nil on failure, plus
an error message as a second result, and some value different from nil
on success.

Make warnmsg() and errmsg() append "nuageinit: " by default.  Pass an
optional second parameter as false to avoid printing this tag.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit 945632ca76117029e7bd1f46d17ccb378973daf7)
The file was modifiedlibexec/nuageinit/tests/nuageinit.sh (diff)
The file was modifiedlibexec/nuageinit/nuageinit (diff)
The file was modifiedlibexec/nuageinit/tests/nuage.sh (diff)
The file was modifiedlibexec/nuageinit/tests/utils.sh (diff)
The file was modifiedlibexec/nuageinit/nuage.lua (diff)
Commit 03abe3ac4077101f30561fe8ca0b4007012bd63b by bapt
nuageinit: Standardize user-facing error messages

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit 38bb6f79e39a14ea99f559f59129a4cadf92b569)
The file was modifiedlibexec/nuageinit/tests/nuageinit.sh (diff)
The file was modifiedlibexec/nuageinit/nuageinit (diff)
Commit 9881d68b1ea763efd6db7c7aecbe47176851582b by bapt
nuageinit: Fix passwords

The hashed password usually contains a "$" sign, which, when used on a
shell, must be escaped.  Also, the plain text password may contain
special characters that require escaping.

Add a quick fix by enclosing it in single quotes.  Note that if the
plain text password contains a "'", it will still fail.  This will be
properly fixed in later commits.

Some here documents require the document to be a string literal,
especially when passing invalid characters.  Enclose it in single
quotes.

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit b9ce743c5447e90c2c97f4d49e048c301f708527)
The file was modifiedlibexec/nuageinit/nuage.lua (diff)
The file was modifiedlibexec/nuageinit/tests/nuageinit.sh (diff)
Commit e573007af24ac41dbd3f8f959949f30b6047587e by bapt
nuageinit: tests: Cleanup

- Export NUAGE_FAKE_ROOTDIR only once
- Use the header section of the test to require the root user
- Use the PWD environment variable
- Set the root/sys shell as /bin/sh
- Use RFC 5737 reserved IP addresses

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit e72457c4f5166eef2a27249e02f3c1e9a1cf852d)
The file was modifiedlibexec/nuageinit/tests/nuageinit.sh (diff)
The file was modifiedlibexec/nuageinit/tests/nuage.sh (diff)
Commit 62cd7d538d863aefbf0cbe57eca5cc8e86a855c5 by bapt
release: basic-cloudinit improve default image

- Add the firstboot-freebsd-update package, as long as we do not have
  pkgbase, this is needed
- Support SLAAC by default to complement DHCPv4 (use SYNCDHP instead)

Signed-off-by: Jose Luis Duran <jlduran@gmail.com>
(cherry picked from commit 120740221fd4a4577e63e6c279f9873cabe449d0)
The file was modifiedrelease/tools/basic-cloudinit.conf (diff)
Commit 789f0f34e4caa813168bfceeb6cdc5f147953be2 by dim
Merge commit b84d773fd004 from llvm git (by Fangrui Song):

  [Parallel] Revert sequential task changes

  https://reviews.llvm.org/D148728 introduced `bool Sequential` to unify
  `execute` and the old `spawn` without argument. However, sequential
  tasks might be executed by any worker thread (non-deterministic),
  leading to non-determinism output for ld.lld -z nocombreloc (see
  https://reviews.llvm.org/D133003).

  In addition, the extra member variables have overhead.
  This sequential task has only been used for lld parallel relocation
  scanning.

  This patch restores the behavior before https://reviews.llvm.org/D148728 .

  Fix #105958

  Pull Request: https://github.com/llvm/llvm-project/pull/109084

This fixes the non-reproducibility we had noticed when linking our EFI
loaders, and for which we committed a workaround in f5ce3f4ef562.

MFC after: 3 days

(cherry picked from commit 54521a2ff93ae06c95c31f79f89dc23c9b51c20b)
The file was modifiedcontrib/llvm-project/lld/ELF/Relocations.cpp (diff)
The file was modifiedcontrib/llvm-project/llvm/include/llvm/Support/Parallel.h (diff)
The file was modifiedcontrib/llvm-project/llvm/lib/Support/Parallel.cpp (diff)
Commit 342240c6e0257e798efc12c7e6aa9cdc6b22c9e1 by dim
Bump lld LINKER_FREEBSD_VERSION for reproducibility fix

The upstream fix to make lld output for our EFI loaders reproducible
again was committed in 54521a2ff93a. Bump lld's LINKER_FREEBSD_VERSION
to be able to check this in the EFI loader Makefile.

MFC after: 3 days

(cherry picked from commit f97c7fdc59d252cc8611968ffac541d4b8342b8b)
The file was modifiedstand/efi/loader/Makefile (diff)
The file was modifiedlib/clang/include/lld/Common/Version.inc (diff)
Commit 0d4081ed69147a2591dfc8b89cba42dc6a2ce757 by kp
sys: add conf/std.debug, generic debugging options

The new sys/conf/std.debug contains the list of debugging options
enabled by default in -CURRENT, so they don't need to be listed
individually in every kernel config.

Introduce *-DEBUG variants of the major kernel configs.

(cherry picked and modified from commit 4f8f9d708e6a4143f3b178bfab10d0a9b75ba2fe)

Reviewed by: markj, imp, olce (previous version)
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D46871
The file was addedsys/arm64/conf/GENERIC-DEBUG
The file was modifiedsys/amd64/conf/NOTES (diff)
The file was addedsys/arm/conf/GENERIC-DEBUG
The file was addedsys/powerpc/conf/GENERIC-DEBUG
The file was addedsys/i386/conf/GENERIC-DEBUG
The file was addedsys/riscv/conf/GENERIC-DEBUG
The file was addedsys/amd64/conf/GENERIC-DEBUG
The file was addedsys/conf/std.debug
The file was addedsys/powerpc/conf/GENERIC64LE-DEBUG
The file was addedsys/powerpc/conf/GENERIC64-DEBUG
The file was addedsys/amd64/conf/MINIMAL-DEBUG
Commit 0fd42e1ecd6cc0ca0f6b5a633a77312219237953 by noreply
Update package-version
The file was modifiedsys/conf/package-version (diff)