Commit Graph

5367 Commits

Author SHA1 Message Date
ozaki-r a403cbd4f5 Apply pserialize and psref to struct ifaddr and its variants
This change makes struct ifaddr and its variants (in_ifaddr and in6_ifaddr)
MP-safe by using pserialize and psref. At this moment, pserialize_perform
and psref_target_destroy are disabled because (1) we don't need them
because of softnet_lock (2) they cause a deadlock because of softnet_lock.
So we'll enable them when we remove softnet_lock in the future.
2016-08-01 03:15:30 +00:00
ozaki-r 3a0f73376f Apply if_get/if_put to compat_ifioctl 2016-07-25 08:30:19 +00:00
njoly 60a6866ba5 Regen for readlink/readlinkat signatures. 2016-07-24 13:23:25 +00:00
njoly 733b812ef7 Small cleanup. Adjust readlink/readlinkat signatures to reduce diffs with
native.
2016-07-24 13:22:01 +00:00
ozaki-r 4f21a42704 Apply pserialize to some iterations of IP address lists 2016-07-20 07:37:51 +00:00
maxv 0fbc3ea8d4 x86_alldisks can be NULL, so don't dereference it. Not tested, but obvious
enough.
2016-07-13 15:59:54 +00:00
jmcneill 5be74d296b Add netbsd32 support for drvctl(4) 2016-07-13 11:11:53 +00:00
ozaki-r 9e4c2bda8a Switch the address list of intefaces to pslist(9)
As usual, we leave the old list to avoid breaking kvm(3) users.
2016-07-07 09:32:01 +00:00
ozaki-r 1151cda904 Fix psref isn't released in a case of IFADDR_EMPTY 2016-07-05 07:55:08 +00:00
ozaki-r e1135cd9b9 Use curlwp_bind and curlwp_bindx instead of open-coding LP_BOUND 2016-06-16 02:38:40 +00:00
ozaki-r c7e18ccbde Protect if_byindex by pserialize 2016-06-15 06:01:21 +00:00
chs be6c83e099 simplify and fix futex requeuing:
don't wake up all the threads being requeued to have them move themselves
from one list to another (thus defeating the purpose), just change the lists
directly in futex_wake().
2016-05-20 13:54:34 +00:00
christos ea598550c4 clamp getrlimit the same way we clamp setrlimit 2016-05-13 16:54:36 +00:00
ozaki-r d5776d4c59 Add missing semicolon 2016-05-12 03:01:57 +00:00
ozaki-r 040205ae93 Protect ifnet list with psz and psref
The change ensures that ifnet objects in the ifnet list aren't freed during
list iterations by using pserialize(9) and psref(9).

Note that the change adds a pslist(9) for ifnet but doesn't remove the
original ifnet list (ifnet_list) to avoid breaking kvm(3) users. We
shouldn't use the original list in the kernel anymore.
2016-05-12 02:24:16 +00:00
mrg 360285623c include opt_compat_netbsd.h to get COMPAT_SOCKCRED70 defined. 2016-04-07 17:48:40 +00:00
roy bb67ec8f00 Add sc_pid to sockcred so that SOCK_DGRAM and LOCAL_CREDS socket option
can learn the process id of the AF_LOCAL sender.
Add compat glue for old structure.
2016-04-06 19:45:45 +00:00
christos 5c35dbcd66 no need to pass the coredump flag to exit1() since it is set and known
in one place.
2016-04-04 23:07:06 +00:00
christos 513b040cc6 catch up with exit1() change 2016-04-04 21:21:49 +00:00
mrg 65f5251eae remove a bunch of "@echo done" from the tail of rules. these messages
were vaguely useful back when we didn't run make -j, but now you end
up with a single line "done" every so often, with no idea what it is
for.  very few other targets claim they're done so just remove these.
2016-03-22 08:25:22 +00:00
mrg c3f8eee056 avoid some stupid GCC errors seen only with -Os and -O3. 2016-03-21 22:42:56 +00:00
christos 8cc2b02f1c PR/50947: David Binderman: sprinkle parens 2016-03-11 18:32:29 +00:00
khorben 9e87b310f4 Add missing newline character in error message
This is related to kern/50469.
2016-02-28 23:24:35 +00:00
christos 07013d3bf0 PR/50784: David Binderman: Add missing braces, this is not python. 2016-02-08 16:42:04 +00:00
joerg 8ddff245e8 Avoid defining inline functions that are never used when certain options
are missing.
2016-01-07 21:58:28 +00:00
maxv 13c6662258 Missing field (was here before my change). 2015-12-19 13:15:21 +00:00
christos 218ed6ea48 PR/50520: David Binderman: Fix missing breaks. 2015-12-13 19:47:08 +00:00
nakayama a5e9d486c8 Redo previous. zero check before modulo. 2015-12-12 17:48:18 +00:00
maxv 9c30e9c45b Put the code in charge of handling MODCTL_STAT (32bit) into a separate
function. No functional change.
2015-12-12 15:27:42 +00:00
mlelstv 8470efeba1 d_secpercyl is gone and we use the value from disklabel anyway. 2015-12-11 08:19:07 +00:00
mlelstv 2632be1caa PR 50519 missing breaks in switch 2015-12-11 08:12:18 +00:00
mlelstv 9e54402661 PR 50517 bad switch 2015-12-11 08:10:43 +00:00
mlelstv 05c35a4ea2 PR 50518 bad switch 2015-12-11 08:10:28 +00:00
christos 9a41cce439 Fix DIOCGPARTINFO 2015-12-08 21:27:50 +00:00
christos 8d10f96266 Replace DIOCGPART -> DIOCGPARTINFO which returns the data needed instead of
pointers.
2015-12-08 20:36:14 +00:00
pgoyette 8285edda53 Modularize the clockctl pseudo-device and link to the build. 2015-12-07 03:25:57 +00:00
pgoyette 5d8b2e34a2 The COMPAT_10 code for SYSVxxx is now part of the sysv_ipc module, so
don't install syscall function pointers from the compat module.
2015-12-05 01:59:51 +00:00
pgoyette 1e89d6cd44 Update dependencies - compat_linux32 requires compat_netbsd32_sysvipc 2015-12-03 23:51:24 +00:00
pgoyette d1255f4347 Strange patch(1) behavior got me three copies of the code. One is
sufficient so remove the excess.
2015-12-03 11:31:05 +00:00
pgoyette aae805d00f If compiling as part of a built-in kernel module, make sure we include
the relevant opt_sysv.h file
2015-12-03 11:28:35 +00:00
pgoyette dee3871549 Missed these.
Only include the compat_14 sys calls if this being compiled as part of
the compat_netbsd32_sysvipc module.
2015-12-03 11:25:45 +00:00
pgoyette 6be6ed7cda Regen syscall definitions - the compat_netbsd32 sysv-ipc stuff is now
modular and can be autoloaded when needed
2015-12-03 10:39:50 +00:00
pgoyette 29e8b0cb20 Split out the SYSV IPC stuff into its own compat_netbsd32_sysvipc
module.  Adjust dependencies as needed.
2015-12-03 10:38:21 +00:00
pgoyette 65fae32d98 Merge the compat_sysv module into the sysv_ipc module - it should
never have been a separate module in the first place (my bad).

Adjust dependencies as appropriate.
2015-12-03 02:51:00 +00:00
pgoyette 0bc066df68 Add comment to #ifdef - it's a long way from its original #if 2015-12-03 00:28:55 +00:00
pgoyette f25397daa3 Regen for new compat_netbsd32_mqueue module 2015-12-01 23:57:19 +00:00
pgoyette 1a0fa34dd3 Prepare for new compat_netbsd32_mqueue module to be split out of
compat_netbsd32.  Refactor the COMPAT_50 code related to mqueue,
and update the syscall definitions.  Remove dependency on mqueue
from the compat_netbsd32 module (the new module will gain this
dependency).

Continuation of work on PR kern/50489
2015-12-01 23:56:43 +00:00
pgoyette 5151d1f84b Properly mark netbsd32_mqueue.c to depend on 'options MQUEUE'
Yes, MQUEUE is included in all kernels by default, but it can be removed.
If it is removed, the compat_netbsd32 module should not include it, either.
2015-12-01 23:38:34 +00:00
pgoyette 1b56eccb90 Add MODULE infrastructure to netbsd32_nfssvc.c, remove dependency on it
from netbsd32_mod.c
2015-12-01 09:12:23 +00:00
pgoyette 0e6c55b2f5 Regen. 2015-12-01 09:10:49 +00:00