Commit Graph

275614 Commits

Author SHA1 Message Date
ryo ebe3e284a8 use PMAP_PAGE_INIT() to initialize mutex in pmap_page.
VM_MDPAGE_INIT() in pmap_free_pdp() had initialized pp_flags,
so it unintentionally cleared PMAP_PAGE_FLAGS_PV_TRACKED.
use PMAP_PAGE_INIT to avoid using PMAP_PAGE_FLAGS_PV_TRACKED.

pointed out by tnn@, thanks
2020-04-08 00:13:40 +00:00
ad d93b379632 lookup_fastforward(): failure to vget foundobj vnode also translates into
EOPNOTSUPP; VOP_LOOKUP() should retry it.
2020-04-07 19:17:50 +00:00
ad e7b964a876 For single page I/O, use direct mapping if available. 2020-04-07 19:15:23 +00:00
ad 5294ba607b ubc_direct_release(): remove spurious call to uvm_pagemarkdirty(). 2020-04-07 19:12:25 +00:00
ad f3fdb8c6cb PR kern/54759: vm.ubc_direct deadlock when read()/write() into mapping of itself
Prevent ubc_uiomove_direct() on mapped vnodes.
2020-04-07 19:11:13 +00:00
ad 2abe5509cd PR kern/55146 (100+ file system test cases failing)
- namei_oneroot(): key on negative return from lookup_fastforward()
  (EOPNOTSUPP), not positive.

- lookup_crossmount(): don't lose track of founddir.

From hannken@, with a couple of tweaks.
2020-04-07 18:28:31 +00:00
sevan 219fc162e3 Add history section 2020-04-07 17:57:33 +00:00
jdolecek 79743bc4f3 add wrapper to free response from xenbus_dev_request_and_reply(), so
that call in xenbus_dev_write() wouldn't need to know how it's allocated
2020-04-07 16:10:48 +00:00
jdolecek 125dad3d64 add a small wrapper xenbus_directory_free() to free result of
xenbus_directory(), so that caller doesn't need to be aware how the memory
was allocated
2020-04-07 15:59:57 +00:00
jdolecek 1c0b49f5ee mostly convert to kmem_alloc()
doing this, remove check for failed allocation with KM_SLEEP, and make
sure to not hold mutex during the call
2020-04-07 15:43:42 +00:00
jdolecek 43fc8b6fb5 partially convert to kmem_alloc()
plug memory leak in one xenbus_probe_device_type() error path
when read_backend_details() fails
2020-04-07 15:40:14 +00:00
jdolecek b95803dc6b convert from malloc() to kmem_alloc() 2020-04-07 15:16:52 +00:00
jdolecek 418f6d13ac convert the node watch code to use kmem_alloc() instead of malloc() 2020-04-07 14:07:01 +00:00
jdolecek 786f885750 make xenbus_watch_path() static, it's not used outside xenbus_client.c 2020-04-07 13:38:50 +00:00
jdolecek 08090ccf7a revert the watch.node change, xenbus_watch_path() and xenbus_watch_path2()
need to use non-constant path
2020-04-07 13:36:22 +00:00
jdolecek 22ba269296 drop wd lock in wdstart1() before calling the ata_bio hook; when called
from ata thread context, that can still need to sleep for wdc attachments
in wdcwait()
2020-04-07 13:22:05 +00:00
christos c2ac6d470a Recognize more rdc devices (Andrius V.) 2020-04-07 12:42:11 +00:00
christos 94faa8ea2e regen 2020-04-07 12:32:02 +00:00
christos c0b1f57987 Add more RDC products (Andrius V) 2020-04-07 12:31:13 +00:00
jdolecek 782d82899b change xenbus_read() interface so that caller supplies the buffer and it's
size, caller doesn't free(9) the returned value any more
2020-04-07 11:47:05 +00:00
martin 426a541861 Disable userconf in the RAMDISK kernel to shrink it a bit 2020-04-07 11:12:25 +00:00
martin 32f67d2cf1 Ooops, editor mishap in previous 2020-04-07 10:22:00 +00:00
jdolecek 015b4bd710 switch from malloc() to kmem_zalloc() 2020-04-07 10:19:53 +00:00
jdolecek b07f99d6d8 no need to malloc()+copy watch.node, it's constant string - either "device"
or "backend"; just use the strings direct
2020-04-07 09:18:00 +00:00
jdolecek 3ec73fa964 convert from malloc() to kmem_alloc() 2020-04-07 09:05:14 +00:00
jdolecek 8d1e4d9c00 switch to kmem_zalloc() instead of malloc() for struct kernfs_mount 2020-04-07 08:35:49 +00:00
jdolecek 8a3ee72648 switch KERNFS_ALLOCENTRY() to use kmem_zalloc() instead of malloc() 2020-04-07 08:14:42 +00:00
skrll a6a8f0073d Fix KASAN build on aarch64 2020-04-07 08:07:58 +00:00
jdolecek 4bbb8f42de remove <sys/malloc.h> include, not used here 2020-04-07 07:43:33 +00:00
ryo 1518c9789e avoid "panic: LOCKDEBUG: Mutex error: rw_vector_enter,309: spin lock held"
ok nonaka@. thanks
2020-04-07 07:25:41 +00:00
jdolecek 1243d69abd bring the section on automatic acquisition of kernel_lock up-to-date 2020-04-07 07:25:09 +00:00
skrll 0edf09d843 Whitespace 2020-04-06 20:26:16 +00:00
jdolecek 5783ce1ef4 adjust previous - set the Tx flag only when the feature supported, instead
of first setting it and then masking it when unsupported
2020-04-06 19:58:09 +00:00
maya b0f199cb12 Exit successfully after printing the search path, stop further processing.
Continuing to process had the unintended effect that `man` failed to find
a matching manual page for {EMPTY LIST OF REQUESTED MANUAL PAGES}, and
exited with 1.

Prompted by a fish shell snippet that tried and failed to distinguish between
FreeBSD man (-p takes argument) and NetBSD man (-p no argument) by comparing
`man -p` exit code.

ok riastradh, logix (which also pointed out the manual page SYNOPSIS is
saying man -p should be used this way).
2020-04-06 19:53:22 +00:00
jdolecek d40c171347 pass and use feature-ipv6-csum-offload for ipv6 csum support, matches
Linux Dom0/DomU
2020-04-06 19:52:38 +00:00
bouyer ea64d67680 use conf/filesystems.config, fix missing PTYFS 2020-04-06 19:28:21 +00:00
jdolecek 104eb04d61 add known_mpsafe parameter also to pirq_establish(), and pass the parameter
to underlying event_set_handler()
2020-04-06 19:26:00 +00:00
jdolecek 2cd88f170e convert to IFEF_MPSAFE, also enable interrupt handler without biglock
no performance difference observed compared to version before change,
for neither UP nor MP DomU
2020-04-06 18:23:21 +00:00
martin 6dfee14336 Document the phil-wifi branch 2020-04-06 18:15:57 +00:00
jdolecek e1a6ae4645 remove restriction on interrupt level for MP-safe interrupt handlers 2020-04-06 18:02:33 +00:00
jdolecek 3ffa8acef1 just pass true as known_mpsafe for interrupt establish, drop the
(level != IPL_VM); NFCI, this uses IPL_HIGH so was mpsafe already
2020-04-06 17:55:51 +00:00
jdolecek 26de71c2df make a pass on locking, replacing spl*() calls with mutexes:
- sc_tx_lock covers any access to tx list, tx ring, and writes to
  if_flags and if_itimer
- sc_rx_lock covers any access to rx list, tx ring, and free tx counter

fix suspend and detach to work again - recent softintr changes made
xennet_tx_complete() not actually being called, because the call
in xennet_handler() was after IFF_RUNNING check; now it's called
directly rather than triggering softint, with updates locking it's safe

enable DVF_DETACH_SHUTDOWN for xennet(4), though the call only
triggers notification to backend to close, leaves actual detach to
xenwatch_thread
2020-04-06 16:43:34 +00:00
jdolecek 514d5d55ce #undef XENNET_DEBUG, accidentaly left enabled in previous commit 2020-04-06 15:30:52 +00:00
hannken aa1a83f41d udf_get_node(): fix typo and honor "lktype" argument. 2020-04-06 14:31:06 +00:00
martin 94c50ac97f Sync image size with available space reserved in the RAMDISK kernel 2020-04-06 13:28:15 +00:00
roy 2fc87b1b6a postinstall: fix contents_owner to return an error on error
find returning nothing via stdout but does return an error is an error.
Fixes the case where dhcpcd chroot db directory isn't owned by _dhcpcd.
2020-04-06 13:10:48 +00:00
martin 05220c998f Use full available ram disk space 2020-04-06 11:58:10 +00:00
martin d599871e97 Slightly bump ramdisk space 2020-04-06 11:57:51 +00:00
jdolecek fc07698e80 remove some XENNET_DEBUG code which causes kernel faults 2020-04-06 10:44:44 +00:00
jdolecek 42c34851b7 remove some unnecessary spl*() calls, and fix the rxreq va/pa deallocation
in xennet_xenbus_detach()
2020-04-06 10:33:10 +00:00