summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2022-12-13Add lockcount output via printflockcount-9.3Merlin Scholz
2022-12-10First concept for lock countingMerlin Scholz
2022-11-02Decouple LOCKDEBUG and LOCKDOC kernel flagsMerlin Scholz
2022-10-28First working lock logsMerlin Scholz
2022-10-27Undo previous log_lock functions only used for testingMerlin Scholz
2022-10-25Hook into lockdebug.hMerlin Scholz
2022-10-24Separate LOCKDEBUG and LOCKDOG kernel flagsMerlin Scholz
2022-10-24First proper lockdoc hooksMerlin Scholz
2022-10-19Fix memory padding by replacing char with enum in log_actionMerlin Scholz
2022-10-17Continue implementationMerlin Scholz
2022-10-17Port over code skeletonMerlin Scholz
2022-10-16Add sterilized LOCKDOC kernel configMerlin Scholz
2022-08-04Welcome to 9.3!martin
2022-08-03Pull up following revision(s) (requested by riastradh in ticket #1493):martin
sys/dev/usb/ucom.c: revision 1.129 ucom(4): Fix earlier mistake causing pipes not to be closed. In revision 1.123, mrg@ changed what he thought was a double-close, but was actually abort&close (as is appropriate) to just abort (which is not enough -- leaks the pipe). This restores the abort&close. The original `bug' was found by code inspection, whereas this bug was found by asserting in usb_subr.c that no pipes are open on device disconnection after detach; the asserts actually triggered with several ucom(4) devices, and no longer trigger with this change. XXX pullup-9
2022-08-03Pull up following revision(s) (requested by riastradh in ticket #1495):martin
share/man/man4/tpm.4: revision 1.7 sys/dev/ic/tpm.c: revision 1.17 sys/dev/ic/tpmvar.h: revision 1.10 sys/dev/ic/tpm.c: revision 1.18 sys/dev/ic/tpm.c: revision 1.19 sys/dev/acpi/tpm_acpi.c: revision 1.14 sys/dev/ic/tpmreg.h: revision 1.10 sys/dev/ic/tpmreg.h: revision 1.11 sys/dev/ic/tpm.c: revision 1.21 sys/dev/ic/tpm.c: revision 1.22 sys/dev/ic/tpm.c: revision 1.23 sys/dev/ic/tpm.c: revision 1.24 sys/dev/ic/tpm.c: revision 1.25 sys/dev/ic/tpmreg.h: revision 1.7 sys/dev/ic/tpmreg.h: revision 1.8 sys/dev/ic/tpmreg.h: revision 1.9 sys/dev/ic/tpmvar.h: revision 1.8 sys/dev/ic/tpmvar.h: revision 1.9 dev/ic/tpm: Tidy up headers. - Add include guards. - Add necessary includes. - Sort includes. - Use _BYTE_ORDER, not BYTE_ORDER, for public header. dev/ic/tpm: Add missing line break in attach output. dev/ic/tpm: Take advantage of entropy source if available. If the tpm is deactivated, though, detach the entropy source so we don't continue to try polling it -- it can't be activated without a reboot anyway. Add note about enabling TPM and rnd(4) source. tpm(4): Handle TPM 2.0 random source too, and loop on short reads. Tested on ThinkPad T480. tpm(4): Preserve error if any on ending commands. This way we don't spuriously suppress an error, such as TPM_DEACTIVATED, in a loop where we rely on it. tpm@acpi: Require only one locality's worth of register space. We don't actually use the registers for the other localities, and some older TPMs only have the first locality exposed via ACPI. tpm(4): Fix disabling of rnd source if tpm is deactivated. Nothing prevents a second worker from being queued when the first one is about to do rnd_detach_source. Instead, just set a flag so future requests don't bother running a new thread; if there's a concurrent one that's already been scheduled on another CPU, well, too bad, we get a couple extra log messages but that's fine. A better way to do this would probably be to detect whether the tpm is deactivated at attach time, but that requires reading more of the tpm spec than I care to do when there are alternative ways to procrastinate like scrubbing the toilet. tpm(4): Fix suspend and rework I/O transaction lock. Use sc->sc_lock over individual I/O transactions, not open/close of the whole device. This way there is a bounded time before the tpm is unbusied even if userland is getting at it, so userland can't hold up suspend indefinitely. Of course, the tpm might be suspended and resumed in the middle of the user's session this way -- tough. This limits the response buffer to 1024 bytes -- which is already a bit hefty to have on the stack (but it's probably not very deep on the stack from userland so maybe not a big deal). If it turns out we need more, we can use kmem to allocate a buffer on the heap, with the caveat that it might fail. This is necessary so that suspend doesn't block indefinitely on uiomove in tpmread. tpm(4): Nix TPM_BE16/TPM_BE32. Just use sys/endian.h.
2022-08-03Pull up following revision(s) (requested by riastradh in ticket #1492):martin
sys/dev/usb/ukbd.c: revision 1.154 ukbd(4): Wait for callouts and blinking to complete in detach. This detach routine (and whole driver) has got a lotta other problems, but let's fix 'em one at a time...
2022-08-03Apply patch, requested by riastradh in ticket #1491:martin
sys/external/bsd/drm2/dist/drm/i915/i915_drv.h (apply patch) Fix newlines in i915 console messages
2022-08-03Pull up following revision(s) (requested by riastradh in ticket #1490):martin
sys/dev/acpi/thinkpad_acpi.c: revision 1.48 With the recent change of the EC address space handler, we no longer get an ACPI_INTEGER in host byte order but a byte sized buffer with little endian data. Extract only the low 8 bits from buffer to get the fan speed again.
2022-08-03Apply patch, requested by riastradh in ticket #1487:martin
sys/compat/common/vfs_syscalls_20.c (apply patch) sys/compat: Memset zero before copyout. Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry.
2022-08-03Pull up following revision(s), all via patchmartin
(requested by riastradh in ticket #1487): sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168 sys/compat/sunos/sunos_misc.c: revision 1.177 sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52 sys/compat/common/kern_resource_43.c: revision 1.23 sys/compat/netbsd32/netbsd32_conv.h: revision 1.46 sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35 sys/compat/common/vfs_syscalls_12.c: revision 1.38 sys/compat/ultrix/ultrix_misc.c: revision 1.126 sys/compat/common/kern_sig_43.c: revision 1.37 sys/compat/linux/common/linux_mtio.c: revision 1.8 sys/compat/freebsd/freebsd_misc.c: revision 1.34 sys/compat/freebsd/freebsd_machdep.c: revision 1.5 sys/compat/linux/common/linux_olduname.c: revision 1.67 sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44 sys/compat/freebsd/freebsd_sched.c: revision 1.23 sys/compat/ossaudio/ossaudio.c: revision 1.84 sys/compat/sys/time_types.h: revision 1.6 sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51 sys/compat/common/ieee80211_20.c: revision 1.7 sys/compat/linux/common/linux_file.c: revision 1.119 sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34 sys/compat/netbsd32/netbsd32_wait.c: revision 1.25 sys/compat/linux32/common/linux32_time.c: revision 1.38 sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33 sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52 sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46 sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36 sys/compat/ultrix/ultrix_ioctl.c: revision 1.39 sys/compat/linux/common/linux_misc.c: revision 1.252 sys/compat/linux/common/linux_hdio.c: revision 1.19 sys/compat/sunos/sunos_ioctl.c: revision 1.71 sys/compat/linux/common/linux_sched.c: revision 1.79 sys/compat/common/kern_info_43.c: revision 1.40 sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20 sys/compat/linux/common/linux_socket.c: revision 1.153 sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60 sys/compat/common/vfs_syscalls_43.c: revision 1.68 sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25 sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9 sys/compat/common/kern_time_50.c: revision 1.37 sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42 sys/compat/linux/common/linux_cdrom.c: revision 1.28 sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43 sys/compat/common/kern_info_09.c: revision 1.22 sys/compat/linux32/common/linux32_resource.c: revision 1.12 sys/compat/linux/common/linux_oldolduname.c: revision 1.67 sys/compat/common/if_media_80.c: revision 1.4 sys/compat/linux/arch/alpha/linux_osf1.c: revision 1.5 sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8 sys/compat/linux32/common/linux32_signal.c: revision 1.21 sys/compat/common/kern_sig_13.c: revision 1.22 sys/compat/sunos32/sunos32_ioctl.c: revision 1.36 sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62 sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23 sys/compat/netbsd32/netbsd32_time.c: revision 1.56 sys/compat/linux/common/linux_signal.c: revision 1.84 sys/compat/netbsd32/netbsd32_signal.c: revision 1.52 sys/compat/sunos32/sunos32_misc.c: revision 1.85 sys/compat/linux/common/linux_time.c: revision 1.40 sys/compat/linux/common/linux_fdio.c: revision 1.14 sys/compat/common/vfs_syscalls_30.c: revision 1.43 sys/compat: Memset zero before copyout. Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry.
2022-08-03Pull up following revision(s), all via patchmartin
(requested by riastradh in ticket #1489): sys/compat/netbsd32/netbsd32_netbsd.c: revision 1.232 sys/compat/netbsd32/netbsd32_socket.c: revision 1.56 sys/compat/netbsd32/netbsd32_conv.h: revision 1.45 sys/compat/netbsd32/netbsd32_fs.c: revision 1.92 sys/compat/netbsd32/netbsd32.h: revision 1.137 The read/write/send/recv system calls return ssize_t because -1 is returned on error. Therefore we must restrict the lengths of any buffers to NETBSD32_SSIZE_MAX with compat32 to avoid garbage return values. Fixes ATF lib/libc/sys/t_write:write_err.
2022-08-03Pull up following revision(s) (requested by riastradh in ticket #1488):martin
sys/altq/altq_hfsc.c: revision 1.29 sys/altq/altq_priq.c: revision 1.27 sys/altq: Memset zero before copyout. Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry.
2022-08-03Pull up following revision(s) (requested by riastradh in ticket #1486):martin
sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.7 compat_netbsd32: Copy out 32-bit version in nfssvc32_nsd_out.
2022-08-03Pull up following revision(s) (requested by riastradh in ticket #1485):martin
sys/dev/pci/if_iwi.c: revision 1.117 sys/dev/raidframe/rf_netbsdkintf.c: revision 1.401 sys/dev/scsipi/ses.c: revision 1.52 sys/dev/isa/mcd.c: revision 1.121 sys/dev: Memset zero before copyout. Just in case of uninitialized padding which would lead to kernel stack disclosure. If the compiler can prove the memset redundant then it can optimize it away; otherwise better safe than sorry. I think the iwi(4), mcd(4), and ses(4) changes actually plug leaks; the raidframe(4) change probably doesn't (but doesn't hurt).
2022-08-01Pull up following revision(s) (requested by rin in ticket #1483):martin
sys/dev/usb/uslsa.c: revision 1.32 PR kern/56946 Baud rate must be in little endian for SLSA_R_SET_BAUDRATE request.
2022-07-27regen for ticket #1482martin
2022-07-27Pull up the following revisions, requested by msaitoh in ticket #1482:martin
sys/dev/pci/pcidevs 1.1422,1.1445-1.1460 via patch sys/arch/x86/pci/amdsmn.c 1.13 Update pcidevs: - Add Intel Alder Lake devices and Intel 600 Series PCH devices. - Add some Intel Xeon Scalable / Skylake-E devices. - Fix AMD F16_HB from 0x1568 to 0x1538. - Add some devices for AMD and improve some descriptions to clarify. - Add VMware AHCI and NVMe. - Update Intel 700 series Ethernet devices. - Add some Broadcom devices. - Add some Broadcom / LSI RAID cards. - Fix typos and whitespace.
2022-07-17Pull up following revision(s) (requested by simonb in ticket #1479):martin
sys/kern/subr_pool.c: revision 1.285 Use 64-bit math to calculate pool sizes. Fixes overflow errors for pools larger than 4GB and gives the correct output for kernel pool pages in "vmstat -s" output.
2022-07-11Pull up the following revisions, requested by msaitoh in ticket #1477:martin
sys/dev/pci/if_wmreg.h 1.122-1.125 sys/dev/pci/if_wmvar.h 1.48 sys/dev/pci/if_wm.c 1.719-1.720, 1.722-1.725, 1.727-1.740 via patch - wm_tick: Add missing splx(s) when not WM_MPSAFE. - Print DMA range info if the system is booting in the verbose mode. - Micro optimization: - Call m_freem(m) only if m0 == NULL. - Call wm_xxeof() only when limit > 0. - Don't set the more flag when there is no packet to process. - No functional changes: - Call txeof first, then rxeof for the consistency. - Remove duplicated break. - Remove stray semicolons from struct declaration. - Fix value return from void function. - Use macros. - Modify comment. - KNF.
2022-06-17Pull up following revision(s) (requested by shm in ticket #1475):martin
sys/miscfs/procfs/procfs_vnops.c: revision 1.229 Add missing permission check
2022-06-16Pull up following revision(s) (requested by skrll in ticket #1474):martin
sys/arch/hppa/hppa/pmap.c: revision 1.120 Re-reading the PA2.0 Cache Move-In rules tells me we do indeed need to purge the translations from the TLBs in pmap_procwr. PR/56867: hppa: intermittent SIGSEGV reports in t_ptrace_wait's stepN and setstepN test cases
2022-06-16Pull up following revision(s) (requested by skrll in ticket #1473):martin
sys/lib/libkern/arch/hppa/milli_extra.S: revision 1.2 Fix a dumb typo/thinko Thanks to Tom Lane for spotting it.
2022-06-14Pull up following revision(s) (requested by skrll in ticket #1472):martin
sys/lib/libkern/arch/hppa/Makefile.inc: revision 1.13 sys/lib/libkern/arch/hppa/milli.S: revision 1.3 sys/lib/libkern/arch/hppa/milli_extra.S: revision 1.1 Don't need $$sh_func_adrs Provide a __canonicalize_funcptr_for_compare which only needs to return the passed value as the kernel doesn't do PLABELS. PR/56878 (hppa: kernel module lua fails to load)
2022-06-10Pull up following revision(s) (requested by skrll in ticket #1468):martin
sys/arch/hppa/hppa/trap.c: revision 1.120 sys/arch/hppa/include/ptrace.h: revision 1.11-1.12 (via patch) Define a PTRACE_ILLEGAL_ASM Match up PTRACE_BREAKPOINT_ASM with PTRACE_BREAKPOINT which is the gdb breakpoint instruction. Only report the SSBREAKPOINT break instruction as SIGTRAP/TRAP_TRACE. All other break instructions will be reported as SIGTRAP/TRAP_BRKPT This fixes a mistake I made back in 2008. PR/56866: hppa: kernel gets confused between actual breakpoints and single-step breakpoints
2022-06-10Pull up following revision(s) (requested by skrll in ticket #1467):martin
sys/arch/hppa/include/pmap.h: revision 1.41 sys/arch/hppa/hppa/pmap.c: revision 1.117 port-hppa/56849: Wacko kernel memory accounting in current/hppa Two fixes: - Don't include direct mapped memory in pmap statistics - Decrement pmap statistics counts in pmap_kremove
2022-06-10Pull up following revision(s) (requested by skrll in ticket #1466):martin
sys/arch/hppa/hppa/trap.c: revision 1.119 Handle 'NA' (non-access) traps for the lpa and probe instructions. The change is inspired by OpenBSD with a bunch of my own, mainly stylistic, changes. Thanks to Tom Lane for the analysis. PR/56118: sporadic app crashes in HPPA -current
2022-06-04Pull up following revision(s) (requested by tsutsui in ticket #1462):martin
sys/arch/atari/atari/stalloc.c: revision 1.17 Restore NULL pointer checks lost in rev 1.16. Fixes PR port-atari/56859, ok'ed mlelstv@, and confirmed on TT030. Should be pulled up to netbsd-9 and netbsd-8.
2022-06-03Pull up following revision(s) (requested by msaitoh in ticket #1460):snj
sys/dev/pci/ixgbe/ixgbe.c: patch Fix previous to re-enable legacy interrupt correctly. It's a part of ixgbe.c rev. 1.273.
2022-06-02Pull up the following revisions, all via patch, requested by msaitohmartin
in ticket #1459: sys/dev/pci/ixgbe/ixgbe.c 1.261,1.265-1.268,1.273,1.275-1.277, 1.312,1.316-1.319 via patch sys/dev/pci/ixgbe/ixgbe.h 1.85 via patch sys/dev/pci/ixgbe/ixgbe_type.h 1.46-1.47 sys/dev/pci/ixgbe/ixgbe_x550.c 1.26 sys/dev/pci/ixgbe/ixv.c 1.182 - Reduce code duplication between ixgbe_msix_admin() and ixgbe_legacy_irq(). - Add missing code which was not in ixgbe_msix_admin() from ixgbe_legacy_irq() and vice versa. - Reorder code. - Disable/enable the OTHER interrupts correctly. - Don't return in the middle of ixgbe_msix_admin() when an flow director reinit failed. NetBSD currently doesn't support flow director, so this is not a real bug. - Print ECC, PHY and temp error log using with ratecheck(). - Correctly re-enable queue interrupt in ixgbe_legacy_irq(). - Correctly enter the recovery mode. - No functional change: - Add some debug printf()s. - Don't use "more" flag for simplify. - Fix typos in comment. - KNF.
2022-05-31Pull up following revision(s) (requested by msaitoh in ticket #1458):martin
sys/dev/pci/ixgbe/ixv.c: revision 1.181 sys/dev/pci/ixgbe/ixgbe.c: revision 1.315 sys/dev/pci/ixgbe/ixgbe.h: revision 1.86 Fix a bug that the legacy interrupt doesn't work when MSI-X allocation failed. Fixes PR kern/56857. Remove unused adapter->msix_mem.
2022-05-30Pull up the following revisions, requested by msaitoh:martin
sys/dev/pci/ixgbe/ixgbe.c 1.270,1.280,1.307-1.311, 1.313-1.314 via patch sys/dev/pci/ixgbe/ix_txrx.c 1.96-1.97 sys/dev/pci/ixgbe/ixv.c 1.158,1.179-1.180 via patch - ixg(4): Print Printed Board Assembly (PBA) number. - ixg(4): Add IFF_RUNNING check in ixgbe_legacy_irq() again. this might fix small race but it's not so dangerous. - Add value check for {tx,rx}_process_limit sysctl to avoid setting wrong value. - Add missing num_tx_desc sysctl. - No functional change: - KNF a bit. - Simplify setting of EIAC register. - Move the definition of eicr_mask variable. - Enclose flow director stuff in ixgbe_intr_admin_common() with IXGBE_FIR which is not defined in NetBSD. - Modify comment for consistency. - Use cached rx_copy_len in ixgbe_rxeof().
2022-05-19Pull up following revision(s) (requested by buhrow in ticket #1456):martin
sys/dev/pci/if_bge.c: revision 1.353 For chips which contain an ASF/IPMI firmware, instruct the chip to shut the host ASF firmware down when attaching the device so the IPMI BMC can use the same physical port even when NetBSD doesn't have a network configuration on the device. By contrast, when the device gets a network configuration assigned to it and bge_init() is called, the host ASF firmware is brought up so both NetBSD and the IPMI BMc can use the same physical port. This now matches FreeBSD behavior, as well as behavior from NetBSD-5.2. Tested on a Sunfire X2200-M2 system with the following chip: bge1 at pci7 dev 4 function 1: Broadcom BCM5715 Gigabit Ethernet bge1: interrupting at ioapic0 pin 11 bge1: HW config 000000d4, 00000014, 00000000, 00000000 00000000 bge1: ASIC BCM5715 A3 (0x9003), Ethernet address 00:1e:68:XX:XX:XX bge1: setting short Tx thresholds brgphy1 at bge1 phy 1: BCM5714 1000BASE-T/X media interface, rev. 0 brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
2022-05-17Pull up following revision(s) via patch (requested by msaitoh in ticket #1454):bouyer
sys/dev/ic/mfi.c: revisions 1.63, 1.66-77 sys/dev/ic/mfireg.h: revisions 1.11-1.20 via patch sys/dev/pci/mfi_pci.c: revision 1.21 sys/dev/pci/mfii.c: revisions 1.6-1.7, 1.10-1.15 share/man/man4/mfi.4: revision 1.13 Improve mfi(4) and mfii(4): - Set 'ld_sync' to NULL as part of 'again', to prevent use-after-free. - Add some code for the SKINNY variant to make Dell PERC H310 work. - Print the percentage correctly when the background initialization is running. - Clear mailbox to not to pass garbage data. - Use union mbox instead of unit8_t xxx[] to avoid unaligned access. - Set stripe size for BIOCVOL to show the size correctly in bioctl. - Add support for iBBU-09 to show BBU voltage, current and temperature correctly. - Fix typos in comments. - Sprinkle static. - Improve debug printf()s. - KNF. Remove extra semicolon. Whitespace fixes.
2022-05-15Pull up following revision(s) (requested by tsutsui in ticket #1450):martin
sys/arch/luna68k/conf/INSTALL: revision 1.32 sys/arch/luna68k/conf/GENERIC: revision 1.131 Use "options WS_KERNEL_FG=WSCOL_GREEN" as most ports with color support. For demonstration on nono that supports 4bpp framebuffer recently.
2022-05-14Pull up following revision(s) (requested by skrll in ticket #1448):martin
sys/arch/hppa/hppa/idle_machdep.c: revision 1.4 sys/arch/hppa/hppa/machdep.c: revision 1.17 Add some special NOPs to help qemu. thanks to Helge Deller for the heads-up.
2022-05-14Pull up following revision(s) (requested by skrll in ticket #1446):martin
sys/arch/hppa/hppa/hppa_machdep.c: revision 1.33 port-hppa/56830: RAS support is slightly incorrect on hppa When searching for RAS use tf_iioq_head without the HPPA_PC_PRIV_MASK bits set.
2022-05-13Pull up following revision(s) (requested by bouyer in ticket #1445):martin
sys/dev/pci/ixgbe/ix_txrx.c: revision 1.98 bus_dmamem_unmap() before bus_dmamem_free(), otherwise we may give back meomry which is still (and will stay) mapped. Fixes one instance of "panic: HYPERVISOR_mmu_update failed" on Xen. There may be others.
2022-05-13Pull up following revision(s) (requested by bouyer in ticket #1444):martin
sys/arch/xen/x86/x86_xpmap.c: revision 1.91 In bootstrap, after switching to a new page table make sure that now-unused memory is unmapped.
2022-05-13Pull up following revision(s) (requested by bouyer in ticket #1443):martin
sys/arch/x86/x86/pmap.c: revision 1.414 return after calling xen_pagezero(), don't fall back to the legacy pmap_zero_page() method. This should only affect performances.
2022-05-04Pull up following revision(s) (requested by gavan in ticket #1441):martin
sys/nfs/nfs_vfsops.c: revision 1.243 Don't pretend that files are limited to 1TB on NFSv3.