summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
5 dayssyncStuart Henderson
5 daysuse ifq_deq_set_oactive if we're in an if_deq_begin "transaction"David Gwynne
reported by and fix tested by afresh@
5 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@
5 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@
6 daysfix SEE ALSO;Jason McIntyre
6 daysAdd qccpucp(4) manual pageTobias Heider
ok mlarkin@
6 daysgather ice(4) hardware counters for debuggingStefan Sperling
6 daysimplement ice_add_rx_lldp_filter()Stefan Sperling
6 daysremove forward declaration of struct mountJonathan Gray
unneeded after uvm_vnp_sync() prototype moved to vnode.h in 2014
6 dayshook up ddb regressAnton Lindqvist
6 daysAdd amd64 ddb regress suite allowing the disassembler to be tested fromAnton Lindqvist
userspace.
6 daysTeach ddb how to disassemble endbr64.Anton Lindqvist
With input on prefix handling and ok jsg@
6 dayskill our kids before we die, or there will be panicJoshua Stein
dlg concurs
6 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
7 daysi was missing a .Dv in front of a macroDavid Gwynne
7 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.
7 daysCheck all %if in the list when deciding whether to process anNicholas Marriott
assignment, not just the most recent.
7 daysmove bus space extern to bus.h; ok mpi@Jonathan Gray
7 daysFix some typos in comments in i386/amd64 bootblocksMike Larkin
Also fix some trailing whitespace in comments. From Christian Schulte, thanks
7 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
7 daysbump the "mru" up to MAXMCLBYTES.David Gwynne
there's no reason to limit tun/tap to small packets. ok claudio@
7 daysinclude tun_hdr in the length reported by FIONREAD and kq if it's enabled.David Gwynne
8 daysadd qccpucp to GENERICTobias Heider
ok patrick@
8 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@
8 daysec_lib: zap a useless commentTheo Buehler
8 daysdescribe the endianness of tun_hdrDavid Gwynne
8 daysMinor simplifications in ec_cmp()Theo Buehler
8 daysminor grammar/macro fixes;Jason McIntyre
8 daysRewrite EC_GROUP_cmp()Theo Buehler
Use better variable names (cf. https://jmilne.org/math/tips.html#4) and avoid the weird style of assigning to r (what does r stand for anyway?) and short circuiting subsequent tests using if (r || ...). Also, do not reuse the variables for order and cofactor that were previously used for the curve coefficients. ok jsing
8 daystry documenting tun_hdrDavid Gwynne
8 daysmake a first pass at documenting the network offload support.David Gwynne
the ioctls are here, the offload header is next.
8 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.
9 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@
9 daysDo not call layout_fix_panes if wp is NULL (that is, a popup).Nicholas Marriott
9 daysSimplify signature of ec_wNAF_mul()Theo Buehler
The only caller passes in num = 1 and is itself called in a path that ensures that the multiplier of the generator is != NULL. Consequently we don't need to deal with an array of points and an array of scalars so rename them accordingly. In addition, the change implies that numblocks and num_scalar are now always 1, so inline this information and take a first step towards disentangling this gordian knot. ok jsing
9 daysProvide a SHA-256 assembly implementation for amd64 using SHA-NI.Joel Sing
This provides a SHA-256 assembly implementation for amd64, which uses the Intel SHA Extensions (aka SHA New Instructions or SHA-NI). This provides a 3-5x performance gain on some Intel CPUs and many AMD CPUs. ok tb@
9 daysRemove sha512-x86_64.pl.Joel Sing
Now that we have replacement SHA-256 and SHA-512 assembly implementations for amd64, sha512-x86_64.pl can go the way of the dodo.
9 daysProvide a replacement assembly implementation for SHA-512 on amd64.Joel Sing
Replace the perlasm generated SHA-512 assembly with a more readable version and the same C wrapper introduced for SHA-256. As for SHA-256, on a modern CPU the performance is largely the same. ok tb@
9 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@
9 daysAdd CPU capability detection for the Intel SHA extensions (aka SHA-NI).Joel Sing
This also provides a crypto_cpu_caps_amd64 variable that can be checked for CRYPTO_CPU_CAPS_AMD64_SHA. ok tb@
9 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@
9 daysSpecify size for K256 symbol.Joel Sing
Missing sizes spotted by guenther@
9 daysMerge ec_kmeth into ec_keyTheo Buehler
9 daysShuffle the global default_ec_key_meth down a few linesTheo Buehler
9 daysMove the default EC_KEY_METHOD to the end of the fileTheo Buehler
9 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@
10 daysUse a better curve and a better hash for the ECDSA_do_sign() exampleTheo Buehler
(Many examples in this directory are really bad. This is no exception.)
10 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.
10 daysfix build without ICE_DEBUGStefan Sperling
10 daysimplement the ice(4) Rx interrupt handlerStefan Sperling