| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| | |
(cherry picked from commit 97a7606d897edfa3089cb04eea70096a1f9cf734)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| | |
Fixes: c6767dc1f236 ("zfs: merge openzfs/zfs@34205715e")
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Notable upstream pull request merges:
#16942 fae4c664a FreeBSD: Use ashift in vdev_check_boot_reserve()
Obtained from: OpenZFS
OpenZFS commit: fae4c664a4a67f51d13520ab432d96315d880af8
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\| |
|
| |\| |
|
| |\| |
|
| |\| |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| | |
Use a temporary variable, make the lines shorter.
Differential Revision: https://reviews.freebsd.org/D48239
Reviewed by: emaste
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| | |
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D47675
|
| | |
| |
| |
| |
| | |
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D47674
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|