Fix occasional signify regression test fail

2020-04-02 Thread Christian Ludwig
The signify regression test creates a tar archive from the test's directory. Without a symlink to the obj directory, the output tarball is part of the input file list. This makes tar complain that archive.tgz was modified during copy to archive. Avoid including the output archive by reducing the i

xhci early enumeration

2021-05-19 Thread Christian Ludwig
The usb(4) driver allows to enumerate the bus early during boot by setting its driver flags to 0x1 in UKC. This mechanism can enable a USB console keyboard early during autoconf(9), which can come in handy at times. This needs USB polling mode to work, which is a bit broken. Here is my attempt to f

ure: Remove unused ure_stop_task

2021-08-12 Thread Christian Ludwig
Hi, The ure_stop_task is not scheduled anywhere. In fact, it has never been used. Remove it. So long, - Christian --- sys/dev/usb/if_ure.c| 3 --- sys/dev/usb/if_urereg.h | 1 - 2 files changed, 4 deletions(-) diff --git a/sys/dev/usb/if_ure.c b/sys/dev/usb/if_ure.c index ea73db00954..0

Unplugging ure(4) during attach

2021-08-18 Thread Christian Ludwig
Hi, when plugging and unplugging an ure(4) adapter continuously, I came across the following error with URE_DEBUG set: ure0 at uhub0 port 21 configuration 1 interface 0 "Realtek USB 10/100/1000 LAN" rev 3.00/30.00 addr 4 ure0: RTL8153 (0x5c10)ure_ctl: error 15 ure_ctl: error 15 ure_ctl: erro

Use proper TAILQ functions for slpque

2018-10-15 Thread Christian Ludwig
Do not roll a custom for-loop, use the appropriate TAILQ function. Also use unsleep() instead of coding the same functionality here again. There is only one place in the system that resets p_wchan now. And the unsleep-part has the same pattern like in endtsleep(). --- sys/kern/kern_synch.c | 12 +

[v2] Use TAILQ functions for slpque

2018-10-30 Thread Christian Ludwig
Do not roll our own for-loop, use the proper TAILQ function. Also use unsleep() instead of unrolling the same functionality here again. Now there is only one place that resets p_wchan. And the unsleep-part has the same pattern like in endtsleep(). --- v2: - TAILQ_FOREACH -> TAILQ_FOREACH_SAFE, s

Nuke db_is_active in favor of db_active

2019-06-26 Thread Christian Ludwig
We have two variables with the same meaning. db_active is used in way more places, so let's nuke db_is_active. Now that db_active is in for a while already and not guarded by DDB anymore, take the opportunity to clean up some places that use it. --- sys/arch/macppc/dev/zs.c | 8 ++

uaq: Lower IPL again in error case

2022-06-23 Thread Christian Ludwig
The uaq initialization runs on IPL_NET. Fix the one error case that misses to lower the IPL again. --- sys/dev/usb/if_uaq.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/usb/if_uaq.c b/sys/dev/usb/if_uaq.c index d7b9d6daa9a..fa47344bc43 100644 --- a/sys/dev/usb/if_uaq.c +++ b/sys/dev

igc: Add missing return in error path

2022-06-23 Thread Christian Ludwig
There is a return missing in one of the error paths of igc_init(). --- sys/dev/pci/if_igc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/pci/if_igc.c b/sys/dev/pci/if_igc.c index 734bc8b0275..7f5fcb98b99 100644 --- a/sys/dev/pci/if_igc.c +++ b/sys/dev/pci/if_igc.c @@ -910,6 +910,7 @

mcx: Lower IPL again in error case

2022-06-23 Thread Christian Ludwig
The mcx ioctl callback runs on IPL_NET. Fix the error cases that return early, without lowering the IPL again. --- sys/dev/pci/if_mcx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/pci/if_mcx.c b/sys/dev/pci/if_mcx.c index 99930d7a2fe..b9baac3989a 100644 --- a/sy

urtwn: Lower IPL again in error case

2022-06-23 Thread Christian Ludwig
The packet receive handler runs on IPL_NET in large parts. Fix the error case that misses to lower the IPL again when decoding CCMP packets fails. --- sys/dev/usb/if_urtwn.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/usb/if_urtwn.c b/sys/dev/usb/if_urtwn.c index 6454f8224df..3e223

Explain 'S' short-hand in malloc.conf

2018-05-03 Thread Christian Ludwig
The 'S' flag in malloc.conf(5) is a short-hand for several other flags. Explain which flags it sets exactly. --- share/man/man5/malloc.conf.5 | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/share/man/man5/malloc.conf.5 b/share/man/man5/malloc.conf.5 index 556e9934973.

Make witness(4) ready for UP systems

2018-06-13 Thread Christian Ludwig
It makes sense to have witness(4) on uniprocessor systems, too. Lock-order violations are not an MP-only thing. Since UP kernels do not have the kernel lock, wrap the code in appropriate ifdefs. --- sys/kern/subr_witness.c | 28 ++-- 1 file changed, 22 insertions(+), 6 dele

pci/i386: Fix typo

2018-12-13 Thread Christian Ludwig
Extents code has its own set of flags and does not use malloc's. The current code passes in EX_FAST by accident, which does no harm. That's probably why nobody stumbled upon it, yet. --- sys/arch/i386/pci/pci_machdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arch/i3

Re: pci/i386: Fix typo

2019-01-07 Thread Christian Ludwig
On Thursday, 13. December 2018, 19:52:13 Mark Kettenis wrote: > > From: Christian Ludwig > > Cc: Christian Ludwig > > Date: Thu, 13 Dec 2018 17:44:47 +0100 > > > > Extents code has its own set of flags and does not use malloc's. > > The current code pas

Stop watchdog timer during DDB session

2016-11-02 Thread Christian Ludwig
Deliberately breaking into DDB, e.g. via serial console BREAK, can lead to an abrupt end of the debugging session once the hardware watchdog reboots the machine. This is because all CPUs are IPL_HIGH. None of them tickles the watchdog anymore. The same is true on panic, when the system enters DDB.

Re: Stop watchdog timer during DDB session

2016-12-07 Thread Christian Ludwig
> Deliberately breaking into DDB, e.g. via serial console BREAK, can lead > to an abrupt end of the debugging session once the hardware watchdog > reboots the machine. This is because all CPUs are IPL_HIGH. None of them > tickles the watchdog anymore. > > The same is true on panic, when the system

umass: Enable KASSERTs

2017-03-31 Thread Christian Ludwig
Since the dawn of umass(4) in OpenBSD, KASSERTs have been disabled in the driver. These were ported from NetBSD, but never enabled. I think it is a good idea to have them to spot potential coding mistakes. While there, convert some KASSERTs to CTASSERTs that can be catched during compile-time. Thi

vmm: Relock the kernel on ioctl error

2023-01-13 Thread Christian Ludwig
The vmm(4) ioctl handler unlocks the kernel, but misses to relock it in case of an error. --- sys/arch/amd64/amd64/vmm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/arch/amd64/amd64/vmm.c b/sys/arch/amd64/amd64/vmm.c index 13cf7643cb4..0ddea3ead7e 100644 --- a/sys

Make sys/user.h safe for multiple includes

2010-12-20 Thread Christian Ludwig
Hi, I was playing around in the arch code of OpenBSD/i386 lately, and again and again found that sys/user.h was not safe against multiple inclusions from the same source file. Is that for a reason? One of my header files needs to include sys/user.h, which creates a huge mess. The following patch