[NVPTX] Select scalar_to_vector for bf16x2 (#236706)
Fixes #235368.
DAG combining can create a v2bf16 SCALAR_TO_VECTOR for byte-vector
concatenations, including copies of unaligned bfloat values through
local arrays. NVPTX treats the node as legal but lacks a selection
pattern.
Pack the bf16 value into the low half of a 32-bit register and zero the
unspecified high half, as already done for v2f16. Add regression
coverage for direct packing, unaligned loads, and the original
local-array copy.
18643 git-pbchk copyright check should skip files imported from upstream
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18642 find_elf's choice of name for a hard-linked object depends on directory order
Reviewed by: Jason King <jason.brian.king+illumos at gmail.com>
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18591 zvol DKIOCFREE ignores dfl_offset
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18635 spa_ld_get_props() uses an uninitialized autoreplace
Imported from: OpenZFS da27b8bc7f2778b28fa73547ff91bb8cc962fc0e
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: Alexander Motin <mav at FreeBSD.org>
Reviewed by: Toomas Soome <tsoome at me.com>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18632 Properly release key in spa_keystore_dsl_key_hold_dd()
Imported from: OpenZFS 48d1be254fa3ec9dd9e998921fbc6939fe1d599e
Portions contributed by: Matthew Ahrens <matt at mahrens.org>
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18610 Fix suspend Godfather I/Os io_reexecute bits
Imported from: OpenZFS a32494d22ac25c35c5d26eb0b2607ea68adb93cd
Reviewed by: George Melikov <mail at gmelikov.ru>
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18627 Print fail messages before callbacks in test suite
Imported from: OpenZFS b81a1c61ec6c70586e56d29b66b261dadf1d4fe8
Portions contributed by: Matthew Ahrens <matt at mahrens.org>
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: George Melikov <mail at gmelikov.ru>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18603 Fix a race condition in dsl_dataset_sync() when activating features
Imported from: OpenZFS 34ce4c42ffdcd8933768533343d8b29f9612fbae
Imported from: OpenZFS d816bc5ec76b050ab5319112320e1676d538161c
Portions contributed by: Matthew Ahrens <matt at mahrens.org>
Reviewed by: Matthew Ahrens <mahrens at delphix.com>
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: Ryan Moeller <ryan at iXsystems.com>
Reviewed by: Brian Atkinson <batkinson at lanl.gov>
Reviewed by: Mark Maybee <mark.maybee at delphix.com>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18584 Zero pad bytes in ZIL records
Imported from: OpenZFS 03363b2f86a97f95127085864a8323853f78f479
Imported from: OpenZFS 58714c2817891e27f08b964c7212bf331cee71ac
Imported from: OpenZFS 3a185275a0172ea8d2ed8b55c7b3524c52147395
Portions contributed by: Matthew Ahrens <matt at mahrens.org>
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: Alexander Motin <mav at FreeBSD.org>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
18581 Allow dsl_deadlist_open() return errors
Imported from: OpenZFS c33a55b0c201dce9457bc6632f68fc87a903a6af
Imported from: OpenZFS 4733b98c285cbd155dd19d9bcb48c6c9babf8334
Portions contributed by: Igor Ostapenko <igor.ostapenko at klarasystems.com>
Portions contributed by: Matthew Ahrens <matt at mahrens.org>
Reviewed by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed by: George Wilson <gwilson at zfsmail.com>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
pci: restore resizable BAR sizes in pci_cfg_restore()
After a device reset, resizable BARs return to their default sizes.
Restore them to the sizes they had prior to reset.
Reviewed by: imp, adrian
Differential Revision: https://reviews.freebsd.org/D61110
Approved by: adrian (mentor)
Signed-off-by: Nick Price <nprice at FreeBSD.org>
ppp: bound Predictor-1 decompression output
Pred1Input() decompressed CCP data into a MAX_MRU+2 mbuf with no limit
on the output, so a peer could expand a short compressed frame (up to
8:1) past the buffer and overflow adjacent heap. An input length below
4 also drove decompress() with a negative length.
Reject out-of-range input lengths and stop decompression at the
destination buffer size.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D61011
Approved by: adrian (mentor)
Signed-off-by: Nick Price <nprice at FreeBSD.org>
ppp: drop config packets whose options overrun the packet
fsm_readopt() advanced the decode cursor by the option length without
checking it against the end of the packet. A crafted LCP/CCP/IPCP
option could then make the Config-Reject/Nak echo copy past the
received packet into adjacent heap, disclosing heap bytes to the peer
before authentication.
Check the option framing once in fsm_Input() and drop the packet before
decoding per RFC1661
Reviewed by: adrian, markj
Differential Revision: https://reviews.freebsd.org/D61008
Approved by: adrian (mentor)
Signed-off-by: Nick Price <nprice at FreeBSD.org>
linux: do not truncate the listxattr() size
listxattr() sized its buffer with min(), which truncates the 64-bit
size to 32 bits, so a size of 2^32 + k allocated k bytes while the
copy-out guard used the full size. The walk then read record lengths
past the buffer and copied kernel heap out to the caller, and could
panic the kernel. Any user can reach it through a user.* attribute on
a file it owns.
Use MIN(), and fail with EIO if a record runs past the data returned.
Reviewed by: adrian, markj
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D61006
Signed-off-by: Nick Price <nprice at FreeBSD.org>