Lines Matching refs:req
165 struct sysctl_req *req, struct rm_priotracker *tracker) in sysctl_root_handler_locked() argument
184 error = oid->oid_handler(oid, arg1, arg2, req); in sysctl_root_handler_locked()
208 struct sysctl_req req; in sysctl_load_tunable_by_oid_locked() local
234 memset(&req, 0, sizeof(req)); in sysctl_load_tunable_by_oid_locked()
236 req.td = curthread; in sysctl_load_tunable_by_oid_locked()
237 req.oldfunc = sysctl_old_kernel; in sysctl_load_tunable_by_oid_locked()
238 req.newfunc = sysctl_new_kernel; in sysctl_load_tunable_by_oid_locked()
239 req.lock = REQ_UNWIRED; in sysctl_load_tunable_by_oid_locked()
246 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
247 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
253 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
254 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
260 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
261 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
267 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
268 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
274 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
275 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
281 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
282 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
288 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
289 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
295 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
296 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
302 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
303 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
309 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
310 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
316 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
317 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
323 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
324 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
330 req.newlen = strlen(penv); in sysctl_load_tunable_by_oid_locked()
331 req.newptr = penv; in sysctl_load_tunable_by_oid_locked()
337 oidp->oid_arg2, &req, NULL); in sysctl_load_tunable_by_oid_locked()
1021 error = priv_check(req->td, PRIV_SYSCTL_DEBUG); in sysctl_sysctl_debug()
1045 error = sysctl_wire_old_buffer(req, 0); in sysctl_sysctl_name()
1053 if (req->oldidx) in sysctl_sysctl_name()
1054 error = SYSCTL_OUT(req, ".", 1); in sysctl_sysctl_name()
1056 error = SYSCTL_OUT(req, buf, strlen(buf)); in sysctl_sysctl_name()
1068 if (req->oldidx) in sysctl_sysctl_name()
1069 error = SYSCTL_OUT(req, ".", 1); in sysctl_sysctl_name()
1071 error = SYSCTL_OUT(req, oid->oid_name, in sysctl_sysctl_name()
1090 error = SYSCTL_OUT(req, "", 1); in sysctl_sysctl_name()
1265 error = SYSCTL_OUT(req, next, len * sizeof (int)); in sysctl_sysctl_next()
1327 if (!req->newlen) in sysctl_sysctl_name2oid()
1329 if (req->newlen >= MAXPATHLEN) /* XXX arbitrary, undocumented */ in sysctl_sysctl_name2oid()
1333 if (req->newlen >= sizeof(buf)) in sysctl_sysctl_name2oid()
1334 p = malloc(req->newlen+1, M_SYSCTL, M_WAITOK); in sysctl_sysctl_name2oid()
1336 error = SYSCTL_IN(req, p, req->newlen); in sysctl_sysctl_name2oid()
1343 p [req->newlen] = '\0'; in sysctl_sysctl_name2oid()
1355 error = SYSCTL_OUT(req, oid, len * sizeof *oid); in sysctl_sysctl_name2oid()
1374 error = sysctl_wire_old_buffer(req, 0); in sysctl_sysctl_oidfmt()
1379 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req); in sysctl_sysctl_oidfmt()
1387 error = SYSCTL_OUT(req, &oid->oid_kind, sizeof(oid->oid_kind)); in sysctl_sysctl_oidfmt()
1390 error = SYSCTL_OUT(req, oid->oid_fmt, strlen(oid->oid_fmt) + 1); in sysctl_sysctl_oidfmt()
1406 error = sysctl_wire_old_buffer(req, 0); in sysctl_sysctl_oiddescr()
1411 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req); in sysctl_sysctl_oiddescr()
1419 error = SYSCTL_OUT(req, oid->oid_descr, strlen(oid->oid_descr) + 1); in sysctl_sysctl_oiddescr()
1435 error = sysctl_wire_old_buffer(req, 0); in sysctl_sysctl_oidlabel()
1440 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req); in sysctl_sysctl_oidlabel()
1448 error = SYSCTL_OUT(req, oid->oid_label, strlen(oid->oid_label) + 1); in sysctl_sysctl_oidlabel()
1482 error = SYSCTL_OUT(req, &temp, sizeof(temp)); in sysctl_handle_bool()
1483 if (error || !req->newptr) in sysctl_handle_bool()
1489 error = SYSCTL_IN(req, &temp, sizeof(temp)); in sysctl_handle_bool()
1516 error = SYSCTL_OUT(req, &tmpout, sizeof(tmpout)); in sysctl_handle_8()
1518 if (error || !req->newptr) in sysctl_handle_8()
1524 error = SYSCTL_IN(req, arg1, sizeof(tmpout)); in sysctl_handle_8()
1548 error = SYSCTL_OUT(req, &tmpout, sizeof(tmpout)); in sysctl_handle_16()
1550 if (error || !req->newptr) in sysctl_handle_16()
1556 error = SYSCTL_IN(req, arg1, sizeof(tmpout)); in sysctl_handle_16()
1580 error = SYSCTL_OUT(req, &tmpout, sizeof(tmpout)); in sysctl_handle_32()
1582 if (error || !req->newptr) in sysctl_handle_32()
1588 error = SYSCTL_IN(req, arg1, sizeof(tmpout)); in sysctl_handle_32()
1611 error = SYSCTL_OUT(req, &tmpout, sizeof(int)); in sysctl_handle_int()
1613 if (error || !req->newptr) in sysctl_handle_int()
1619 error = SYSCTL_IN(req, arg1, sizeof(int)); in sysctl_handle_int()
1636 error = sysctl_handle_int(oidp, &s, 0, req); in sysctl_msec_to_ticks()
1637 if (error || !req->newptr) in sysctl_msec_to_ticks()
1672 if (req->flags & SCTL_MASK32) { in sysctl_handle_long()
1674 error = SYSCTL_OUT(req, &tmpint, sizeof(int)); in sysctl_handle_long()
1677 error = SYSCTL_OUT(req, &tmplong, sizeof(long)); in sysctl_handle_long()
1679 if (error || !req->newptr) in sysctl_handle_long()
1685 else if (req->flags & SCTL_MASK32) { in sysctl_handle_long()
1686 error = SYSCTL_IN(req, &tmpint, sizeof(int)); in sysctl_handle_long()
1691 error = SYSCTL_IN(req, arg1, sizeof(long)); in sysctl_handle_long()
1714 error = SYSCTL_OUT(req, &tmpout, sizeof(uint64_t)); in sysctl_handle_64()
1716 if (error || !req->newptr) in sysctl_handle_64()
1722 error = SYSCTL_IN(req, arg1, sizeof(uint64_t)); in sysctl_handle_64()
1754 if (req->oldptr != NULL) { in sysctl_handle_string()
1766 error = SYSCTL_OUT(req, tmparg, outlen); in sysctl_handle_string()
1776 error = SYSCTL_OUT(req, NULL, outlen); in sysctl_handle_string()
1778 if (error || !req->newptr) in sysctl_handle_string()
1781 if (req->newlen - req->newidx >= arg2 || in sysctl_handle_string()
1782 req->newlen - req->newidx < 0) { in sysctl_handle_string()
1784 } else if (req->newlen - req->newidx == 0) { in sysctl_handle_string()
1789 arg2 = req->newlen - req->newidx; in sysctl_handle_string()
1792 error = SYSCTL_IN(req, tmparg, arg2); in sysctl_handle_string()
1803 req->newidx += arg2; in sysctl_handle_string()
1828 req2 = *req; in sysctl_handle_opaque()
1831 error = SYSCTL_OUT(req, arg1, arg2); in sysctl_handle_opaque()
1836 *req = req2; in sysctl_handle_opaque()
1840 error = SYSCTL_IN(req, arg1, arg2); in sysctl_handle_opaque()
1858 error = sysctl_handle_64(oidp, &sb, 0, req); in sysctl_usec_to_sbintime()
1859 if (error || !req->newptr) in sysctl_usec_to_sbintime()
1881 error = sysctl_handle_64(oidp, &sb, 0, req); in sysctl_msec_to_sbintime()
1882 if (error || !req->newptr) in sysctl_msec_to_sbintime()
1904 error = sysctl_handle_int(oidp, &secs, 0, req); in sysctl_sec_to_timeval()
1905 if (error || req->newptr == NULL) in sysctl_sec_to_timeval()
1920 sysctl_old_kernel(struct sysctl_req *req, const void *p, size_t l) in sysctl_old_kernel() argument
1924 if (req->oldptr) { in sysctl_old_kernel()
1926 if (req->oldlen <= req->oldidx) in sysctl_old_kernel()
1929 if (i > req->oldlen - req->oldidx) in sysctl_old_kernel()
1930 i = req->oldlen - req->oldidx; in sysctl_old_kernel()
1932 bcopy(p, (char *)req->oldptr + req->oldidx, i); in sysctl_old_kernel()
1934 req->oldidx += l; in sysctl_old_kernel()
1935 if (req->oldptr && i != l) in sysctl_old_kernel()
1941 sysctl_new_kernel(struct sysctl_req *req, void *p, size_t l) in sysctl_new_kernel() argument
1943 if (!req->newptr) in sysctl_new_kernel()
1945 if (req->newlen - req->newidx < l) in sysctl_new_kernel()
1947 bcopy((const char *)req->newptr + req->newidx, p, l); in sysctl_new_kernel()
1948 req->newidx += l; in sysctl_new_kernel()
1957 struct sysctl_req req; in kernel_sysctl() local
1959 bzero(&req, sizeof req); in kernel_sysctl()
1961 req.td = td; in kernel_sysctl()
1962 req.flags = flags; in kernel_sysctl()
1965 req.oldlen = *oldlenp; in kernel_sysctl()
1967 req.validlen = req.oldlen; in kernel_sysctl()
1970 req.oldptr= old; in kernel_sysctl()
1974 req.newlen = newlen; in kernel_sysctl()
1975 req.newptr = new; in kernel_sysctl()
1978 req.oldfunc = sysctl_old_kernel; in kernel_sysctl()
1979 req.newfunc = sysctl_new_kernel; in kernel_sysctl()
1980 req.lock = REQ_UNWIRED; in kernel_sysctl()
1982 error = sysctl_root(0, name, namelen, &req); in kernel_sysctl()
1984 if (req.lock == REQ_WIRED && req.validlen > 0) in kernel_sysctl()
1985 vsunlock(req.oldptr, req.validlen); in kernel_sysctl()
1991 if (req.oldptr && req.oldidx > req.validlen) in kernel_sysctl()
1992 *retval = req.validlen; in kernel_sysctl()
1994 *retval = req.oldidx; in kernel_sysctl()
2025 sysctl_old_user(struct sysctl_req *req, const void *p, size_t l) in sysctl_old_user() argument
2030 origidx = req->oldidx; in sysctl_old_user()
2031 req->oldidx += l; in sysctl_old_user()
2032 if (req->oldptr == NULL) in sysctl_old_user()
2039 if (req->lock != REQ_WIRED) in sysctl_old_user()
2043 len = req->validlen; in sysctl_old_user()
2049 if (req->lock == REQ_WIRED) { in sysctl_old_user()
2050 error = copyout_nofault(p, (char *)req->oldptr + in sysctl_old_user()
2053 error = copyout(p, (char *)req->oldptr + origidx, i); in sysctl_old_user()
2063 sysctl_new_user(struct sysctl_req *req, void *p, size_t l) in sysctl_new_user() argument
2067 if (!req->newptr) in sysctl_new_user()
2069 if (req->newlen - req->newidx < l) in sysctl_new_user()
2073 error = copyin((const char *)req->newptr + req->newidx, p, l); in sysctl_new_user()
2074 req->newidx += l; in sysctl_new_user()
2083 sysctl_wire_old_buffer(struct sysctl_req *req, size_t len) in sysctl_wire_old_buffer() argument
2088 wiredlen = (len > 0 && len < req->oldlen) ? len : req->oldlen; in sysctl_wire_old_buffer()
2090 if (req->lock != REQ_WIRED && req->oldptr && in sysctl_wire_old_buffer()
2091 req->oldfunc == sysctl_old_user) { in sysctl_wire_old_buffer()
2093 ret = vslock(req->oldptr, wiredlen); in sysctl_wire_old_buffer()
2100 req->lock = REQ_WIRED; in sysctl_wire_old_buffer()
2101 req->validlen = wiredlen; in sysctl_wire_old_buffer()
2108 int *nindx, struct sysctl_req *req) in sysctl_find_oid() argument
2166 error = sysctl_find_oid(arg1, arg2, &oid, &indx, req); in sysctl_root()
2183 if (req->newptr && !(oid->oid_kind & CTLFLAG_WR)) { in sysctl_root()
2188 KASSERT(req->td != NULL, ("sysctl_root(): req->td == NULL")); in sysctl_root()
2195 if (IN_CAPABILITY_MODE(req->td)) { in sysctl_root()
2196 if ((req->oldptr && !(oid->oid_kind & CTLFLAG_CAPRD)) || in sysctl_root()
2197 (req->newptr && !(oid->oid_kind & CTLFLAG_CAPWR))) { in sysctl_root()
2205 if (req->newptr && (oid->oid_kind & CTLFLAG_SECURE)) { in sysctl_root()
2207 error = securelevel_gt(req->td->td_ucred, lvl); in sysctl_root()
2213 if (req->newptr && !(oid->oid_kind & CTLFLAG_ANYBODY)) { in sysctl_root()
2220 prison_owns_vnet(req->td->td_ucred)) in sysctl_root()
2225 error = priv_check(req->td, priv); in sysctl_root()
2243 error = mac_system_check_sysctl(req->td->td_ucred, oid, arg1, arg2, in sysctl_root()
2244 req); in sysctl_root()
2252 error = sysctl_root_handler_locked(oid, arg1, arg2, req, &tracker); in sysctl_root()
2369 struct sysctl_req req; in userland_sysctl() local
2371 bzero(&req, sizeof req); in userland_sysctl()
2373 req.td = td; in userland_sysctl()
2374 req.flags = flags; in userland_sysctl()
2378 req.oldlen = *oldlenp; in userland_sysctl()
2380 error = copyin(oldlenp, &req.oldlen, sizeof(*oldlenp)); in userland_sysctl()
2385 req.validlen = req.oldlen; in userland_sysctl()
2386 req.oldptr = old; in userland_sysctl()
2389 req.newlen = newlen; in userland_sysctl()
2390 req.newptr = new; in userland_sysctl()
2393 req.oldfunc = sysctl_old_user; in userland_sysctl()
2394 req.newfunc = sysctl_new_user; in userland_sysctl()
2395 req.lock = REQ_UNWIRED; in userland_sysctl()
2402 if (req.oldptr && req.oldlen > 4 * PAGE_SIZE) { in userland_sysctl()
2409 req.oldidx = 0; in userland_sysctl()
2410 req.newidx = 0; in userland_sysctl()
2411 error = sysctl_root(0, name, namelen, &req); in userland_sysctl()
2419 if (req.lock == REQ_WIRED && req.validlen > 0) in userland_sysctl()
2420 vsunlock(req.oldptr, req.validlen); in userland_sysctl()
2428 if (req.oldptr && req.oldidx > req.validlen) in userland_sysctl()
2429 *retval = req.validlen; in userland_sysctl()
2431 *retval = req.oldidx; in userland_sysctl()
2443 struct sysctl_req *req = arg; in sbuf_sysctl_drain() local
2446 error = SYSCTL_OUT(req, data, len); in sbuf_sysctl_drain()
2453 struct sysctl_req *req) in sbuf_new_for_sysctl() argument
2460 sbuf_set_drain(s, sbuf_sysctl_drain, req); in sbuf_new_for_sysctl()
2534 sysctl_old_ddb(struct sysctl_req *req, const void *ptr, size_t len) in sysctl_old_ddb() argument
2654 req->oldidx += slen; in sysctl_old_ddb()
2662 sysctl_new_ddb(struct sysctl_req *req, void *p, size_t l) in sysctl_new_ddb() argument
2665 if (!req->newptr) in sysctl_new_ddb()
2681 struct sysctl_req req; in db_sysctl() local
2685 bzero(&req, sizeof req); in db_sysctl()
2686 req.td = kdb_thread; in db_sysctl()
2687 req.oldfunc = sysctl_old_ddb; in db_sysctl()
2688 req.newfunc = sysctl_new_ddb; in db_sysctl()
2689 req.lock = REQ_UNWIRED; in db_sysctl()
2691 req.oldlen = *oldlenp; in db_sysctl()
2693 req.validlen = req.oldlen; in db_sysctl()
2695 req.oldptr = old; in db_sysctl()
2703 error = sysctl_root(0, name, namelen, &req); in db_sysctl()
2710 if (req.oldptr && req.oldidx > req.validlen) in db_sysctl()
2711 *retval = req.validlen; in db_sysctl()
2713 *retval = req.oldidx; in db_sysctl()