Skip to content

AIO rework for extended worker threads - #58

Open
ethan4984 wants to merge 10000 commits into
NetBSD:trunkfrom
ethan4984:trunk
Open

AIO rework for extended worker threads#58
ethan4984 wants to merge 10000 commits into
NetBSD:trunkfrom
ethan4984:trunk

Conversation

@ethan4984

Copy link
Copy Markdown

No description provided.

0-wiz-0 and others added 30 commits July 26, 2025 06:58
pixman-ppc.c assumes that machdep.altivec determines that VSX is available,
which is not true on for all altivec systems (added in POWER7.)  will need
code to check for a (new) machdep.vsx or so.

hopefully fixes crashes seen on ppc.
Joshua Stein <jcs@openbsd.org>.
Port by George Matsumura with help from Jiaxun Yang.
…char to

avoid crashes for negative non -1 values.
I considered using lua-5.4 as most distros seem to install their .pc file
as that, but equally there is some support for just lua which seems to
reflect the system provided library which is what NetBSD ships.
- add siisata
- add lmenv at iic, found on Xserve G4
The struct is documented as a communication structure with userland.
Fixes PR kern/59561.
While there, remove duplicate Asus RTL8192CU_3 from match list.
Since if.c v1.535 linkstate processing is done with IFNET_LOCK held, so
lagg doesn't need to take it by itself anymore.

Reported by mlelstv@
Acked by yamaguchi@
Fixes PR 59562.

With help from Ingo Schwarze.
Unfortunately c does not allow structure redefinitions, even if the structures
are identical. So include <sys/exec_elf.h> from <sys/elfdefinitions.h> and
protect all the typedefs that exec_elf.h already provides with the guard
of the sys/exec_elf.h file.
Also fix the order of the cap union fields so that the sys/sys_exec.h and
sys/elfdefinitions.h are identical.
ethan4984 and others added 26 commits August 30, 2025 16:36
Seen in sh3/dmacreg.h, SH3_DMAC_CHCR_BITS.
Preseve the value for NaN and +/-Inf when converting to different types.

Only applies to m68k softfloat.

Addresses PR/59616.

Upstreamed to the gcc people, the email thread starts here:
https://gcc.gnu.org/pipermail/gcc-patches/2025-September/693824.html
Obviously nobody wants to fix this so it hurts users more to keep it
secret than to just document the information and let users make
informed decisions based on that.

PR bin/45005: rpc.rquotad does no access checks
the sparc64 instance to be a proper separate attachment.
is passed around.

Fixes PR install/59621

Pullups -11, -10, -9.
Effectively reverts the following upstream commits:

(1) https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=7ecf0250f7f
(2) https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=023e60ced0c

Otherwise, .note lies behind .eh_frame section, and the latter
cannot be removed by strip(1). This results in regression for
sizes of crunched binaries.

The problem has been reported to upstream:

https://sourceware.org/bugzilla/show_bug.cgi?id=33344

Thanks christos@ for discussion!
arguments as filenames, keeping the current behavior of interpreting
arguments as filenames if they begin with "/" "./" or "../" for compatibility.
In the future we can remove that.
Don't relookup the destination name with the source vnode locked.
This is both an ordering inversion and can lead to finding and locking
another reference to the same vnode if another process does the same
link operation.

See tech-kern posting of 20250902 for further analysis.
SDHC_FLAG_32BIT_ACCESS shouldn't prohibit clearing the SD Bus Power bit in
the Power Control Register, that's what SDHC_FLAG_NO_PWR0 is for.

Should help with card initialization issues at boot on controllers that
set the 32-bit access flag.
netbsd-srcmastr pushed a commit that referenced this pull request Oct 19, 2025
	sys/dev/usb/xhci.c: revision 1.191
	sys/dev/usb/usb_subr.c: revision 1.280
	sys/dev/usb/usb_subr.c: revision 1.281
	sys/dev/usb/usbdivar.h: revision 1.140

usb(9): Record config index, not just number, in struct usbd_device.

The index is a zero-based index in [0, bNumConfigurations), or -1 for
unconfigured.

The number is an arbitrary value of a config descriptor's
bConfigurationValue field, or 0 for unconfigured -- with the tricky
caveat that bConfigurationValue might also be 0.

Preparation for fixing:
PR kern/59185: panic over KASSERTMSG(dev->ud_ifaces == NULL) on Dell
Latitude 7490
PR kern/59624: Booting NetBSD-11 from USB on my Dell machine panics
and hangs
PR kern/57447: HEAD fails to probe USB devices and fails to boot up


usb(9): Use ud_configidx, not ud_config, to see if unconfigured.
ud_config is a device-provided quantity in the config descriptor's
bConfigurationValue, and a faulty (or malicious) device can provide 0
for that value, which coincides with our software sentinel value
USBD_UNCONFIG_NO of 0.

Instead of testing ud_config, test ud_configidx, which is an index in
[0, bNumConfigurations) or -1, for which the device cannot confuse us
by a value that coincides with the sentinel -1.

PR kern/59185: panic over KASSERTMSG(dev->ud_ifaces == NULL) on Dell
Latitude 7490
PR kern/59624: Booting NetBSD-11 from USB on my Dell machine panics
and hangs
PR kern/57447: HEAD fails to probe USB devices and fails to boot up
netbsd-srcmastr pushed a commit that referenced this pull request Jul 26, 2026
	sys/dev/usb/xhci.c: revision 1.191
	sys/dev/usb/usb_subr.c: revision 1.280
	sys/dev/usb/usb_subr.c: revision 1.281
	sys/dev/usb/usbdivar.h: revision 1.140

usb(9): Record config index, not just number, in struct usbd_device.

The index is a zero-based index in [0, bNumConfigurations), or -1 for
unconfigured.

The number is an arbitrary value of a config descriptor's
bConfigurationValue field, or 0 for unconfigured -- with the tricky
caveat that bConfigurationValue might also be 0.

Preparation for fixing:
PR kern/59185: panic over KASSERTMSG(dev->ud_ifaces == NULL) on Dell
Latitude 7490
PR kern/59624: Booting NetBSD-11 from USB on my Dell machine panics
and hangs
PR kern/57447: HEAD fails to probe USB devices and fails to boot up


usb(9): Use ud_configidx, not ud_config, to see if unconfigured.
ud_config is a device-provided quantity in the config descriptor's
bConfigurationValue, and a faulty (or malicious) device can provide 0
for that value, which coincides with our software sentinel value
USBD_UNCONFIG_NO of 0.

Instead of testing ud_config, test ud_configidx, which is an index in
[0, bNumConfigurations) or -1, for which the device cannot confuse us
by a value that coincides with the sentinel -1.

PR kern/59185: panic over KASSERTMSG(dev->ud_ifaces == NULL) on Dell
Latitude 7490
PR kern/59624: Booting NetBSD-11 from USB on my Dell machine panics
and hangs
PR kern/57447: HEAD fails to probe USB devices and fails to boot up
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.