aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib
Commit message (Collapse)AuthorAgeFilesLines
...
* | edk2: Merge edk2-stable202502Warner Losh2025-04-2336-8233/+8348
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge in edk2 stable202502 to pick up latest definitions. This is a subset import, as outlined in FREEBSD-update, since the full thing has only gotten larger. I also had to disable building of libefivar for i386 build. The precondition for EDK2 isn't met by our ABI there. And we can't call EFIRT there anyway. We normally don't build the EFI binaries for i386 anyway. We likely never should have built this, but disabling one library in 32-bit mode is hard. I also had to ifdef the L" and L' asserts on _STANDALONE. In the boot loader build enviornment, we met these conditions. All the other places we do not. But we also are careful to massage the code so that we do not depend on these preconditions. Sponsored by: Netflix
* | LoongArch: sys/contrib/edk2: add supportyu shan wei2025-04-223-1/+41
| | | | | | | | | | | | | | | | | | copy from upstream: https://github.com/tianocore/edk2/tree/edk2-stable202408 commit: https://github.com/tianocore/edk2/commit/cd24eb578bb77e6a55d37c2e9afef4a6814a82ac Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1624
* | iwlwifi: fix iwl_uefi_get_uats_table() if not compiled with ACPIBjoern A. Zeeb2025-04-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Apply a temporary fix to FreeBSD only to allow AX101 to proceed further. While this fix results in a debug error message if firmware debugging is on we currently take this for the version we have. A proper fix will eventually show up in future versions of iwlwifi. Sponsored by: The FreeBSD Foundation Reported by: bapt Tested by: bapt MFC after: 3 days
* | Import ACPICA 20250404Jung-uk Kim2025-04-11359-458/+2658
| | | | | | | | (cherry picked from commit 97a7606d897edfa3089cb04eea70096a1f9cf734)
* | iwlwififw: remove Intel iwlwifi firmware from src.gitBjoern A. Zeeb2025-04-1028-522/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following the example of rtw88 and rtw89 only ship iwlwifi firmware from ports/packages. Users are asked to run fwget(8) to install the firmware needed for their system or build it from ports (see also UPDATING). This is the end of a long story adding wireless support to fwget(8), migrating the firmware for multiple branches into ports, splitting them up into flavors, and updating some install media and the installer to provide firmware. The overall amount for new firmware amongst all drivers would have added more than 100M of binary blobs to src.git for the first import, ignoring future updates which (along with some duplication between multiple drivers) was considered too much. While maintenance within the src tree certainly would have been easier in the longer term this seems to be the better solution and I would like to thank everyone who helped along the path to get there. The iwlwififw.4 man page is to stay (for now) and will likely point at the appropriate firmware package flavor in the future as well so people may find it easier to transition. In the long term this information is likely not needed anymore. Sponsored by: The FreeBSD Foundation Requested by: core (Oct 2022) Reviewed by: thj, jrm (earlier) MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D49713
* | zfs: remove inclusion of machine/pcpu.hPiotr Kubaj2025-03-281-2/+0
| | | | | | | | | | | | | | | | It was necessary in the beginning for a definition of curthread, but in the later versions of the patch turned out to be not needed. Fixes: 5b02365ac656e1cccf293ec1c57a8eb6c5cd51e2 Reported by: mav
* | zfs: enable FPU on powerpc*Piotr Kubaj2025-03-281-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: MFC after: 1 week Test Plan: make kernel and boot with ZFS on / Reviewers: #powerpc Subscribers: imp, delphij Differential Revision: https://reviews.freebsd.org/D49538
* | zfs: merge openzfs/zfs@4abc21b28Martin Matuska2025-03-273270-1425/+6097
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17015 201d26294 Add receive:append permission for limited receive #17020 94a3fabcb Unified allocation throttling #17038 1b495eeab FDT dedup log sync -- remove incremental #17073 9250403ba Make ganging redundancy respect redundant_metadata property #17077 0433523ca Verify every block pointer is either embedded, hole, or has a valid DVA #17101 83fa051ce spl_vfs: fix vrele task runner signature mismatch #17113 09f4dd06c Prefer embedded blocks to dedup #17120 0ea44e576 Fix deduplication of overridden blocks #17124 62a9d372f zed: Print return code on failed zpool_prepare_disk #17126 3cd9934a4 Some arc_release() cleanup #17136 d033f2676 Always perform bounds-checking in metaslab_free_concrete #17142 45e9b54e9 kstat: allow multi-level module names #17145 676b7ef10 Fix deadlock on I/O errors during device removal #17180 4abc21b28 Block remap for cloned blocks on device removal Obtained from: OpenZFS OpenZFS commit: 4abc21b28c22d93c06e1e51c1f9019b4fa4e0d51
* | rtw89: make wow.c compileBjoern A. Zeeb2025-03-181-0/+35
| | | | | | | | | | | | | | | | | | | | So far we have not compiled wow.c given we do not enable CONFIG_PM yet. Make the necessary file local adjustments to make the file compile once further changes in LinuxKPI 802.11 code are comitted. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | iwlwifi: make mvm/d3.c compile againBjoern A. Zeeb2025-03-181-0/+9
| | | | | | | | | | | | | | | | Given we currently do not ompile the file by default make it compile again after the last vendor import. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | iwlwifi: adjust a debug comment referring to a PRBjoern A. Zeeb2025-03-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | A FreeBSD specific comment asked people to report to a PR if they see this. By now we got enough feedback and also left this in a release. Simply point to the PR so people can check the status but not longer ask to submit a report to the PR. Sponsored by: The FreeBSD Foundation PR: 274382 MFC after: 3 days
* | zfs: merge openzfs/zfs@fe674998bMartin Matuska2025-03-0997-1023/+25997
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17042 ece35e0e6 zpool: allow relative vdev paths #17046 c43df8bbb vdev_file: unify FreeBSD and Linux implementations #17064 ee8803adc vdev_file: make FLUSH and TRIM asynchronous #17066 ecc44c45c include: move zio_priority_t into zfs.h #17071 ab3db6d15 arc: avoid possible deadlock in arc_read #17079 682c5f6a0 Fix wrong free function in arc_hdr_decrypt #17080 701093c44 Don't try to get mg of hole vdev in removal #17081 d7d274471 Better fill empty metaslabs #17088 a5fb5c55b spa: fix signature mismatch for spa_boot_init as eventhandler required #17089 7f05fface gcm_avx_init: zero the ghash state after hashing the IV #17122 fe674998b Check portable objset MAC even if local is zeroed Obtained from: OpenZFS OpenZFS commit: fe674998bb2d0912660d8aa3f2904b70f57497b0
* | iwlwifi: bring in some of the rs codeBjoern A. Zeeb2025-02-262-13/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring in code to call into rs-fw.c functionality for firmware supported rate select. Anything before AX200 (firmware matching iwlwiif-[0-9]*.ucode) will still need further implementation, and so does iwl_mvm_rs_tx_status(). These bits marked with compat.linuxkpi.80211.debug TODO()s for now. Implement some lindebugfs bits to gather more statistical information. Sponsored by: The FreeBSD Foundation Obtained from: bz_wifi_11n branch (partially) MFC after: 3 days
* | zfs: merge openzfs/zfs@6a2f7b384Martin Matuska2025-02-2061-1287/+1988
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16857 387ed5ca4 Add recursive dataset mounting and unmounting support to pam_zfs_key #16929 c2458ba92 optimize recv_fix_encryption_hierarchy() #16980 12f0baf34 Make the vfs.zfs.vdev.raidz_impl sysctl cross-platform #16986 40496514b Expand fragmentation table to reflect larger possibile allocation sizes #17003 88020b993 Add kstats tracking gang allocations #17013 21205f648 Avoid ARC buffer transfrom operations in prefetch #17016 390f6c119 zio: lock parent zios when updating wait counts on reexecute #17029 b8c73ab78 zio: do no-op injections just before handing off to vdevs #17037 6a2f7b384 Fix metaslab group fragmentation math #17040 b901d4a0b Update the dataset name in handle after zfs_rename Obtained from: OpenZFS OpenZFS commit: 6a2f7b38442b42f4bc9a848f8de10fc792ce8d76
* | rtw88/rtw89: add module_param to enable/disable HT/VHT and EHTBjoern A. Zeeb2025-01-312-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | In order to better test HT and VHT support with LinuxKPI add (tunable) options disabled by default to on-demand enable HT/VHT and for rtw89 also EHT. It is expected that we will remove this FreeBSD-specific code again in the future. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | rtw88/rtw89: avoid duplicate top-level directory with debugfsBjoern A. Zeeb2025-01-312-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If people like me having multiple cards in the same system creating the debugfs dirctory leads to a panic upon attaching the 2nd card due to the duplicate name. Rather than using the hard coded driver name, use the device name (e.g., rtw880, rtw881, rtw882). This solves two issues: it avoids the duplicate name and we get individual debugging/statistic information for each card. Sponsored by: The FreeBSD Foundation MFC after: 3 days X-Note: ath1[01]k and mt76 likely will need a similar change
* | zinject: Fix format string errors on 32-bit platformsMark Johnston2025-01-281-7/+10
| | | | | | | | Fixes: c6767dc1f236 ("zfs: merge openzfs/zfs@34205715e")
* | zfs: merge openzfs/zfs@34205715eMartin Matuska2025-01-2751-299/+1058
| | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16938 2aa3fbe76 zinject: count matches and injections for each handler #16947 -multiple zinject: add "probe" device injection type #16976 34205715e FreeBSD: Add setting of the VFCF_FILEREV flag Obtained from: OpenZFS OpenZFS commit: 34205715e1544d343f9a64149b17c371282306ae
* | zfs: merge openzfs/zfs@fae4c664aMartin Matuska2025-01-111-1/+1
| | | | | | | | | | | | | | | | Notable upstream pull request merges: #16942 fae4c664a FreeBSD: Use ashift in vdev_check_boot_reserve() Obtained from: OpenZFS OpenZFS commit: fae4c664a4a67f51d13520ab432d96315d880af8
* | zfs: merge openzfs/zfs@b8e09c700Martin Matuska2025-01-1166-500/+920
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16851 19a04e5ad BRT: Check bv_mos_entries in brt_entry_lookup() #16854 6c9b4f18d Fix DR_OVERRIDDEN use-after-free race in dbuf_sync_leaf #16855 fbea92432 flush: don't report flush error when disabling flush support #16862 ecc0970e3 backtrace: fix off-by-one on string output #16864 939e0237c Too many vdev probe errors should suspend pool #16868 ff6266ee9 Fix use-afer-free regression in RAIDZ expansion #16871 acda137d8 simd_stat: fix undefined CONFIG_KERNEL_MODE_NEON error on armel #16877 219a89cbb Skip iterating over snapshots for share properties #16881 ab7cbbe78 zprop: fix value help for ZPOOL_PROP_CAPACITY #16883 f00a57a78 zfs_main: fix alignment on props usage output #16887 -multiple userprops: make clearing pool & vdev userprops work the same #16888 c37a2ddaa microzap: set hard upper limit of 1M #16890 1acd24696 Fix readonly check for vdev user properties #16901 9dd5fe109 zvol: implement platform-independent part of block cloning #16909 54126fdb5 set zfs_arc_shrinker_limit to 0 by default #16912 25238baad Add missing zfs_exit() when snapdir is disabled #16918 478b09577 zfs_vnops_os.c: fallocate is valid but not supported on FreeBSD #16921 c02e1cf05 vdev_open: clear async remove flag after reopen #16923 dc0324bfa fix: make zfs_strerror really thread-safe and portable Obtained from: OpenZFS OpenZFS commit: b8e09c7007a0733a497aebe734cb8ed23a0415ae
* | zstd: Add a stub <assert.h> for the kernelMinsoo Choo2025-01-091-0/+2
| | | | | | | | | | | | | | | | | | The stub header includes <sys/kassert.h>. zstd's xx_hash.h #includes <assert.h> for the definition of static_assert() when building with C11 or newer. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D43239
* | LinuxKPI: 802.11: turn on debugfs for iwlwifi and rtw88Bjoern A. Zeeb2025-01-071-0/+2
| | | | | | | | | | | | | | | | | | Make iwlwifi compile with debugfs after the last updates and turn it on for both iwlwifi and rtw88 in order to be able to get at least some useful information on driver/firwmare state. Sponsored by: The FreeBSD Foundation MFC after: 10 days
* | acpica: Import ACPICA 20241212Jung-uk Kim2025-01-039-44/+65
|\|
* | acpica: Merge ACPICA 20240927Jung-uk Kim2025-01-033-2/+15
|\|
* | acpica: Import ACPICA 20240827Jung-uk Kim2025-01-0355-256/+1548
|\|
* | acpica: Import ACPICA 20240321Jung-uk Kim2025-01-03358-2049/+1152
|\|
* | Import device-tree files from Linux 6.12Emmanuel Vadot2025-01-021144-8883/+61539
| |
* | Import device-tree files from Linux 6.11Emmanuel Vadot2025-01-021408-12107/+84857
| |
* | Import device-tree files from Linux 6.10Emmanuel Vadot2025-01-021094-7254/+44309
| |
* | Import device-tree files from Linux 6.9Emmanuel Vadot2025-01-021227-9531/+55921
| |
* | ath_hal_ar9300: implement the TX/RX chainmask override for AR9300 HALAdrian Chadd2024-12-312-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements the missing capability set handlers for setting the transmit and receive chainmasks. I did this for the AR5416 and later chips years ago, but not for these. This is especially useful when you're only hooking up one or two antennas on a 3 antenna device - or you just want to test it like that. It also requires updating the number of supported transmit/receive streams, so also add them here. Locally Tested: * AR9300, STA mode, 1, 2 and 3 stream TX/RX configuration Differential Revision: https://reviews.freebsd.org/D48240
* | ath_hal_ar9300: quick refactor of tx/rx chain handlingAdrian Chadd2024-12-311-4/+3
| | | | | | | | | | | | | | Use a temporary variable, make the lines shorter. Differential Revision: https://reviews.freebsd.org/D48239 Reviewed by: emaste
* | iwlwifi: add missing blank, unwrap lineBjoern A. Zeeb2024-12-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original commit was missing a space between two words due to uncareful string line wrapping; let the string run beyond the 80 char limit in order to also make it grep-able [1]. Reported by: jrtc27, Chris Torek (chris.torek gmail.com) Suggested by: emaste, imp [1] Sponsored by: The FreeBSD Foundation Fixes: 87e140a5c6f89 avoid (hard) hang on loading module MFC after: 3 days X-MFC with: 87e140a5c6f89eea7ea6320d1ae34566492abfc0 Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D48155
* | iwm: Stop shipping firmware as kernel moduleEmmanuel Vadot2024-12-1624-528209/+0
| | | | | | | | | | | | | | | | | | Since we can load raw firmware start shipping them as is. This also remove the uuencode format that don't add any value and garbage collect old firmwares version. For pkgbase users they are now in the FreeBSD-firmware-iwm package. Sponsored by: Beckhoff Automation GmbH & Co. KG
* | iwlwifi: avoid (hard) hang on loading moduleBjoern A. Zeeb2024-12-091-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For certain users or chipsets (reports were for CNVi devices but we are not sure if this is limited or specific to them) loading if_iwlwifi hangs. The reason for this is that a SYSINIT (module_load_order()) has not yet run in this case and the Linux driver tries to load the chipsets-specific module. On FreeBSD all supported sub-modules are part of if_iwlwifi so we do not have to load them separately but calling into kern_kldload via LinuxKPI request_module while loading the module gives us a hard hang. iwlwifi calls request_module_nowait() so we can simply skip over this and continue and the SYSINIT will do the job later if no other dependencies fail. Sponsored by: The FreeBSD Foundation MFC after: 3 days PR: 282789 Tested by: Ruslan Makhmatkhanov, Pete Wright Differential Revision: https://reviews.freebsd.org/D47994
* | zfs: merge openzfs/zfs@e0039c705Martin Matuska2024-12-0793-486/+1049
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16215 44446dccd During pool export flush the ARC asynchronously #16301 4b4e346b9 Add ability to scrub from last scrubbed txg #16755 0ffa6f346 zdb: show dedup table and log attributes #16801 1cd2419ec Fix race in libzfs_run_process_impl #16814 a01504b35 Improve speculative prefetcher for block cloning #16819 a44eaf169 Optimize RAIDZ expansion #16825 e8b333e4d Fix false assertion in dmu_tx_dirty_buf() on cloning #16829 6e3c109bc Fix regression in dmu_buf_will_fill() #16832 2507db612 zdb_il: use flex array member to access ZIL records #16834 0e020bf3e FreeBSD: Remove an incorrect assertion in zfs_getpages() #16836 c33a55b0c Allow dsl_deadlist_open() return errors Obtained from: OpenZFS OpenZFS commit: e0039c70573e455f4745a83b7d5a6a5f6f2e58a8
* | Replace calls to bus_generic_attach with bus_attach_childrenJohn Baldwin2024-12-061-1/+1
| | | | | | | | | | Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47675
* | Replace calls to bus_generic_probe with bus_identify_childrenJohn Baldwin2024-12-061-1/+1
| | | | | | | | | | Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47674
* | zfs: merge openzfs/zfs@d0a91b9f8Martin Matuska2024-11-2435-902/+951
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16643 -multiple Change rangelock handling in FreeBSD's zfs_getpages() #16697 46c4f2ce0 dsl_dataset: put IO-inducing frees on the pool deadlist #16740 -multiple BRT: Rework structures and locks to be per-vdev #16743 a60ed3822 L2ARC: Move different stats updates earlier #16758 8dc452d90 Fix some nits in zfs_getpages() #16759 534688948 Remove hash_elements_max accounting from DBUF and ARC #16766 9a81484e3 ZAP: Reduce leaf array and free chunks fragmentation #16773 457f8b76e BRT: More optimizations after per-vdev splitting #16782 0ca82c568 L2ARC: Stop rebuild before setting spa_final_txg #16785 d76d79fd2 zio: Avoid sleeping in the I/O path #16791 ae1d11882 BRT: Clear bv_entcount_dirty on destroy #16796 b3b0ce64d FreeBSD: Lock vnode in zfs_ioctl() #16797 d0a91b9f8 FreeBSD: Reduce copy_file_range() source lock to shared Obtained from: OpenZFS OpenZFS commit: d0a91b9f88a47316158508bf304a61baa8c99c10
* | zfs: merge openzfs/zfs@1c9a4c8cbMartin Matuska2024-11-1351-1409/+842
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16244 acb6e71ed Added output to `zpool online` and `offline` #16684 94a03dd1e Pack dmu_buf_impl_t by 16 bytes #16690 6187b1943 On the first vdev open ignore impossible ashift hints #16692 673efbbf5 zdb: add extra -T flag to show histograms of BRT refcounts #16693 2bf152021 Fix gcc uninitialized warning in FreeBSD zio_crypt.c #16694 b16e09619 Reduce dirty records memory usage #16701 5945676bc ZFS send should use spill block prefetched from send_reader_thread #16734 1c9a4c8cb Fix user properties output for zpool list Obtained from: OpenZFS OpenZFS commit: 1c9a4c8cb44d5f865c29e3df3f019872329554b3
* | iwlwifi: script to extract firmware detailsBjoern A. Zeeb2024-11-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | When having to find a firmware image with a lower version number we must only break the inner but not also the outer loop so we keep looking at any possibly remaining firmware details. While here also try to find a version from max..1 and not from 1..max. Sponsored by: The FreeBSD Foundation MFC after: 3 days
* | ice_ddp: Update to 1.3.41.0Eric Joyner2024-10-282-207/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | Primarily adds support for E830 devices, unlocking all of their functionality. As well, update the README and remove the non-FreeBSD sections from it. Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 2 days Sponsored by: Intel Corporation
* | Fix gcc unused value warnings in FreeBSD zfs_prop.cDimitry Andric2024-10-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With gcc we are seeing the following -Werror warnings: /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd.h:53:33: error: statement with no effect [-Werror=unused-value] 53 | #define simd_stat_init() 0 | ^ /workspace/src/sys/contrib/openzfs/module/zcommon/zfs_prop.c:1092:9: note: in expansion of macro 'simd_stat_init' 1092 | simd_stat_init(); | ^~~~~~~~~~~~~~ /workspace/src/sys/contrib/openzfs/module/zcommon/zfs_prop.c: In function 'zcommon_fini': /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/simd.h:54:33: error: statement with no effect [-Werror=unused-value] 54 | #define simd_stat_fini() 0 | ^ /workspace/src/sys/contrib/openzfs/module/zcommon/zfs_prop.c:1100:9: note: in expansion of macro 'simd_stat_fini' 1100 | simd_stat_fini(); | ^~~~~~~~~~~~~~ Both `simd_stat_init()` and `simd_stat_fini()` are defined in the FreeBSD specific version of `simd.h`: #define simd_stat_init() 0 #define simd_stat_fini() 0 These should both be defined as `do {} while (0)` instead, similar to other macros in this file. Reviewed by: mav, tsoome (upstream) Obtained from: https://github.com/openzfs/zfs/pull/16693 MFC after: 3 days Differential Revision: <https://reviews.freebsd.org/D47297>
* | rtw89: update Realtek's rtw89 driver.Bjoern A. Zeeb2024-10-2875-8106/+45002
| | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Realtek 8922AE PCI wireless network (Wi-Fi 7) adapter. This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 98f7e32f20d28ec452afb208f9cffc08448a2652 ( tag: v6.11 ). Sponsored by: The FreeBSD Foundation MFC after: 14 days
* | rtw88: update Realtek's rtw88 driver.Bjoern A. Zeeb2024-10-2839-2089/+6276
| | | | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 98f7e32f20d28ec452afb208f9cffc08448a2652 ( tag: v6.11 ). Sponsored by: The FreeBSD Foundation MFC after: 14 days
* | iwlwifi: update Intel's iwlwifi/mvm driver.Bjoern A. Zeeb2024-10-28123-8977/+14551
| | | | | | | | | | | | | | | | | | This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 98f7e32f20d28ec452afb208f9cffc08448a2652 ( tag: v6.11 ). Sponsored by: The FreeBSD Foundation MFC after: 14 days
* | Fix gcc uninitialized warning in FreeBSD zio_crypt.cDimitry Andric2024-10-251-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With gcc we are seeing the following -Werror warning: In file included from /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/sunddi.h:28, from /workspace/src/sys/contrib/openzfs/include/sys/zfs_context.h:69: In function 'zfs_uio_init', inlined from 'zio_do_crypt_data' at /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1690:2: /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/uio.h:102:45: error: 'puio_s.uio_offset' is used uninitialized [-Werror=uninitialized] 102 | zfs_uio_soffset(uio) = uio_s->uio_offset; | ~~~~~^~~~~~~~~~~~ /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c: In function 'zio_do_crypt_data': /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1683:20: note: 'puio_s' declared here 1683 | struct uio puio_s, cuio_s; | ^~~~~~ In function 'zfs_uio_init', inlined from 'zio_do_crypt_data' at /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1691:2: /workspace/src/sys/contrib/openzfs/include/os/freebsd/spl/sys/uio.h:102:45: error: 'cuio_s.uio_offset' is used uninitialized [-Werror=uninitialized] 102 | zfs_uio_soffset(uio) = uio_s->uio_offset; | ~~~~~^~~~~~~~~~~~ /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c: In function 'zio_do_crypt_data': /workspace/src/sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c:1683:28: note: 'cuio_s' declared here 1683 | struct uio puio_s, cuio_s; | ^~~~~~ Indeed, `zfs_uio_init()` does: static __inline void zfs_uio_init(zfs_uio_t *uio, struct uio *uio_s) { memset(uio, 0, sizeof (zfs_uio_t)); if (uio_s != NULL) { GET_UIO_STRUCT(uio) = uio_s; zfs_uio_soffset(uio) = uio_s->uio_offset; } } while the code in `zio_crypt.c` has: /* * Primary encryption / decryption entrypoint for zio data. */ int zio_do_crypt_data(boolean_t encrypt, zio_crypt_key_t *key, dmu_object_type_t ot, boolean_t byteswap, uint8_t *salt, uint8_t *iv, uint8_t *mac, uint_t datalen, uint8_t *plainbuf, uint8_t *cipherbuf, boolean_t *no_crypt) { int ret; boolean_t locked = B_FALSE; uint64_t crypt = key->zk_crypt; uint_t keydata_len = zio_crypt_table[crypt].ci_keylen; uint_t enc_len, auth_len; zfs_uio_t puio, cuio; struct uio puio_s, cuio_s; uint8_t enc_keydata[MASTER_KEY_MAX_LEN]; crypto_key_t tmp_ckey, *ckey = NULL; freebsd_crypt_session_t *tmpl = NULL; uint8_t *authbuf = NULL; zfs_uio_init(&puio, &puio_s); zfs_uio_init(&cuio, &cuio_s); memset(GET_UIO_STRUCT(&puio), 0, sizeof (struct uio)); memset(GET_UIO_STRUCT(&cuio), 0, sizeof (struct uio)); So between the declaration of `puio_s` and `cuio_s`, there is no initialization of these variables before `zfs_uio_init()` gets called. Similar to the Linux variant of zio_crypt.c, I think it would be better to memset the structs `puio_s` and `cuis_s` _before_ calling `zfs_uio_init()`. Reviewed by: tsoome MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D47281
* | zfs: merge openzfs/zfs@b2f6de7b5Martin Matuska2024-10-2072-330/+1107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16598 b4e4cbeb2 Always validate checksums for Direct I/O reads #16603 cefef28e9 vdev_id: multi-lun disks & slot num zero pad #16613 ab777f436 Return boolean_t in inline functions of lib/libspl/include/sys/uio.h #16616 efeb60b86 FreeBSD: ignore some includes when not building kernel #16617 ca0141f32 zpool/zfs: restore -V & --version options #16632 7bf525530 zpool/zfs: allow --json wherever -j is allowed #16635 7e4be9275 zdb: fix printf format in dump_zap() #16640 48dfe3974 Fallback to strerror() when strerror_l() isn't available #16650 38a04f0a7 freebsd: Use compiler.h from FreeBSD's base's linuxkpi #16664 fba6a9069 zfs_debug: Restore log size limit for userspace #16665 fba6a9069 Fix compile-time warnings caused by duplicate struct typedefs #16667 b2f6de7b5 zdb: show bp in uberblock dump Obtained from: OpenZFS OpenZFS commit: b2f6de7b58f81a4894ba26d87865a15e6115a1c2
* | LinuxKPI based WiFi drivers: scripts to extract fwget(8) and port detailsBjoern A. Zeeb2024-10-177-0/+1876
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a "zzz_fw_ports_fwget.sh" script to each LinuxKPI based wireless driver which in essential are all the same and in detail all different. The scripts have been referenced in fwget(8) sources since d33f5a0afa54b but were never committed. The scripts do the full job compared to `single-line-scripts` I tried to use before to ease maintainance life. Some use hacks like calling cpp and extracting bits from the output to piece them together over multiple files. It will be left as an exercise for the future to see if what was done (a longer while ago) for iwlwifi(4) would be a good idea for some other drivers too, to have a FreeBSD-specific sysctl to export some of the accumulated data in an easily processable way. The scripts are written in the "perl spirit" -- "to get the job done" -- and not to be nice or neat or efficient. For that we do not need them often enough or in any critical path. People are welcome to improve them if they feel like. I've used them for two version updates now and even if ports enforce some other (manual) editing to keep support for multiple branches for now they worked extremly well. For the most the scripts extract 2 parts: PCI IDs and firmware name; then they add "flavor"s to both and put the information together. That output is then separated into: - fwget(8) lines of PCI ID to port/package wifi-firmware-${name}-kmod-${flavor} mappings and - distfiles per flavor for the ports. - For iwlwififw(4) we also generate the tables for the man page (and the wiki) and hopefully the .Sh HARDWARE section for iwlwifi.4 soon too. Depending on driver various other checks are done, e.g., - does the PCI ID have one or more firmware files/flavors associated, - does the referenced firmware exist in the linux-firmware.git repo, - are there duplicates, - find the latest version of the firmware API. Sponsored by: The FreeBSD Foundation Suggested by: imp (to have automation in D44918) MFC after: 3 days
* | iwlwifi: FreeBSD specific sysctl export updateBjoern A. Zeeb2024-10-172-6/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the sysctl export (also adding a mapping function) to also print (1) for all lines the "flavor" (device_family) name and (2) also print lines where we only have the trans cfg and not iwl cfg as with the flavor we can match PCI IDs to firmware package and so we can have an increased number of matches. A side effect is that we can also have fwget(8) PCI ID matches for firmware (flavors) not yet (publicly) existing. That will allow us to add them at a later point while a previous release already supports the chipsets and knows how to get the firmware for them. Sponsored by: The FreeBSD Foundation MFC after: 3 days