summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2 daysuse ifq_deq_set_oactive if we're in an if_deq_begin "transaction"David Gwynne
reported by and fix tested by afresh@
2 daysprovide ifq_deq_set_oactive.David Gwynne
ifq_deq_set_oactive is a variation on ifq_set_oactive that can be called inside an if_deq_begin "transaction". afresh@ found de(4) was calling ifq_set_oactive while holding the ifq mutex via ifq_deq_begin, which led to a panic because ifq_set_oactive also tries to take the ifq mutex. ifq_deq_set_oactive assumes the caller is already holding the mutex. de(4) is confusing, so it seemed simpler to add a small tweak to ifqs than try and do major surgery on such a hairy driver. tested by afresh@
2 daysuse a tailq for the global list of bpf_if structs.David Gwynne
this replaces a hand rolled list that's been here since 1.1. ok claudio@ kn@ tb@
3 daysgather ice(4) hardware counters for debuggingStefan Sperling
3 daysimplement ice_add_rx_lldp_filter()Stefan Sperling
3 daysremove forward declaration of struct mountJonathan Gray
unneeded after uvm_vnp_sync() prototype moved to vnode.h in 2014
3 daysTeach ddb how to disassemble endbr64.Anton Lindqvist
With input on prefix handling and ok jsg@
3 dayskill our kids before we die, or there will be panicJoshua Stein
dlg concurs
3 daysfix tcpdump on pfsync interfaces.David Gwynne
after the last rewrite i was showing bpf ip packets, not the pfsync payload like the PFSYNC DLT expected. this also lets bpf see packets being processed by pfsync input handling, so if you want to see only what's being sent you'll need to filter by direction. reported by Marc Boisis
4 daysCast atomic_load_int(9) to signed int when loading `securelevel'.Vitaliy Makkoveev
The return value of atomic_load_int(9) is unsigned so needs a cast, otherwise securelevel=-1 gets misrepresented. From Paul Fertser.
4 daysmove bus space extern to bus.h; ok mpi@Jonathan Gray
4 daysFix some typos in comments in i386/amd64 bootblocksMike Larkin
Also fix some trailing whitespace in comments. From Christian Schulte, thanks
4 daysdrm/amdkfd: Accounting pdd vram_usage for svmJonathan Gray
From Philip Yang 4c332037fcbb9bb53c46ba4f156951429acc4d97 in linux-6.6.y/6.6.62 68d26c10ef503175df3142db6fcd75dd94860592 in mainline linux
4 daysbump the "mru" up to MAXMCLBYTES.David Gwynne
there's no reason to limit tun/tap to small packets. ok claudio@
4 daysinclude tun_hdr in the length reported by FIONREAD and kq if it's enabled.David Gwynne
5 daysadd qccpucp to GENERICTobias Heider
ok patrick@
5 daysmake sure bpfsdetach is holding a bpf_d ref when invalidating stuff.David Gwynne
when bpfsdetach is called by an interface being destroyed, it iterates over the bpf descriptors using the interface and calls vdevgone and klist_invalidate against them. however, i'm not sure the reference the interface holds against the bpf_d is accounted for properly, so vdevgone might drop it to 0 and free it, which makes the klist_invalidate a use after free. avoid this by taking a bpf_d ref before calling vdevgone and klist_invalidate so the memory can't be freed out from under the feet of bpfsdetach. Reported-by: syzbot+b3927f8ad162452a2f39@syzkaller.appspotmail.com i wasn't able to reproduce whatever syzkaller did. it's possible this is a double free, but we'll wait and see if it pops up again. ok mpi@
5 daysprovide network offloads between the kernel and userland againDavid Gwynne
userland can request that network packets that are read from or written to the device special file get prepended with a "tun_hdr" struct. this struct contains bits which say what offloads are requested for the packet, including things like ip/tcp/udp/icmp checksums, tcp segmentation offloads, or ethernet vlan tags. userland can write a packet with any of these offloads requested into the kernel at any time, but has to request which ones it's able to handle coming from the kernel. enabling the tun_hdr struct and which offloads userland can handle is done with a new TUNSCAP ioctl. this is based on the virtio_net_hdr in linux, which jan@ actually implemented and had working with vmd. however, claudio@ and i strongly opposed to what feels like a layer violation by pulling virtio structures into the tun driver, and then trying to emulate virtio/linux semantics in our network stack, and playing catch up when the "upstream" projects decide to change the shape or meaning of these bits. tun_hdr is specific to the openbsd network stack and it's semantics, which simplifies our kernel implementation. jan has been pretty gracious about the extra work on the vmd side of things. tested by and ok jan@ ok claudio@ sthen@ backed this out cos of confusion with the ioctl numbers i picked to controlling this feature. i've picked new numbers that don't conflict this time.
5 daysAdd qccpucp(4), a driver for the CPUSS Control Processor (CPUCP) mailboxTobias Heider
controller. It is used as doorbell for the arm-scmi perf protocol and a prerequisite for cpu frequency management on X Elite chips. ok patrick@
6 daysAdjust deep logic in cursig() to handle sig_stop specially.Claudio Jeker
If any other signal is pending the stop signal should be deferred. Now cursig() uses ffs() to select the signal and so higher numbered signals like SIGUSR1 would be ignored when going to sleep. So handle default stop signals specially in the deep case, stash them and only use them if no other signal is pending. Fix for signal-stress regress (problem reported by anton@) With and OK mpi@
6 daysRemove unreachable check for orphaned process groups in cursig.Claudio Jeker
setsigctx() now does this check and clears sig_stop in that case and instead set sig_ignore. So the check in cursig that is based on sig_stop can never be true. OK mpi@
6 daysDo not dereference `pve' after releasing `pv_mtx'.Martin Pieuchot
Prevent a race where anything can happen on `pve' resultint in an incorrect locking of a given pmap. Found the hardway by sthen@. ok jsg@, miod@, kettenis@, jca@
7 dayswait for ice(4) software interrupt to occur when flushing queue interruptsStefan Sperling
This codes runs under IPL_NET. Interrupt processing would get delayed until the ioctl handler was done which is probably not what the device is expecting.
7 daysfix build without ICE_DEBUGStefan Sperling
7 daysimplement the ice(4) Rx interrupt handlerStefan Sperling
7 daysin ice(4), ensure that vsi->max_frame_size gets setStefan Sperling
dlg@ advised me that our drivers should always configure the largest frame size supported by hardware
7 daysadd placeholder for GC 11.5.2 APUJonathan Gray
7 daysprocmap(8) -> procmap(1); spotted by Avon RobertsonJonathan Gray
7 dayssparce -> sparseJonathan Gray
7 daysdrm/amdgpu: prevent NULL pointer dereference if ATIF is not supportedJonathan Gray
From Antonio Quartulli a613a392417532ca5aaf3deac6e3277aa7aaef2b in linux-6.6.y/6.6.61 a6dd15981c03f2cdc9a351a278f09b5479d53d2e in mainline linux
7 daysdrm/amdgpu: Fix DPX valid mode check on GC 9.4.3Jonathan Gray
From Lijo Lazar 3930715c1aefe8e5cbca94144081aa08b466d571 in linux-6.6.y/6.6.61 3ce3f85787352fa48fc02ef6cbd7a5e5aba93347 in mainline linux
7 daysdrm/amdgpu: Adjust debugfs register access permissionsJonathan Gray
From Alex Deucher e2574b57990d482cb4310f8d571e728741c711c8 in linux-6.6.y/6.6.61 b46dadf7e3cfe26d0b109c9c3d81b278d6c75361 in mainline linux
7 daysdrm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()Jonathan Gray
From Alex Deucher 8906728f2fbd6504cb488f4afdd66af28f330a7a in linux-6.6.y/6.6.61 4d75b9468021c73108b4439794d69e892b1d24e3 in mainline linux
7 daysdrm/amdgpu: Adjust debugfs eviction and IB access permissionsJonathan Gray
From Alex Deucher 5a8ae5fa576c3315c0b3ce0b0aec2e5d1aadebc9 in linux-6.6.y/6.6.61 f790a2c494c4ef587eeeb9fca20124de76a1646f in mainline linux
7 daysMove the stack 1GB higher, closer to the end of the userland address space.Miod Vallat
ok kettenis@
8 daysrevert tun(4) changes for now, breaks in kdump build (TUNSCAP/TIOCEXT clash)Stuart Henderson
tb@ agrees
8 daysuse down->up hammer to handle ENETRESET in ice_ioctl; can be refined laterStefan Sperling
8 daysavoid sending needless MAC address updates to ice(4) hardwareStefan Sperling
8 daysfor clarity, look at 'perm_addr' for obtaining the MAC when ice(4) attachesStefan Sperling
8 daysTypo fixes in commentsKevin Lo
ok stsp@
8 daysprovide a way to negotiate network offloads between the kernel and userland.David Gwynne
userland can request that network packets that are read from or written to the device special file get prepended with a "tun_hdr" struct. this struct contains bits which say what offloads are requested for the packet, including things like ip/tcp/udp/icmp checksums, tcp segmentation offloads, or ethernet vlan tags. userland can write a packet with any of these offloads requested into the kernel at any time, but has to request which ones it's able to handle coming from the kernel. enabling the tun_hdr struct and which offloads userland can handle is done with a new TUNSCAP ioctl. this is based on the virtio_net_hdr in linux, which jan@ actually implemented and had working with vmd. however, claudio@ and i strongly opposed to what feels like a layer violation by pulling virtio structures into the tun driver, and then trying to emulate virtio/linux semantics in our network stack, and playing catch up when the "upstream" projects decide to change the shape or meaning of these bits. tun_hdr is specific to the openbsd network stack and it's semantics, which simplifies our kernel implementation. jan has been pretty gracious about the extra work on the vmd side of things. tested by and ok jan@ ok claudio@
9 daysimplement ice_down(); ifconfig ice0 down/up is working nowStefan Sperling
9 daysEnable ixv(4) in RAMDISK_CDYASUOKA Masahiko
ok stu deraadt
9 daysFix simplefb colours for BPP16 and BPP24 by specifiying colourTobias Heider
offsets for RGB formats explicitly. From Paul Fertser ok patrick@ miod@ kettenis@
9 daysAdds support for BPP16 16-bit color EFI framebuffer format as offeredTobias Heider
by u-boot. From Paul Fertser ok patrick@ miod@ kettenis@
10 daysremove unused arm64_machdep.hJonathan Gray
10 daysrename bus space files to match other archsJonathan Gray
ok miod@
10 daysbump the type used to specify traffic queue bandwidth to 64bit.David Gwynne
this should let people specify interface and queue bandwidths greater than ~4Gbit. this changes the pf ioctls used to specify queues, so if you want to try this you'll need a new kernel, new headers, and a new pfctl (and systat). or upgrade using a snapshot. the effort and benefit of providing compat isn't worth it. putting it in now so people can kick it around.
10 daysadd wd to nam2blk to match bdevswJonathan Gray
10 daysorder nam2blk by major numberJonathan Gray