unionfs: detect common deadlock-producing mount misconfigurations
When creating a unionfs mount, it's fairly easy to shoot oneself
in the foot by specifying upper and lower file hierarchies that
resolve back to the same vnodes. This is fairly easy to do if
the sameness is not obvious due to aliasing through nullfs or other
unionfs mounts (as in the associated PR), and will produce either
deadlock or failed locking assertions on any attempt to use the
resulting unionfs mount.
Leverage VOP_GETLOWVNODE() to detect the most common cases of
foot-shooting at mount time and fail the mount with EDEADLK.
This is not meant to be an exhaustive check for all possible
deadlock-producing scenarios, but it is an extremely cheap and
simple approach that, unlike previous proposed fixes, also works
in the presence of nullfs aliases.
PR: 172334
Reported by: ngie, Karlo Miličević <karlo98.m at gmail.com>
[4 lines not shown]
unionfs: Implement VOP_GETLOWVNODE
This function returns the vnode that will be used to resolve the
access type specified in the 'flags' argument, and is useful for
optimal behavior of vn_copy_file_range(). While most filesystems
can simply use the default implementation which returns the passed-
in vnode, unionfs (like nullfs) ideally should resolve the access
request to whichever base layer vnode will be used for the I/O.
For unionfs, write accesses must be resolved through the upper vnode,
while read accesses will be resolved through the upper vnode if
present or the lower vnode otherwise. Provide a simple
unionfs_getlowvnode() implementation that reflects this policy.
Reviewed by: kib, olce
Tested by: pho
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D53988
cam: Also reduce timeout for wlun probing
wlun probing was added after my initial work on this and was overlooked
in merging forward. Add the timeout here too, for the same reasons as
for REPORT LUNS. This doesn't change the default.
Fixes: 8ac7a3801c6a cam: Reduce overly long timeout values for initial device probing
Sponsored by: Netflix
Reviewed by: jaeyoon
Differential Revision: https://reviews.freebsd.org/D54184
x11-wm/cosmic-comp: chase checksum after fe50a1eb16c4
=> No suitable checksum found for rust/crates/bstr-1.12.1.crate.
=> No suitable checksum found for rust/crates/btoi-0.5.0.crate.
=> No suitable checksum found for rust/crates/font-types-0.10.1.crate.
=> No suitable checksum found for rust/crates/harfrust-0.4.1.crate.
=> No suitable checksum found for rust/crates/phf-0.13.1.crate.
=> No suitable checksum found for rust/crates/phf_generator-0.13.1.crate.
=> No suitable checksum found for rust/crates/phf_macros-0.13.1.crate.
=> No suitable checksum found for rust/crates/phf_shared-0.13.1.crate.
=> No suitable checksum found for rust/crates/read-fonts-0.36.0.crate.
=> No suitable checksum found for rust/crates/skrifa-0.39.0.crate.
=> No suitable checksum found for smithay-smithay-cb9acba2775de4f2032e023520e007cd66909eda_GH0.tar.gz.
=> No suitable checksum found for pop-os-cosmic-text-7051682e70defcab6b683d6e9db07124a6de0df7_GH0.tar.gz.
=> No suitable checksum found for pop-os-freedesktop-icons-7a61a704f6d1ec41f71cbe766e3cc484858523fa_GH0.tar.gz.
=> No suitable checksum found for pop-os-libcosmic-3b8ad45950f5d23c8550e18e628f6e70b7089d89_GH0.tar.gz.
=> No suitable checksum found for pop-os-iced-0.4.2-3067-g10db38f9_GH0.tar.gz.
x11/xlibre: XLibre + X.Org complete distribution metaport
This is a metaport for the XLibre server and XLibre drivers with many of the
complementary X.Org packages available in the ports tree.
Reviewed by: dtxdf acm
Tested by: dtxdf acm
Obtained from: https://github.com/b-aaz/xlibre-ports
x11-drivers/xlibre-drivers: New port: XLibre drivers
New port: x11-drivers/xlibre-xf86-input-elographics
New port: x11-drivers/xlibre-xf86-input-evdev
New port: x11-drivers/xlibre-xf86-input-joystick
New port: x11-drivers/xlibre-xf86-input-keyboard
New port: x11-drivers/xlibre-xf86-input-libinput
New port: x11-drivers/xlibre-xf86-input-mouse
New port: x11-drivers/xlibre-xf86-input-synaptics
New port: x11-drivers/xlibre-xf86-input-vmmouse
New port: x11-drivers/xlibre-xf86-input-void
New port: x11-drivers/xlibre-xf86-input-wacom
New port: x11-drivers/xlibre-xf86-video-amdgpu
New port: x11-drivers/xlibre-xf86-video-ast
New port: x11-drivers/xlibre-xf86-video-ati
New port: x11-drivers/xlibre-xf86-video-dummy
New port: x11-drivers/xlibre-xf86-video-intel
New port: x11-drivers/xlibre-xf86-video-mga
New port: x11-drivers/xlibre-xf86-video-nv
[7 lines not shown]
x11-servers/xlibre-nest: New port: Xlibre Xnest server
This package contains Xnest, a nesting X Server that displays on an X Server.
Reviewed by: dtxdf acm
Tested by: dtxdf acm
Obtained from: https://github.com/b-aaz/xlibre-ports
x11-servers/xlibre-ephyr: New port: Xlibre Xephyr server
Xephyr is a kdrive server that outputs to a window on a pre-existing
'host' X display. Think Xnest but with support for modern extensions
like composite, damage and randr.
Reviewed by: dtxdf acm
Tested by: dtxdf acm
Obtained from: https://github.com/b-aaz/xlibre-ports
emulators/fmsx: minor update to pkg-message
Update URL in pkg-message to be usable with modern web browsers
changing FTP to HTTP site. Note that http:// is used deliberately
instead of https:// because its SSL certificate does not cover
"ftp.komkon.org" for the moment.