Link [ NetBSD | NetBSD OpenGrok source search | PR fulltext-search | Summary of daily snapshot builds | history of daily build result | pkgsrc commit viewer ]


   
        usage: [branch:branch] [user:user] [path@revision] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN sys/arch/arm, if_wm.c@1.234 )




switch to index mode

recent branches: MAIN (1h)  netbsd-8 (5d)  netbsd-10 (5d)  netbsd-9 (11d)  thorpej-ifq (175d)  thorpej-altq-separation (178d) 

2024-05-10 10:38:11 UTC Now

2020-05-22 23:57:13 UTC MAIN commitmail json YAML

update-sets:
- sort entries
- add NetBSD RCSID
- add "DO NOT EDIT" comment

(rin)

2020-05-22 23:19:53 UTC MAIN commitmail json YAML

2020-05-22 22:59:14 UTC MAIN commitmail json YAML

Avoid duplicate "code_lines" symbols, which fails to link when building
tools with gcc 10.1.1 / ld 2.34-2.fc32.

(jmcneill)

2020-05-22 20:27:16 UTC MAIN commitmail json YAML

This driver sleeps during iwm_media_change(), and thus requires an
adaptive mutex for the media lock.

(thorpej)

2020-05-22 19:46:29 UTC MAIN commitmail json YAML

Remove the ubc_direct hack.

(ad)

2020-05-22 19:29:26 UTC MAIN commitmail json YAML

fix to do backtrace properly for running LWPs and cpu_lwp_fork().
when dump of pcb_tf, only the switchframe part is now displayed instead of the whole trapframe.

(ryo)

2020-05-22 19:02:59 UTC MAIN commitmail json YAML

uao_get(): handle PGO_OVERWRITE.

(ad)

2020-05-22 17:44:05 UTC MAIN commitmail json YAML

Set frame = NULL in XENPV whether DIAGNOSTIC or not.

For Xen PV, the interrupt logic stores the relevant information in
the CPU's struct cpu_info, and CLKF_USERMODE and CLKF_PC don't use
the frame argument at all.  (For Xen PVH, we behave like normal x86
and use the frame as passed.)

DIAGNOSTIC shouldn't change the data flows that affect non-DIAGNOSTIC
logic, so let's just unconditionally set frame = NULL for XENPV.  If
this makes a difference, that's a bug -- and it's a bug that should
not be concealed by enabling DIAGNOSTIC.

ok bouyer

(riastradh)

2020-05-22 16:17:42 UTC MAIN commitmail json YAML

remove NO_PCI_MSI_MSIX option, MSI is supported for XenPV Dom0

(jdolecek)

2020-05-22 15:55:51 UTC MAIN commitmail json YAML

2020-05-22 14:54:30 UTC MAIN commitmail json YAML

fix reversed test.

(christos)

2020-05-22 14:09:54 UTC MAIN commitmail json YAML

Only build GENERIC kernel for armv7 releases.

(jmcneill)

2020-05-22 11:54:05 UTC MAIN commitmail json YAML

DRY code in uvm_swap_io() for the write loop

(jdolecek)

2020-05-22 11:25:06 UTC MAIN commitmail json YAML

Support get_framerate and provide a stub for set_framerate

(jmcneill)

2020-05-22 11:24:31 UTC MAIN commitmail json YAML

Support set/get_framerate

(jmcneill)

2020-05-22 11:23:52 UTC MAIN commitmail json YAML

Support VIDIOC_G_PARM/VIDIOC_S_PARM

(jmcneill)

2020-05-22 04:46:26 UTC MAIN commitmail json YAML

instead of reading memory directly, db_read_bytes() is used to avoid faults in ddb.

(ryo)

2020-05-22 01:28:45 UTC MAIN commitmail json YAML

Mark usage as dead

(joerg)

2020-05-22 01:28:00 UTC MAIN commitmail json YAML

Don't return from dead functions.

(joerg)

2020-05-21 22:58:46 UTC MAIN commitmail json YAML

- remove i2cbus etc. on drivers that don't use iic
- for private iic buses pull in only what we need and skip the bus attachment

(macallan)

2020-05-21 22:55:48 UTC MAIN commitmail json YAML

2020-05-21 22:01:42 UTC MAIN commitmail json YAML

2020-05-21 21:12:31 UTC MAIN commitmail json YAML

- Recalibrate the APIC timer using the TSC, once the TSC has in turn been
  recalibrated using the HPET.  This gets the clock interrupt firing more
  closely to HZ.

- Undo change with recent Xen merge and go back to starting the clocks in
  initclocks() on the boot CPU, and in cpu_hatch() on secondary CPUs.

- On reflection don't use HPET delay any more, it works very well but means
  going over the bus.  It's enough to use HPET to calibrate the TSC and
  APIC.

Tested on amd64 native, xen and xen PVH.

(ad)

2020-05-21 20:43:23 UTC MAIN commitmail json YAML

2020-05-21 18:44:19 UTC MAIN commitmail json YAML

Do the chmod last so that the kernels get consistent permissions for MKREPRO
Reported by wiz@.

(christos)

2020-05-21 16:50:25 UTC MAIN commitmail json YAML

Let's not waste time decrypting garbage, shall we?

Skip to the end if the transfer failed.

(riastradh)

2020-05-21 15:28:35 UTC MAIN commitmail json YAML

xhci(4): only usbd_xfer_trycomplete() if certain to usb_transfer_complete()

Previously we'd cancel the timeout after the data stage of control xfers, and
then hope that the status stage would eventually interrupt.

(jakllsch)

2020-05-21 13:47:11 UTC MAIN commitmail json YAML

xhci(4): dynamically allocate xhci_xfer->xx_trb buffer

Allocation size remains the same for now.

(jakllsch)

2020-05-21 13:23:38 UTC MAIN commitmail json YAML

xhci(4): Check for overflows with KASSERT when putting TRBs on xfer TRB buffer.

Also more-correctly check for overruns when putting TRBs on a ring.

(jakllsch)

2020-05-21 12:46:45 UTC MAIN commitmail json YAML

xhci(4): Be more concise in putting the setup request in TRB immediate data.

Or: memcpy(),htole64() is replaced by functionally-identical le64dec().

(jakllsch)

2020-05-21 10:53:23 UTC netbsd-9 commitmail json YAML

2020-05-21 10:52:58 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by maxv in ticket #919):

sys/dev/nvmm/x86/nvmm_x86.c: revision 1.9
sys/dev/nvmm/x86/nvmm_x86_svm.c: revision 1.60
sys/dev/nvmm/x86/nvmm_x86_svm.c: revision 1.61
sys/dev/nvmm/x86/nvmm_x86_vmx.c: revision 1.56
sys/dev/nvmm/x86/nvmm_x86_vmx.c: revision 1.57
sys/dev/nvmm/x86/nvmm_x86_vmx.c: revision 1.58
sys/dev/nvmm/nvmm.c: revision 1.29

Improve the CPUID emulation of basic leaves:
- Hide DCA and PQM, they cannot be used in guests.
- On Intel, explicitly handle each basic leaf until 0x16.
- On AMD, explicitly handle each basic leaf until 0x0D.

Respect the convention for the hypervisor information: return the highest
hypervisor leaf in 0x40000000.EAX.

Improve the CPUID emulation on nvmm-intel: limit the highest basic and
hypervisor leaves.

Complete rev1.26: reset nvmm_impl to NULL in nvmm_fini().

(martin)

2020-05-21 09:36:24 UTC MAIN commitmail json YAML

update Xen ldscript to add kASan .ctors section, so that Xen kernel with
enabled KASAN option at least compiles; no promises on it actually working
though

(jdolecek)

2020-05-21 09:24:17 UTC MAIN commitmail json YAML

in wdctimeout(), do not schedule another timeout handler, as that only
creates race with eventual xfer resubmission - the c_intr()
method does all the necessary handling, including re-scheduling of the
timeout handler if appropriate

also make sure to clear ATACH_IRQ_WAIT before calling c_intr(), same
as real interrupt does; this is important so that eventual spurious timeout
would not interfere with xfer handling in the atabus thread

fixes another race in the atabus thread found by KASAN, reported by Paul Ripke

(jdolecek)

2020-05-21 09:11:33 UTC MAIN commitmail json YAML

stop timeout handler while scheduling another part of partial I/O,
to avoid race between the timeout and I/O submission; the I/O
submission can sleep with xfer while waiting for the controller to
be ready once it gets to thread context, and timeout might cause
the xfer to be freed, leading to crashes due to use-after-free

this fixes another type of crashes with slow devices under QEMU reported
by Paul Ripke - thanks a lot with extensive debugging help

(jdolecek)

2020-05-21 08:43:58 UTC MAIN commitmail json YAML

2020-05-21 08:20:25 UTC MAIN commitmail json YAML

Mmh, should check cpuid_level first.

(maxv)

2020-05-21 07:43:23 UTC MAIN commitmail json YAML

Complete rev1.26: reset nvmm_impl to NULL in nvmm_fini().

(maxv)

2020-05-21 07:36:16 UTC MAIN commitmail json YAML

Improve the CPUID emulation on nvmm-intel: limit the highest basic and
hypervisor leaves.

(maxv)

2020-05-21 05:58:00 UTC MAIN commitmail json YAML

Increase the number of ports to 8.

(maxv)

2020-05-21 05:56:31 UTC MAIN commitmail json YAML

Teach libc's compat ldexp stub to raise fp exceptions.

This ldexp stub will shadow the ldexp weak alias for scalbn in libm,
which is unfortunate but hard to fix properly without chasing the
mythical libc bump beast.  With the change here, we should raise all
the same exceptions that libm's scalbn does -- overflow, underflow,
inexact-result, and (for signalling NaN only) invalid-operation.
This in turn should correct the missing overflow/underflow exceptions
of our portable C fma, and perhaps other routines.

XXX pullup

(riastradh)

2020-05-21 05:41:40 UTC MAIN commitmail json YAML

Fix a problem that setcontext(2) sometimes fail on ARMv8.5-BTI cpu.

fixed to always get 0 for SPSR.BTYPE with getcontext(2).
a non-zero SPSR.BTYPE cannot be set with setcontext(2).

(ryo)

2020-05-21 05:04:13 UTC MAIN commitmail json YAML

2020-05-21 00:39:04 UTC MAIN commitmail json YAML

In sleepq_insert(), in the SOBJ_SLEEPQ_SORTED case, if there are existing
waiters of lower priority, then the new LWP will be inserted in FIFO order
with respect to other LWPs of the same priority.  However, if all other
LWPs are of equal priority to the LWP being inserted, the new LWP would
be inserted in LIFO order.

Fix this to always insert in FIFO order with respect to equal priority LWPs.

OK ad@.

(thorpej)

2020-05-20 21:05:21 UTC MAIN commitmail json YAML

sync with reality

(maxv)

2020-05-20 20:59:31 UTC MAIN commitmail json YAML

future-proof-ness

(maxv)

2020-05-20 20:47:18 UTC MAIN commitmail json YAML

zfs_netbsd_getpages:

- implement the PGO_LOCKED case
- handle npages > 1 for PGO_SYNCIO

(ad)

2020-05-20 20:19:02 UTC MAIN commitmail json YAML

The boot CPU suffers a cache miss during TSC sync, before RDTSC.  Make the
secondary CPU take a miss as well to try and delay it an equal amount.

(ad)

2020-05-20 20:18:38 UTC MAIN commitmail json YAML

use device_private() instead of casting self as it doesn't work here.
Bump rcs tag which was missed in r1.9

(sevan)

2020-05-20 18:52:48 UTC MAIN commitmail json YAML

2020-05-20 18:39:25 UTC MAIN commitmail json YAML

Deal with KMSAN fussiness.  Pointed out by msaitoh@.

(ad)

2020-05-20 18:37:50 UTC MAIN commitmail json YAML

uvm_loanuobjpages():

- there are no pages to unbusy in the error case
- always clear the caller's page array

(ad)

2020-05-20 17:48:34 UTC MAIN commitmail json YAML

Make swap encryption MP-safe.

Not entirely sure the rest of the swap system is MP-safe, but let's
not make it worse!

XXX Why is swap_syscall_lock an rwlock?  We don't seem to take the
reader lock ever.

(riastradh)

2020-05-20 17:32:28 UTC MAIN commitmail json YAML

Use more-semantically-correct types in xhci allocx/freex functions.

(jakllsch)

2020-05-20 17:06:15 UTC MAIN commitmail json YAML

Fix EPERM vs EACCES on chtimes (thanks @hannken)

(christos)

2020-05-20 17:04:58 UTC MAIN commitmail json YAML

fix accessx confusion (thanks hannken@)

(christos)

2020-05-20 15:43:29 UTC MAIN commitmail json YAML

Switch sparc64 to binutils 2.34

(martin)

2020-05-20 13:16:30 UTC MAIN commitmail json YAML

remove accmode_t typedef (not needed, breaks llvm) from maxv@

(christos)

2020-05-20 12:47:36 UTC MAIN commitmail json YAML

Suppress GCC warnings and fix a UVMHIST_LOG() statement.

Kernels ALL/amd64 and ALL/i386 and port sparc64 build again.

(hannken)

2020-05-20 09:18:25 UTC MAIN commitmail json YAML

2020-05-20 08:15:26 UTC MAIN commitmail json YAML

radeonfb doesn't attach an iic*, so pull in iic, not i2cbus

(macallan)

2020-05-20 05:24:35 UTC MAIN commitmail json YAML

Modified debug message.

(hkenken)

2020-05-20 05:10:42 UTC MAIN commitmail json YAML

2020-05-20 02:23:35 UTC MAIN commitmail json YAML

Temporary back to lapic_initclocks() from lapci_reset() to avoid compile
error.

(msaitoh)

2020-05-19 22:22:15 UTC MAIN commitmail json YAML

PR kern/32166: pgo_get protocol is ambiguous
Also problems with tmpfs+nfs noted by hannken@.

Don't pass PGO_ALLPAGES to pgo_get, and ignore PGO_DONTCARE in the
!PGO_LOCKED case.  In uao_get() have uvm_pagealloc() take care of page
zeroing and release busy pages on error.

(ad)

2020-05-19 21:57:25 UTC MAIN commitmail json YAML

Remove duplicate def of tsc_get_timecount().

(ad)

2020-05-19 21:56:52 UTC MAIN commitmail json YAML

Ignore x86_delay, for xen

(ad)

2020-05-19 21:54:10 UTC MAIN commitmail json YAML

xen needs the TSC funcs too

(ad)

2020-05-19 21:52:04 UTC MAIN commitmail json YAML

uvm_loanuobjpages():

- vmobjlock is shared between tmpfs vnodes and UAOs now
- split into two routines, to simplify
- fix error recovery

(ad)

2020-05-19 21:45:57 UTC MAIN commitmail json YAML

Don't try to do readahead on tmpfs.

(ad)

2020-05-19 21:45:35 UTC MAIN commitmail json YAML

Drop & re-acquire vmobjlock less often.

(ad)

2020-05-19 21:43:36 UTC MAIN commitmail json YAML

If the the TSC timecounter is good then use the TSC for DELAY() too.

(ad)

2020-05-19 21:40:55 UTC MAIN commitmail json YAML

Make cpu_counter(), cpu_counter32() and tsc_get_timecount() into a single
preemption-safe routine.

(ad)

2020-05-19 21:39:11 UTC MAIN commitmail json YAML

lapic_delay() disable preemption since the state is very CPU dependent.

(ad)

2020-05-19 21:14:20 UTC MAIN commitmail json YAML

2020-05-19 20:46:39 UTC MAIN commitmail json YAML

UVM_PAGE_TRKOWN: print the LID too

(ad)

2020-05-19 20:00:03 UTC MAIN commitmail json YAML

Use fixed date in man page. For MKREPRO build.

(wiz)

2020-05-19 19:15:06 UTC MAIN commitmail json YAML

2020-05-19 19:09:43 UTC MAIN commitmail json YAML

ohci(4): always use usb_syncmem() when reading from HCCA

(jakllsch)

2020-05-19 18:57:26 UTC MAIN commitmail json YAML

ohci_device_isoc_done(): use ux_length rather than ux_bufsize

For consistency.  Nick may have missed this in previous because I'd
unexpectedly adjusted it.

(jakllsch)

2020-05-19 18:32:35 UTC MAIN commitmail json YAML

Use usbd_destroy_xfer() in usbd_request_async() instead of usbd_free_xfer().

The only user of usbd_request_async() & co. does a usbd_create_xfer(), so use
the correct deconstructor.

(jakllsch)

2020-05-19 18:18:33 UTC MAIN commitmail json YAML

Remove definition of unused struct xhci_endpoint.

(jakllsch)

2020-05-19 17:40:20 UTC netbsd-9 commitmail json YAML

2020-05-19 17:39:04 UTC netbsd-9 commitmail json YAML

Apply patch, requested by simonb in ticket #918:

the updated octeon_rnm(4) driver fails a bogus randomness
test in the netbsd-9 rnd(9) driver for RND_TYPE_RNG type devices so
uses the RND_TYPE_UNKNOWN type.  This approach is used by other drivers
on the netbsd-9 branch.

(martin)

2020-05-19 17:35:51 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by simonb in ticket #918):

sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.3
sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.4
sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.5
sys/arch/mips/cavium/dev/octeon_rnm.c: revision 1.6 (+ patch)
sys/arch/mips/cavium/dev/octeon_rnmreg.h: revision 1.2
sys/arch/mips/cavium/dev/octeon_rnmreg.h: revision 1.3
sys/arch/mips/cavium/octeonvar.h: revision 1.7

Add a few more bits.
XXX convert to __BITS.
--
If bus_space_map fails, just don't attach the driver instead of panicing.
Check RNG built in self test, don't attach if that fails too.
--
Oceton RNG/RNM driver modernisation to fit new entropy world order by
riastradh@, with some tweaks to get working in RNG mode.
XXX TODO: work out how to get raw entropy mode working.
--
Rework octeon_rnm(4) random number generator driver.
- Do a little on-line self-test for fun.
- Draw raw samples from the ring oscillators.
- Draw substantially more samples:
  =3D> early RO samples seem to have considerably lower entropy
  =3D> consecutive RO samples are not independent
- Make sure to use rnd_add_data_sync in the callback.
  =3D> not technically needed in HEAD, but would be needed for pullup
--
Adjust entropy estimate for the Octeon.
We are hedging in serial and in parallel, and more conservative than
the Linux driver from Cavium seems to be, so although I don't know
exactly what the thermal jitter of the device is, this seems like a
reasonable compromise.

(martin)

2020-05-19 16:24:38 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by hannken in ticket #917):

sys/kern/vnode_if.src: revision 1.80
sys/kern/vnode_if.c: revision 1.112

VOP_STRATEGY() may still deadlock with devices.

Change FSTRANS from LAZY to NO.

Regen.

(martin)

2020-05-19 11:40:46 UTC MAIN commitmail json YAML

postfix-3.5.2 out.

(wiz)

2020-05-19 11:07:10 UTC MAIN commitmail json YAML

2020-05-19 09:26:44 UTC MAIN commitmail json YAML

2020-05-19 09:17:45 UTC MAIN commitmail json YAML

Fix comment; MEMORY_DISK_SIZE --> MEMORY_DISK_ROOT_SIZE

(rin)

2020-05-19 09:14:52 UTC MAIN commitmail json YAML

Oops, fix comment in the previous for accuracy.

(rin)

2020-05-19 09:02:48 UTC MAIN commitmail json YAML

2020-05-19 08:59:36 UTC MAIN commitmail json YAML

Fix dtblist; our echo(1) does not interpret \t.

(rin)

2020-05-19 08:43:30 UTC MAIN commitmail json YAML

Round amiga_clk_interval to the nearest integer, in order to emulate
100 Hz clock better by that running at PAL frequency (709379 Hz).

No functional changes for systems running at NTSC freq (715909 Hz).

(rin)

2020-05-19 08:21:30 UTC MAIN commitmail json YAML

in wdctimeout() ignore timeout if not actually waiting for IRQ, to avoid
processing xfer which is not quite setup

in wdcintr() actually write the error message on invocation when
not waiting for IRQ even without ATADEBUG option, as usually that
is a driver bug; might revisit this if this ends up too noisy for
PCI-IDE which seems to ignore WDCTL_IDS and hence trigger irq even
for polled commands

(jdolecek)

2020-05-19 08:08:51 UTC MAIN commitmail json YAML

only start the timeout machinery once the I/O is completely setup
and successful, particularly after PIO write is finished

fixes crashes in case the setup is so slow that timeout is triggered
e.g. while still waiting in wdc_wait_for_unbusy() or shortly after, without
drive actually having chance to complete the I/O, as seen in some
configuration under QEMU by Paul Ripke

(jdolecek)

2020-05-19 08:07:44 UTC MAIN commitmail json YAML

Try to fix fallout from addition of dtb.tgz; MKDTB was added to both
_MKVARS.yes and _MKVARS.no. Remove it from the former.

(rin)

2020-05-19 06:26:37 UTC MAIN commitmail json YAML

2020-05-19 04:04:50 UTC MAIN commitmail json YAML

Note rockchip RNG.

(riastradh)

2020-05-19 00:56:25 UTC MAIN commitmail json YAML

Typo fixes from FreeBSD via Ed Maste

(christos)

2020-05-18 21:28:10 UTC MAIN commitmail json YAML

2020-05-18 21:19:36 UTC MAIN commitmail json YAML

2020-05-18 20:57:06 UTC MAIN commitmail json YAML

Add Margaret Hamilton, Florian Schneider, Ron Hardy, Little Richard

(sevan)

2020-05-18 20:28:44 UTC MAIN commitmail json YAML

BMP, DGEMM, DIB, GEMM, WMF

(sevan)

2020-05-18 20:19:08 UTC MAIN commitmail json YAML

2020-05-18 19:55:42 UTC MAIN commitmail json YAML

remove debugging, it is just clutter.

(christos)

2020-05-18 19:42:16 UTC MAIN commitmail json YAML

Fix EPERM vs EACCES return.

(christos)

2020-05-18 19:07:35 UTC netbsd-9 commitmail json YAML

2020-05-18 19:05:32 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by maxv in ticket #916):

sys/kern/kern_time.c: revision 1.204

Fix uninitialized memory access. Found by KMSAN.

(martin)

2020-05-18 18:59:40 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by maxv in ticket #915):

sys/netinet/igmp.c: revision 1.70

igmp_sendpkt() expects ip_output() to set 'imo.imo_multicast_ttl' into
'ip->ip_ttl'; but ip_output() won't if the target is not a multicast
address, meaning that the uninitialized 'ip->ip_ttl' byte gets sent to
the network. This leaks one byte of kernel heap.

Fix this by filling 'ip->ip_ttl' with a TTL of one.

Found by KMSAN.

(martin)

2020-05-18 18:57:32 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by nia in ticket #914):

sys/kern/subr_cprng.c: revision 1.37 (via patch, adapted)

Make kern.arandom truncate the output instead of failing with ETOOBIG
when the requested data exceeds 256 bytes in size. The actual size of
the returned data is output to oldlenp.

This matches FreeBSD's behaviour and seems to be more in line with
what software in the wild expects.

"sounds reasonble" - Riastradh

(martin)

2020-05-18 18:54:30 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by riastradh in ticket #913):

sys/arch/arm/dts/rk3399-crypto.dtsi: revision 1.1
sys/arch/arm/rockchip/rk_v1crypto.c: revision 1.1
sys/arch/arm/rockchip/rk_v1crypto.c: revision 1.2 (plus patch)
sys/arch/arm/rockchip/rk_v1crypto.h: revision 1.1
sys/arch/arm/dts/rk3399-pinebook-pro.dts: revision 1.3
sys/arch/arm/rockchip/rk3399_cru.c: revision 1.20
sys/arch/evbarm/conf/GENERIC64: revision 1.158
sys/arch/arm/dts/rk3399-rockpro64.dts: revision 1.11
sys/arch/arm/rockchip/files.rockchip: revision 1.24

Rockchip crypto engine RNG driver.

As found on the rk3288 and rk3399.  This driver only supports the
TRNG, not the rest of the crypto engine, although it uses the AES unit
to do a self-test at attach time to verify that the engine works.
There seem to be two versions of the Rockchip crypto engine, v1 and
v2; this one is for v1.  Can't name a driver `rkcryptov1' so we'll
clumsily call it `rkv1crypto' instead to leave room for `rkv2crypto'
later on.

The crypto binding derived from the Rockchip BSP Linux kernel, in the
location it appears on the rk3399, is in rk3399-crypto.dtsi, since
there doesn't seem to be a better place to put it at the moment among
this twisty maze of inclusions, all different.

Use rnd_add_data_sync from the callback.

(Doesn't make a difference in HEAD but this is the stated API
contract and it matters if we want to pull this up.)

Prime the pool on attach.

(martin)

2020-05-18 18:45:40 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by riastradh in ticket #912):

sys/arch/arm/dts/sun50i-a64.dtsi: revision 1.14
sys/arch/evbarm/conf/GENERIC64: revision 1.116
sys/arch/evbarm/conf/GENERIC64: revision 1.131
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.21
sys/arch/arm/sunxi/sun50i_a64_ccu.c: revision 1.22
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.10
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.11
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.12
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.1
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.2
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.3
sys/arch/arm/sunxi/sun8i_crypto.h: revision 1.1
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.4
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.5
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.6
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.7
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.8
sys/arch/arm/sunxi/sun8i_crypto.c: revision 1.9
sys/arch/arm/sunxi/files.sunxi: revision 1.67

Add crypto engine clock

Add SUNXI_CCU_NM_ROUND_DOWN to CE clock, fix pll parents to use 2X outputs

Add crypto engine block.

Draft driver for Allwinner Crypto Engine.
Found on, e.g., the Pinebook.

Only used for TRNG at the moment, but hooking it up to opencrypto(9)
shouldn't be too hard if anyone still cares about that these days.

The distribution of the alleged TRNG is very nonuniform distributed
seems to alternate between toward runs with exceptionally high
fractions of 0 bits and runs with exceptionally high fractions of 1
bits -- initially all my samples were mostly 0's, and then all my
samples were mostly 1's, and now I'm seeing more oscillation between
these runs.

So I've wired it up as RND_TYPE_UNKNOWN, not RND_TYPE_RNG (it will
immediately flunk our rngtest and be disabled), and I estimated it to
provide at most one bit of entropy per byte of data -- which may
still be optimistic.  I also added a sysctl node hw.sun8icryptoN.rng
to read out 1024-byte samples for analysis, and I left the driver
commented out in GENERIC64 for now.
(If anyone has contacts at Allwinner who can tell us about how the
alleged TRNG is supposed to work, please let me know!)

Reduce some duplicated bus_dma clutter.

Factor out some of the self-test logic used for debugging.

Add missing bus_dmamap_sync(POSTWRITE) while here.

Make sure ERESTART doesn't come flying out to userland.
I picked ERESTART to mean `all channels are occupied' because that's
what opencrypto(9) uses to decide whether to queue a request, but
it's not appropriate for sysctl(2) to return that.

Avoid a race between interruption and reacquisition of lock.
Otherwise, we would have leaked the memory in this case.

Tidy up comments.

Oops -- forgot to kmem_free.

Fix typo -- acknowledge interrupts _and_ errors.

Reduce entropy estimate for sun8icrypto TRNG.

NIST's SP800-90B entropy estimation tools put it at no more than .08
bits of entropy per byte of data(!), so estimate 100 bits of data per
bit of entropy.  This is probably not conservative enough -- the NIST
tools were written without knowledge of how this alleged TRNG works!
Knowledge of the physics of how the TRNG is supposed to work could
probably enable a better job at predicting the outputs.
While here, bump the size of data we can sample directly with sysctl
to 4096 bytes.

Enable sun8icrypto in GENERIC64.

But set its entropy estimate to zero until we have a better idea of
how it works.  Can't really hurt this way unless sun8icrypto is
maliciously dependent on all other inputs to the entropy pool, which
seems unlikely.

Fix (presently harmless) psato.

Don't overwrite cy_root_node; use cy_trng_node as intended.

Fix previous brainfart.

Don't use the uninitialized trng node as the root node -- derp.
Instead, use the root node as the root node, and initialize the trng
node here.

(martin)

2020-05-18 18:12:25 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by isaki in ticket #911):

sys/dev/audio/audiodef.h: revision 1.13
sys/dev/audio/audiodef.h: revision 1.14
sys/arch/sparc/include/param.h: revision 1.74
sys/arch/evbarm/conf/GENERIC64: revision 1.148
sys/arch/sh3/include/param.h: revision 1.25
sys/arch/evbarm/conf/GENERIC: revision 1.75
sys/arch/m68k/include/param.h: revision 1.23
sys/arch/amd64/conf/GENERIC: revision 1.564
sys/arch/hppa/include/param.h: revision 1.27
sys/dev/audio/audio.c: revision 1.68
sys/arch/vax/include/param.h: revision 1.63
sys/dev/audio/audio.c: revision 1.69

Reduce default AUDIO_BLK_MS from 40msec to 10msec on all platform except m68k
(m68k uses 40msec default as before).  And remove the option from GENERIC.

- It's not good idea to set such parameter in individual GENERICs.
- 4msec is (probably no problem for most modern real hardware but)
  too aggressive to be default.
- 10msec is too severe for antique machines but it's hard to draw a line.

Set AUDIO_BLK_MS 40 msec on other old(slow) architectures not only m68k.

Thanks tsutsui@ for comment about architecture choice.
And move it from audiodef.h to audio.c as suggested by joerg@.

Move machine dependent AUDIO_BLK_MS default value to <machine/param.h>.
If the port has __AUDIO_BLK_MS in <machine/param.h>, it will be used.

Otherwise the default value (currently 10 msec) defined in audio.c will
be used.  This mechanism is for very old ports which cannot satisfactorily
handle 10 msec block.  Currently hppa, m68k, sh3, sparc(!64) and vax are.

For port maintainers, if general models in your port cannot satisfactorily
handle 10 msec block, please consider to define your suitable longer period
(40 msec would be a good first choice).

But please don't be eager to make the default value shorter.
<machine/param.h> was discussed in source-changes-d.  It's better than
ifdef storm, or adding 60+ new header files in every arch/*/include/
directories for this.  Thanks mrg@, ad@, and everyone.
http://mail-index.netbsd.org/source-changes-d/2020/05/01/msg012572.html

(martin)

2020-05-18 18:05:34 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by isaki in ticket #910):

sys/dev/audio/audio.c: revision 1.49
sys/dev/audio/audio.c: revision 1.61
sys/dev/audio/audio.c: revision 1.66
sys/dev/audio/audio.c: revision 1.67

Move #if DIAGNOSTIC..#endif to correct place.
It should ignore stray interrupts regardless of DIAGNOSTIC.

Improve an error message about round_blocksize.

Improve diagnostic messages.

Improve the blocksize notation.
The blocksize is expressed in bytes, and the millisecond notation
is supplementary information to make it easier to understand.

(martin)

2020-05-18 18:02:23 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by isaki in ticket #909):

sys/dev/audio/audio.c: revision 1.65

Fix to start recording immediately when open() with READ mode is
called (unless pause).
- Opening /dev/audio always initializes pause with false.  Therefore
  it always starts recording.
- Opening /dev/sound inherites pause from the sticky parameter.
  Therefore whether /dev/sound starts recording or not depends on the
  sticky pause parameter.

This fixes two problems:
- Opening /dev/audio didn't start recording after merging isaki-audio2.
- Opening /dev/sound didn't start recording regardless of the sticky
  pause, probably since long time ago (at least netbsd-7).

(martin)

2020-05-18 17:52:22 UTC netbsd-9 commitmail json YAML

Pull up following revision(s) (requested by tsutsui in ticket #908):

sys/dev/ic/stivar.h: revision 1.10
sys/dev/ic/sti.c: revision 1.21
sys/arch/hp300/dev/sti_sgc.c: revision 1.3

Add bitmap access ops support for EVRX framebuffer on HP9000/425e.

8bpp Xorg wsfb server and mlterm-wscons (formerly mlterm-fb) work.
No particular comment on port-hp300@ and port-hppa@:
https://mail-index.netbsd.org/port-hp300/2020/05/02/msg000170.html

Special thanks to Miod Vallat, for his advice about HP-UX implementation
and binutils patches to disassemble old HP-UX a.out-hp300hpux binaries
(and also contributing his 425e back in 2014).

(martin)

2020-05-18 16:42:05 UTC MAIN commitmail json YAML

Whitespace fixes and a serial comma.

(wiz)

2020-05-18 16:05:09 UTC MAIN commitmail json YAML

Adjust entropy estimate for the Octeon.

We are hedging in serial and in parallel, and more conservative than
the Linux driver from Cavium seems to be, so although I don't know
exactly what the thermal jitter of the device is, this seems like a
reasonable compromise.

(riastradh)

2020-05-18 09:52:30 UTC MAIN commitmail json YAML

Remove misleading comment.

I've successfully transferred 16-byte command. I've checked scsipi source and
see no reason for this limitation.

(rkujawa)

2020-05-18 08:40:45 UTC MAIN commitmail json YAML

Add a basic manual page for tadpmu.

(jdc)

2020-05-18 08:30:06 UTC MAIN commitmail json YAML

2020-05-18 08:29:34 UTC MAIN commitmail json YAML

VOP_STRATEGY() may still deadlock with devices.

Change FSTRANS from LAZY to NO.

(hannken)

2020-05-18 08:28:44 UTC MAIN commitmail json YAML

Assert ufs_strategy() always gets used while current thread
holds a fstrans lock.

(hannken)

2020-05-18 08:27:54 UTC MAIN commitmail json YAML

vrele_flush(): yield() every 100ms like we do it in vflush().

(hannken)

2020-05-18 05:47:54 UTC MAIN commitmail json YAML

2020-05-17 23:34:11 UTC MAIN commitmail json YAML

2020-05-17 21:50:47 UTC MAIN commitmail json YAML

Mask all the MMC counter interrupts if the MMC module is present.

(chs)

2020-05-17 20:29:39 UTC MAIN commitmail json YAML

Use rnd_add_data_sync from the callback.

(Doesn't make a difference in HEAD but this is the stated API
contract and it matters if we want to pull this up.)

(riastradh)

2020-05-17 19:57:25 UTC MAIN commitmail json YAML

Rockchip crypto engine RNG driver.

As found on the rk3288 and rk3399.  This driver only supports the
TRNG, not the rest of the crypto engine, although it uses the AES unit
to do a self-test at attach time to verify that the engine works.

There seem to be two versions of the Rockchip crypto engine, v1 and
v2; this one is for v1.  Can't name a driver `rkcryptov1' so we'll
clumsily call it `rkv1crypto' instead to leave room for `rkv2crypto'
later on.

The crypto binding derived from the Rockchip BSP Linux kernel, in the
location it appears on the rk3399, is in rk3399-crypto.dtsi, since
there doesn't seem to be a better place to put it at the moment among
this twisty maze of inclusions, all different.

(riastradh)

2020-05-17 19:43:31 UTC MAIN commitmail json YAML

Minor correction to previous.

(ad)

2020-05-17 19:39:15 UTC MAIN commitmail json YAML

PR kern/55268: tmpfs is slow

tmpfs_getpages(): handle the PGO_LOCKED case and implement lazy update of
atime/mtime.

(ad)

2020-05-17 19:38:17 UTC MAIN commitmail json YAML

Start trying to reduce cache misses on vm_page during fault processing.

- Make PGO_LOCKED getpages imply PGO_NOBUSY and remove the latter.  Mark
  pages busy only when there's actually I/O to do.

- When doing COW on a uvm_object, don't mess with neighbouring pages.  In
  all likelyhood they're already entered.

- Don't mess with neighbouring VAs that have existing mappings as replacing
  those mappings with same can be quite costly.

- Don't enqueue pages for neighbour faults unless not enqueued already, and
  don't activate centre pages unless uvmpdpol says its useful.

Also:

- Make PGO_LOCKED getpages on UAOs work more like vnodes: do gang lookup in
  the radix tree, and don't allocate new pages.

- Fix many assertion failures around faults/loans with tmpfs.

(ad)

2020-05-17 19:37:16 UTC MAIN commitmail json YAML

2020-05-17 19:34:07 UTC MAIN commitmail json YAML

Reorganise the locking and allocation of fstrans_lwp_info slightly, to
reduce contention.  "please go ahead" hannken@.

(ad)

2020-05-17 18:59:02 UTC MAIN commitmail json YAML

reverse the order for sun2

(christos)

2020-05-17 18:52:43 UTC MAIN commitmail json YAML

Fix sun2 build. Still there are some duplicate symbols in the rump libraries
that make this awkward.

(christos)

2020-05-17 18:25:11 UTC MAIN commitmail json YAML

put librumpvfs_nofifofs after librumpvfs for the benefit of sun2

(christos)

2020-05-17 17:12:28 UTC MAIN commitmail json YAML

Don't set PG_AOBJ on a page unless UVM_OBJ_IS_AOBJ(), otherwise it can
catch pages from e.g. uvm_loanzero_object.

(ad)

2020-05-17 16:01:06 UTC MAIN commitmail json YAML

pool_cache_prime, not pool_cache_lowat, as suggested by nick.

(riastradh)

2020-05-17 15:42:10 UTC MAIN commitmail json YAML

2020-05-17 15:28:27 UTC MAIN commitmail json YAML

2020-05-17 15:11:57 UTC MAIN commitmail json YAML

- If the hardware provided NUMA info, then use it to decide how to set up
  the allocator's buckets, instead of doing round robin distribution.  There
  are open questions here but this is better than doing nothing.

- Kernel reserve pages are for the kernel not realtime threads.

(ad)

2020-05-17 15:07:22 UTC MAIN commitmail json YAML

Mark amappl with PR_LARGECACHE.

(ad)

2020-05-17 14:15:55 UTC MAIN commitmail json YAML

Flag EOI on TLB shootdown IPIs after the shootdown has been processed.

(ad)

2020-05-17 14:11:30 UTC MAIN commitmail json YAML

softint_disestablish(): use a high priority xcall to determine that the
handler is no longer running.

(ad)

2020-05-17 13:49:37 UTC MAIN commitmail json YAML

2020-05-17 12:36:26 UTC MAIN commitmail json YAML

2020-05-17 12:12:22 UTC MAIN commitmail json YAML

2020-05-17 12:11:11 UTC MAIN commitmail json YAML

2020-05-17 11:54:40 UTC MAIN commitmail json YAML

Fixed a problem that caused a page fault when attaching vmbus(4).

Dynamically allocate a page of memory with uvm_km_alloc(kernel_map, ...)
for Hyper-V hypercall.  However, this method can no longer be used to
make an executable page.
So we prevent it by using statically allocated memory for text segment.

(nonaka)

2020-05-17 11:32:51 UTC MAIN commitmail json YAML

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.

(mlelstv)

2020-05-17 09:37:48 UTC MAIN commitmail json YAML

usr.bin/make: fix test for dollar and backslash at eol

The previous version of this test relied on the way how the shell
interprets a lonely backslash at the end of the line.  The NetBSD and
FreeBSD shells print the backslash, while Bash doesn't.

While here, make the escaping a bit simpler and align the test
descriptions with the actual test data.

(rillig)

2020-05-17 08:38:38 UTC MAIN commitmail json YAML

Copyright maintenance

(skrll)

2020-05-17 08:35:15 UTC MAIN commitmail json YAML

Use BUS_ADDR_{LO,HI}32.  NFCI.

(skrll)

2020-05-17 06:30:44 UTC MAIN commitmail json YAML

__HAVE_CPU_DATA_FIRST is still true for sparc64 (which shares this file)

(martin)

2020-05-17 01:00:34 UTC MAIN commitmail json YAML

Remove obsolete paragraph.

(riastradh)

2020-05-17 00:54:05 UTC MAIN commitmail json YAML

Rework hifn(4) RNG logic.

Previously we would read 34 bits of entropy into the pool and stop,
never to try again.  This change finishes the conversion to an
on-demand source, although we still use a callout to (a) try again in
another second if the 7811 FIFO was emptied, and (b) wait at least
0.4 sec after we start the RNG to read anything from it as the
alleged documentation allegedly recommends.

(riastradh)

2020-05-17 00:53:10 UTC MAIN commitmail json YAML

Tweak locking and use a pool cache for commands and dmamaps.

This is enough to get the crypto decelerator working in LOCKDEBUG;
previously it would crash the moment you looked at it.

(riastradh)

2020-05-17 00:52:31 UTC MAIN commitmail json YAML

Merge updates from OpenBSD's hifn(4) crypto decelerator driver.

Highlights:

- Apply a ten-year-old fix to the driver's misuse of previously
  exposed ciphertext as IV for the next ciphertext with CBC.

  (Someone^TM should make sure there are no other drivers still doing
  this...)

- Various zeroing of buffers.

- Various minor cosmetic changes.

(riastradh)

2020-05-17 00:51:27 UTC MAIN commitmail json YAML

Reduce diffs from OpenBSD hifn(4) header files.

(riastradh)

2020-05-17 00:50:24 UTC MAIN commitmail json YAML

Remove bogus comment.

(riastradh)

2020-05-17 00:49:28 UTC MAIN commitmail json YAML

De-#ifdef __OpenBSD__ify hifn7751.c.

Not really helpful; we can just use diff3 to merge updates.

(riastradh)

2020-05-16 23:10:26 UTC MAIN commitmail json YAML

Ignore interception of SIGCHLD signals in the debugger

Set SIGPASS for SIGCHLD for the traced child in the following tests:
- unrelated_tracer_fork*
- unrelated_tracer_vfork*
- unrelated_tracer_posix_spawn*

There is a race that SIGCHLD might be blocked during forking and dropped.

PR/55241 by Andreas Gustafsson

(kamil)

2020-05-16 23:06:40 UTC MAIN commitmail json YAML

Store initial TSC/HPET readings for hpet0 only.

(ad)

2020-05-16 22:53:37 UTC MAIN commitmail json YAML

- Try to eliminate a hang in "parked" I've been seeing while stress testing.
  Centralise wakeup of deferred waiters in pthread__clear_waiters() and use
  throughout libpthread.  Make fewer assumptions.  Be more conservative in
  pthread_mutex when dealing with pending waiters.

- Remove the "hint" argument everywhere since the kernel doesn't use it any
  more.

(ad)

2020-05-16 22:07:06 UTC MAIN commitmail json YAML

Fix typo in test names

Noted by <joerg>

(kamil)

2020-05-16 20:27:38 UTC MAIN commitmail json YAML

wsdisplay.4: correct ioctl name for WSDISPLAYIO_GET_FBINFO

(tnn)

2020-05-16 19:12:38 UTC MAIN commitmail json YAML

Make it clear that only KAUTH_MACHDEP_SVS_DISABLE is deprecated.

(alnsn)

2020-05-16 19:08:20 UTC MAIN commitmail json YAML

Ignore interception of SIGCHLD signals in the debugger

Set SIGPASS for SIGCHLD for the traced child in the following tests:

- posix_spawn_singalmasked
- posix_spawn_singalignored
- fork_singalmasked
- fork_singalignored
- vfork_singalmasked
- vfork_singalignored
- vforkdone_singalmasked
- vforkdone_singalignored

There is a race that SIGCHLD might be blocked during forking and dropped.

PR/55241 by Andreas Gustafsson

(kamil)

2020-05-16 19:05:06 UTC MAIN commitmail json YAML

move the fido man pages from man to comp where they belong. I wonder about
the other section 3 man pages? Should they also move from man to comp?

(christos)

2020-05-16 19:00:13 UTC MAIN commitmail json YAML

2020-05-16 18:59:23 UTC MAIN commitmail json YAML

2020-05-16 18:58:56 UTC MAIN commitmail json YAML

Welcome to 9.99.63 (ACLS)

(christos)

2020-05-16 18:37:32 UTC MAIN commitmail json YAML

Mention ACL support.

(christos)

2020-05-16 18:31:54 UTC MAIN commitmail json YAML

2020-05-16 17:52:42 UTC MAIN commitmail json YAML

PR port-sparc/55261: sparc still panics running ATF tests

Reinstate the cpu_info change and remove __HAVE_CPU_DATA_FIRST to fix
build failure.

(ad)

2020-05-16 17:42:07 UTC MAIN commitmail json YAML

Add __diagused, amd64 kernel ALL compiles again.

(hannken)

2020-05-16 17:37:28 UTC MAIN commitmail json YAML

Back out previous - it doesn't work.

(ad)

2020-05-16 16:43:15 UTC MAIN commitmail json YAML

2020-05-16 16:43:00 UTC MAIN commitmail json YAML

Avoid compiler warnings about uninitialised symnum

(skrll)

2020-05-16 16:16:59 UTC MAIN commitmail json YAML

Avoid pulling in "namespace.h" here, as it can have unintended
effects on consumers of this header.

(thorpej)

2020-05-16 13:46:12 UTC MAIN commitmail json YAML

2020-05-16 12:54:27 UTC MAIN commitmail json YAML

Do the same thing with linker flags instead of directly specifying the archives.

(christos)

2020-05-16 12:46:57 UTC MAIN commitmail json YAML

2020-05-16 12:44:42 UTC MAIN commitmail json YAML

2020-05-16 12:42:11 UTC MAIN commitmail json YAML

2020-05-16 12:30:36 UTC MAIN commitmail json YAML

Oops forgot to commit this.

(christos)

2020-05-16 07:16:14 UTC MAIN commitmail json YAML

Extend the monitoring to battery state, with capacity based on voltage.
Add more PMU definitions.

(jdc)

2020-05-16 00:43:15 UTC MAIN commitmail json YAML

PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries,
fifo_vnodeop_opv_desc symbols.

Missed adding those in previous

(christos)

2020-05-15 23:57:17 UTC MAIN commitmail json YAML

Bump PROF_ARTIFICIAL_FRAMES to 4 now that cyclics are run from statclock().

(ad)

2020-05-15 23:32:28 UTC MAIN commitmail json YAML

PR/55102: Kamil Rytarowski: Duplicate fifo_vnodeop_entries,
fifo_vnodeop_opv_desc symbols.

Many filesystems ffs, lfs, ulfs, chfs, ext2fs etc. use fifofs
internally for their fifo vnops. NFS does too, but it also needs
networking anyway.  Unfortunately fifofs brings in a lot of the
networking code so that the rumpkernel is not well partition. In
addition the fifo code is rarely used.

The existing hack depended on duplicating the above symbols and
adding minimal functionality for the majority of the the tests
(except the ffs and the puffs one). In these two cases both symbols
were loaded and the symbol sizes clashed which broke the sanitizers.
While this can be fixed with weak symbols and other kinds of
indirection, it is more straight forward to select between the
minimal and the full fifofs implementation by introducing a new
shared library librumpvfs_nofifofs.

(christos)

2020-05-15 22:39:54 UTC MAIN commitmail json YAML

sed(1): Don't force a newline on last line, if input stream doesn't have one

While here, change how we check if the current line is the last one.
Before, we just checked if there were more files after the current one.
Now, we check the actual content of those files: they files may not have
a line at all. This matches the definition of the "last line" by the
Open Group.

The new behavior is closer to GNU sed.

From FreeBSD (9dd857db3dc558dc61dc8674d204ebc83cac0739), requested by mrg@

(christos)

2020-05-15 22:35:05 UTC MAIN commitmail json YAML

Reported-by: syzbot+3e3c7cfa8093f8de047e@syzkaller.appspotmail.com

Comment out an assertion that's now bogus and add a comment.

(ad)

2020-05-15 22:27:04 UTC MAIN commitmail json YAML

PR kern/55268: tmpfs is slow

uao_get(): in the PGO_LOCKED case, we're okay to allocate a new page as long
as the caller holds a write lock.  PGO_NOBUSY doesn't put a stop to that.

(ad)

2020-05-15 22:25:18 UTC MAIN commitmail json YAML

uvm_pagemarkdirty(): no need to set radix tree tag unless page is currently
marked clean.

(ad)

2020-05-15 22:22:44 UTC MAIN commitmail json YAML

PTP pages are zeroed before free again.

(ad)

2020-05-15 22:22:06 UTC MAIN commitmail json YAML

Reported-by: syzbot+0f38e4aed17c14cf0af8@syzkaller.appspotmail.com
Reported-by: syzbot+c1770938bb3fa7c085f2@syzkaller.appspotmail.com
Reported-by: syzbot+92ca248f1137c4b345d7@syzkaller.appspotmail.com
Reported-by: syzbot+acfd688740461f7edf2f@syzkaller.appspotmail.com

Be careful with pmap_lock in pmap_update().  It can happen that pmap_kernel
has work pending that gets noticed in interrupt context, before process
context has a chance to deal with it.

(ad)

2020-05-15 22:19:01 UTC MAIN commitmail json YAML

PR kern/55268: tmpfs is slow

pmap_clear_attrs(): if a brand new page with no mappings just zap pp_attrs.

(ad)

2020-05-15 22:17:45 UTC MAIN commitmail json YAML

Revert previous after thinking about it.  It was wrong, don't need to use
an atomic to clear a PTE or set initial version unless the circumstances
call for it.

(ad)