OpenBSD cvs log

created 2024-07-14T18:15:21Z
begin 2024-07-13T00:00:00Z
end 2024-07-14T00:00:00Z
path src/sys
commits 8

date 2024-07-13T08:59:41Z
author dv
files src/sys/dev/ic/nvme.c log diff annotate
message Backout previous change related to not freeing memory on suspend.

It broke resume from hibernate. :(

date 2024-07-13T09:34:26Z
author bluhm
files src/sys/netinet6/ip6_forward.c log diff annotate
message Do not store full IPv6 packet in common forwarding case.

Forwarding IPv6 packets is slower than IPv4. Reason is that m_copym()
is done for every packet. Just in case we may have to send an ICMP6
packet, ip6_forward() creates a mbuf copy. After that mbuf cluster
is read only, so for the ethernet header another mbuf is allocated.
pf NAT and RDR ignores readonly clusters, so it also modifies the
potential ICMP6 packet.
IPv4 ip_forward() avoids all these problems by copying the leading
68 bytes of the original packets onto the stack. More is not need
for ICMP. IPv6 RFC 4443 2.4. (c) requires up to 1232 bytes in the
ICMP6 packet. This cannot be copied to the stack.
The reason for the difference in the standard seems to be that the
ICMP6 packet has to contain the full header chain. If we have a
simple TCP, UDP or ESP packet without chain, do a shortcut and just
preserve the header for the ICMP6 packet.
Small packets already use stack memory, large packets need extra
mbuf allocation. Now truncate ICMP6 packet to a reasonable length
if the original packets has a final protocol header directly after
the IPv6 header. List of suitable protocols contains TCP, UDP, ESP
as they cover the common cases and anything behind the header should
not be needed for path MTU discovery.

OK deraadt@ florian@ mvs@

date 2024-07-13T10:09:40Z
author bluhm
files src/sys/netinet6/ip6_forward.c log diff annotate
message Previous commit broke RAMDISK_CD kernel build. Always include udp.h
in ip6_forward.c.

date 2024-07-13T12:00:11Z
author bluhm
files src/sys/netinet/in_proto.c log diff annotate
message Mark IP protocol GRE as MP safe from socket layer.

The pipex code in gre_send() matches more or less what udp_send()
does. This has been MP safe for a long time. rip_send() is already
called with PR_MPSOCKET.

OK mvs@

date 2024-07-13T13:20:44Z
author bluhm
files src/sys/conf/files log diff annotate
src/sys/netinet/ip_gre.c log diff annotate
message Add condition to ip_gre.c in files.

Use gre condition in conf/files for compiling netinet/ip_gre.c only
if needed. Remove #if NGRE > 0 from ip_gre.c that caused ramdisk
build to compile an empty C file.

OK kn@ deraadt@; input jsg@

date 2024-07-13T14:37:55Z
author beck
files src/sys/kern/vfs_subr.c log diff annotate
src/sys/sys/vnode.h log diff annotate
message Revert the vdoom change, while it prevents the crashes on joel's go
builder and avoids the ufs_inactive problems, bluhm hits panics on
shutdown and filesystem unmount on the regress testers.

We'll have to try the other approach of detecting the corrupted
vnode perhaps.

date 2024-07-13T14:37:56Z
author beck
files src/sys/ufs/ext2fs/ext2fs_inode.c log diff annotate
src/sys/ufs/ufs/ufs_inode.c log diff annotate
message Revert the vdoom change, while it prevents the crashes on joel's go
builder and avoids the ufs_inactive problems, bluhm hits panics on
shutdown and filesystem unmount on the regress testers.

We'll have to try the other approach of detecting the corrupted
vnode perhaps.

date 2024-07-13T15:38:21Z
author kettenis
files src/sys/dev/pci/drm/drm_drv.c log diff annotate
src/sys/dev/pci/drm/drm_linux.c log diff annotate
src/sys/dev/pci/drm/i915/gt/intel_gt_pm.c log diff annotate
src/sys/dev/pci/drm/include/generated/autoconf.h log diff annotate
src/sys/dev/pci/drm/include/linux/acpi.h log diff annotate
src/sys/dev/pci/drm/include/linux/suspend.h log diff annotate
message Implement some more suspend/resume Linux compat such that inteldrm(4) can
achieve RC6 and save a significant amount of power for S0i.

ok jsg@