FreeBSD/src b5815eesys/fs/nfsserver nfs_nfsdserv.c

nfs_nfsdsocket.c: Allow Copy/Clone from a read-only fs

For some server file system types, such as ZFS, a Copy/Clone
operation can be done across file systems of the same file
system type.

However, without this patch, the Copy/Clone will fail with
EROFS if the input file is on a read-only mounted file system.
This happens because Copy/Clone will try to do a VOP_SETATTR()
of atime to set the atime.

This patch pretends the VOP_SETATTR() of atime worked for
read-only file systems.  It fixes a problem when copying
files from a ZFS snapshot.

PR:     294010
MFC after:      2 weeks
DeltaFile
+22-3sys/fs/nfsserver/nfs_nfsdserv.c
+22-31 files

FreeBSD/src 1c10825share/man/man4 asmc.4

asmc(4): Bump manpage date after edition

Fixes:          5d7862fb998f ("asmc(4): Add support for backlight(9) interface")
MFC after:      1 month
DeltaFile
+1-1share/man/man4/asmc.4
+1-11 files

FreeBSD/src 5d7862fshare/man/man4 asmc.4, sys/dev/asmc asmc.c asmcvar.h

asmc(4): Add support for backlight(9) interface

MFC after:      1 month
DeltaFile
+66-0sys/dev/asmc/asmc.c
+10-1share/man/man4/asmc.4
+2-1sys/modules/asmc/Makefile
+2-0sys/dev/asmc/asmcvar.h
+80-24 files

FreeBSD/src f3fc362sys/netgraph/bluetooth/drivers/ubt ng_ubt_rtl.c, usr.sbin/bluetooth/rtlbtfw rtlbtfw.conf main.c

bluetooth: remove redundant 0x0bda entries from ng_ubt_rtl, rtlbtfw

Generic Realtek vendor rules already match all 0x0bda Bluetooth devices.
Remove the redundant per-product entries from ng_ubt_rtl.c,
rtlbtfw main.c, and rtlbtfw.conf.

Reviewed by:    wulf
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D56137
DeltaFile
+0-68usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf
+6-18sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c
+6-18usr.sbin/bluetooth/rtlbtfw/main.c
+12-1043 files

FreeBSD/src 056e290sys/dev/asmc asmc.c

asmc(4): Add PnP record

To load asmc(4) automagically on boot with devd(8).

MFC after:      1 month
DeltaFile
+1-0sys/dev/asmc/asmc.c
+1-01 files

FreeBSD/src 63ecedbrelease/packages/ucl caroot.ucl

packages: Fix caroot deinstall command

The correct syntax is 'post-deinstall', not 'post-uninstall'.

MFC after:      3 days (stable/15 only)
Reviewed by:    jlduran, des
Differential Revision:  https://reviews.freebsd.org/D56109
Sponsored by:           https://www.patreon.com/bsdivy
DeltaFile
+1-1release/packages/ucl/caroot.ucl
+1-11 files

FreeBSD/src 5812415sys/dev/dpaa2 dpaa2_ni.c

dpaa2: Perform bus_dma pre-write sync before enqueue operation

Without a proper synchronization payload of the egress TCP segments
can be corrupted as tuexen@ described in
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006#c31.

This patch is indirectly related to 292006 because a properly enabled
and announced support for the TX checksum offloading hides potentially
corrupted frame payload.

NOTE: Returned back with updated placeholders.

PR:             292006
Reported by:    tuexen@
Reviewed by:    tuexen@
Tested by:      dsl@, tuexen@
Differential Revision:  https://reviews.freebsd.org/D56144
MFC after:      3 days
DeltaFile
+3-3sys/dev/dpaa2/dpaa2_ni.c
+3-31 files

FreeBSD/src c78e653sys/dev/dpaa2 dpaa2_ni.c

Revert "dpaa2: Perform bus_dma pre-write sync before enqueue operation"

This reverts commit 968164eb650fd986f293512a3faac5c1c9e4d51f.
DeltaFile
+3-3sys/dev/dpaa2/dpaa2_ni.c
+3-31 files

FreeBSD/src 968164esys/dev/dpaa2 dpaa2_ni.c

dpaa2: Perform bus_dma pre-write sync before enqueue operation

Without a proper synchronization payload of the egress TCP segments
can be corrupted as tuexen@ described in
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292006#c31.

This patch is indirectly related to 292006 because a properly enabled
and announced support for the TX checksum offloading hides potentially
corrupted frame payload.

PR:             292006
Reported by:    tuexen@
Reviewed by:    ...
Tested by:      dsl@
Differential Revision:  <https://reviews.freebsd.org/D###>
MFC after:      3 days
DeltaFile
+3-3sys/dev/dpaa2/dpaa2_ni.c
+3-31 files

FreeBSD/src 0d9676eshare/man/man5 src.conf.5, share/mk src.opts.mk

mk: Disable blacklist when disabling blocklist

WITHOUT_BLOCKLIST, when set, should enforce WITHOUT_BLACKLIST.
This fixes the build when WITHOUT_BLOCKLIST=yes is set.

Reported by:    ivy
Reviewed by:    ivy
Fixes:          7238317403b9 ("blocklist: Rename blacklist to blocklist")
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D56118
DeltaFile
+18-1share/man/man5/src.conf.5
+8-0share/mk/src.opts.mk
+26-12 files

FreeBSD/src 4f0d0edlibexec Makefile

libexec: Add pkg-serve directory

Add pkg-serve to the list of subdirectories in the Makefile.

Reviewed by:    bapt
Fixes:          b42e852e89cb ("pkg-serve(8): serve pkg repositories over TCP via inetd (8)")
Differential Revision:  https://reviews.freebsd.org/D56009
DeltaFile
+1-0libexec/Makefile
+1-01 files

FreeBSD/src d82bcf5sys/netgraph/bluetooth/drivers/ubt ng_ubt.c ng_ubt_intel.c, usr.sbin/bluetooth/iwmbtfw iwmbtfw.8 iwmbtfw.conf

bluetooth: add device IDs for Intel AX411 and BE200 adapters

Add USB product IDs for Intel AX411 (0x0035) and BE200 (0x0036)
Bluetooth adapters to ng_ubt_intel, ng_ubt, iwmbtfw, and iwmbtfw.conf.

Both chips use the same TLV-based firmware protocol as the existing
9260/9560 entries.  Newer Blazar-generation chips (BE201, BE202,
Whale Peak 2) are omitted as they require IML support not yet
implemented in iwmbtfw.

Signed-off-by: Christos Longros <chris.longros at gmail.com>

Reviewed by:    wulf
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D56122
DeltaFile
+2-5sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
+2-2usr.sbin/bluetooth/iwmbtfw/iwmbtfw.8
+2-0sys/netgraph/bluetooth/drivers/ubt/ng_ubt_intel.c
+1-1usr.sbin/bluetooth/iwmbtfw/iwmbtfw.conf
+2-0usr.sbin/bluetooth/iwmbtfw/main.c
+9-85 files

FreeBSD/src f54caa0sys/dev/evdev evdev_utils.c, sys/dev/hid hkbd.c hid.h

hkbd(4): fix handling of apple function keys in hid and evdev

Signed-off-by: tslight <tslight at pm.com>

Reviewed by:    wulf
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1998
DeltaFile
+72-16sys/dev/hid/hkbd.c
+8-3sys/dev/evdev/evdev_utils.c
+2-0sys/dev/hid/hid.h
+82-193 files

FreeBSD/src bb8230fsys/dev/hid hkbd.c, sys/dev/usb/input ukbd.c

hkbd(4): add some extra handy fn key bindings

- Fn+S for ScrollLock as it's very useful to have ScrollLock on
  FreeBSD's TTY.
- Fn+P for PrtSc/SysRq, as it's another very handy but sadly missing
  key on Macbooks.
- Some other Fn+<key> combinations duplicating existing keys.

Apply the change to ukbd(4) as well.

Signed-off-by: Toby Slight <tslight at pm.me>

Reviewed by:    wulf
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1998
DeltaFile
+10-0sys/dev/hid/hkbd.c
+10-0sys/dev/usb/input/ukbd.c
+20-02 files

FreeBSD/src 1033253sys/dev/hid hkbd.c, sys/dev/usb/input ukbd.c

hkbd(4): be more cautious & explicit about Apple vendor checking

Apply the changes to ukbd(4) as well.

Signed-off-by: tslight <tslight at pm.com>

Reviewed by:    wulf
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1998
DeltaFile
+34-29sys/dev/hid/hkbd.c
+31-26sys/dev/usb/input/ukbd.c
+1-1sys/modules/hid/hkbd/Makefile
+66-563 files

FreeBSD/src 40f55easys/dev/hid hkbd.c, sys/dev/usb/input ukbd.c

ukbd(4): backport Apple function keys support from hkbd(4)

and expose eject in addition to fn.

Signed-off-by: tslight <tslight at pm.com>

Reviewed by:    wulf
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1998
DeltaFile
+81-20sys/dev/usb/input/ukbd.c
+10-6sys/dev/hid/hkbd.c
+91-262 files

FreeBSD/src 920ad3csys/dev/usb/input ukbd.c

ukbd(4): make debug guard consistent with hkbd(4)

Signed-off-by: Toby Slight <tslight at pm.me>

Reviewed by:    wulf
MFC after:      1 month
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1998
DeltaFile
+3-1sys/dev/usb/input/ukbd.c
+3-11 files

FreeBSD/src 7d1285esys/amd64/amd64 exec_machdep.c

amd64 sendsig(): explicitly copy registers from trapframe to ucontext

With the IDT event delivery, previously reserved fields in tf_cs and
tf_ss are guaranteed to be zero. With FRED, these fields are not zero,
which affects the values copied to userspace.

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D56141
DeltaFile
+28-1sys/amd64/amd64/exec_machdep.c
+28-11 files

FreeBSD/src 6904270usr.sbin/syslogd syslogd.c, usr.sbin/syslogd/tests syslogd_test.sh

syslogd: Fix ereregex property filters and add test

This change fixes Bug 293879, where ereregex filters in syslogd
did not handle alternation correctly.

The issue appears to come from mixing up two different kinds of
flags: syslogd's internal serialized filter flags in
usr.sbin/syslogd/syslogd.h, and the regex compilation flags from
include/regex.h. ereregex was storing REG_EXTENDED in cmp_flags,
even though cmp_flags is meant to carry syslogd's own FILT_FLAG_*
values for configuration serialization and reconstruction.

REG_EXTENDED has the same bit value as FILT_FLAG_EXCLUDE, so the
filter could be reconstructed with the wrong semantics.

The fix stores FILT_FLAG_EXTENDED instead, allowing syslogd to
correctly REG_EXTENDED when compiling the regex.

A test was also added for both ereregex and !ereregex filters.

    [7 lines not shown]
DeltaFile
+22-0usr.sbin/syslogd/tests/syslogd_test.sh
+1-1usr.sbin/syslogd/syslogd.c
+23-12 files

FreeBSD/src e7de7fesys/dev/usb usbdevs

usbdevs: Add USB device IDs for Nuand bladeRF SDR

Add vendor and product IDs for bladeRF family of USB software defined radios manufactured by Nuand LLC.

Reviewed by:    imp, adrian
Differential Revision:  https://reviews.freebsd.org/D54733
DeltaFile
+7-0sys/dev/usb/usbdevs
+7-01 files

FreeBSD/src b65e7b4sys/fs/nfsserver nfs_nfsdsocket.c

nfs_nfsdsocket.c: All Copy and Clone across file systems

For some server file system types, such as ZFS, a Copy/Clone
operation can be done across file systems of the same file
system type.

As such, this patch allows the Copy/Clone to be attempted
when the file handles are for files on different file systems.

This fixes a problem for exported ZFS file systems when a
copy_files on file_range(2) between file systems in the same
NFSv4 mount is attempted.

PR:     294010
MFC after:      2 weeks
DeltaFile
+2-1sys/fs/nfsserver/nfs_nfsdsocket.c
+2-11 files

FreeBSD/src 6cc99balib/libc/gen dup3.3, lib/libsys dup.2

dup(2): document the handling of filedescriptor flags

Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential revision:  https://reviews.freebsd.org/D56121
DeltaFile
+4-1lib/libsys/dup.2
+2-0lib/libc/gen/dup3.3
+6-12 files

FreeBSD/src c8d40bfusr.bin/diff pr.c

diff: use O_CLOEXEC on pipes

This only simplifies the code, no functional changes expected

MFC After:      1 week
DeltaFile
+2-5usr.bin/diff/pr.c
+2-51 files

FreeBSD/src 945e60eusr.bin/diff3 diff3.c

diff3: set O_CLOEXEC on pipes

This avoid leaking pipe fd in children and simplifies the code

MFC After:      1 week
Reviewed by:    kib
Differential Revision:  https://reviews.freebsd.org/D56120
DeltaFile
+2-6usr.bin/diff3/diff3.c
+2-61 files

FreeBSD/src 7b6be00sys/dev/hyperv/vmbus/x86 hyperv_reg.h, sys/x86/x86 local_apic.c

Hyper-V: Detect Extended Destination ID support

Hyper-V advertises support for the Extended Destination ID standard via
bit 2 of the value returned in the EAX register when the hypervisor
stack properties are queried via CPUID.

This is based on a commit to the Linux kernel, as there does not seem
to be any other documentation of this feature.

Reviewed by:    Souradeep Chakrabarti
MFC after:      3 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D55432
DeltaFile
+9-0sys/x86/x86/local_apic.c
+6-0sys/dev/hyperv/vmbus/x86/hyperv_reg.h
+15-02 files

FreeBSD/src 8dd9a0dsys/x86/x86 local_apic.c

Bhyve: Detect Extended Destination ID support

Bhyve advertises support for the Extended Destination ID standard via
bit 0 (aka CPUID_BHYVE_FEAT_EXT_DEST_ID) of the value returned in the
EAX register when Bhyve features are queried via CPUID.

MFC after:      3 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D55431
DeltaFile
+8-0sys/x86/x86/local_apic.c
+8-01 files

FreeBSD/src 49b6254sys/amd64/vmm x86.c, sys/x86/include bhyve.h

vmm: Move defines from x86.c to x86/bhyve.h

The values CPUID_BHYVE_FEATURES and CPUID_BHYVE_FEAT_EXT_DEST_ID are
useful for guests, not just hosts; so they belong in a header file in
sys/x86/include rather than simply in the .c file implementing the
bhyve host side.

The original addition of these defines took place without adding a
copyright statement, but since I'm moving them into a new file I've
added the original author's standard copyright (Amazon).

MFC after:      3 weeks
Fixes:  313a68ea20b4 ("bhyve: Add CPUID_BHYVE_FEATURES leaf")
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D55430
DeltaFile
+35-0sys/x86/include/bhyve.h
+1-4sys/amd64/vmm/x86.c
+36-42 files

FreeBSD/src 9b18ba2sys/x86/x86 local_apic.c

Xen: Detect Extended Destination ID support

Xen advertises support for the Extended Destination ID standard via
bit 5 (aka XEN_HVM_CPUID_EXT_DEST_ID) of the value returned in the
EAX register when Xen features are queried via CPUID.

MFC after:      3 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D55429
DeltaFile
+6-0sys/x86/x86/local_apic.c
+6-01 files

FreeBSD/src 8c986d1sys/contrib/xen/arch-x86 cpuid.h

x86/cpuid: add CPUID flag for Extended Destination ID support

Introduce the CPUID flag to be used in order to signal the support for
using an extended destination ID in IO-APIC RTEs and MSI address
fields. Such format expands the maximum target APIC ID from 255 to
32768 without requiring the usage of interrupt remapping.

The design document describing the feature can be found at:

http://david.woodhou.se/15-bit-msi.pdf

Signed-off-by: Roger Pau Monné <roger.pau at citrix.com>
Reviewed-by: Jan Beulich <jbeulich at suse.com>
DeltaFile
+7-0sys/contrib/xen/arch-x86/cpuid.h
+7-01 files

FreeBSD/src 9ab5aa3sys/x86/include kvm.h, sys/x86/x86 local_apic.c

KVM: Detect Extended Destination ID support

KVM advertises support for the Extended Destination ID standard via
bit 15 of the value returned in the EAX register when KVM features
are queried via CPUID.

Tested on:      EC2 r8i.96xlarge
MFC after:      3 weeks
Sponsored by:   Amazon
Differential Revision:  https://reviews.freebsd.org/D55427
DeltaFile
+11-0sys/x86/x86/local_apic.c
+1-0sys/x86/include/kvm.h
+12-02 files