Lines Matching refs:req

152     struct sysctl_req *req, struct rm_priotracker *tracker)  in sysctl_root_handler_locked()  argument
166 error = oid->oid_handler(oid, arg1, arg2, req); in sysctl_root_handler_locked()
189 struct sysctl_req req; in sysctl_load_tunable_by_oid_locked() local
215 memset(&req, 0, sizeof(req)); in sysctl_load_tunable_by_oid_locked()
217 req.td = curthread; in sysctl_load_tunable_by_oid_locked()
218 req.oldfunc = sysctl_old_kernel; in sysctl_load_tunable_by_oid_locked()
219 req.newfunc = sysctl_new_kernel; in sysctl_load_tunable_by_oid_locked()
220 req.lock = REQ_UNWIRED; in sysctl_load_tunable_by_oid_locked()
227 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
228 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
234 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
235 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
241 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
242 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
248 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
249 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
255 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
256 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
262 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
263 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
269 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
270 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
276 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
277 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
283 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
284 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
290 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
291 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
297 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
298 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
304 req.newlen = size; in sysctl_load_tunable_by_oid_locked()
305 req.newptr = data; in sysctl_load_tunable_by_oid_locked()
311 req.newlen = strlen(penv); in sysctl_load_tunable_by_oid_locked()
312 req.newptr = penv; in sysctl_load_tunable_by_oid_locked()
318 oidp->oid_arg2, &req, NULL); in sysctl_load_tunable_by_oid_locked()
1002 error = priv_check(req->td, PRIV_SYSCTL_DEBUG); in sysctl_sysctl_debug()
1030 if (req->oldidx) in sysctl_sysctl_name()
1031 error = SYSCTL_OUT(req, ".", 1); in sysctl_sysctl_name()
1033 error = SYSCTL_OUT(req, buf, strlen(buf)); in sysctl_sysctl_name()
1045 if (req->oldidx) in sysctl_sysctl_name()
1046 error = SYSCTL_OUT(req, ".", 1); in sysctl_sysctl_name()
1048 error = SYSCTL_OUT(req, oid->oid_name, in sysctl_sysctl_name()
1067 error = SYSCTL_OUT(req, "", 1); in sysctl_sysctl_name()
1156 error = SYSCTL_OUT(req, newoid, j * sizeof (int)); in sysctl_sysctl_next()
1215 if (!req->newlen) in sysctl_sysctl_name2oid()
1217 if (req->newlen >= MAXPATHLEN) /* XXX arbitrary, undocumented */ in sysctl_sysctl_name2oid()
1221 if (req->newlen >= sizeof(buf)) in sysctl_sysctl_name2oid()
1222 p = malloc(req->newlen+1, M_SYSCTL, M_WAITOK); in sysctl_sysctl_name2oid()
1224 error = SYSCTL_IN(req, p, req->newlen); in sysctl_sysctl_name2oid()
1231 p [req->newlen] = '\0'; in sysctl_sysctl_name2oid()
1243 error = SYSCTL_OUT(req, oid, len * sizeof *oid); in sysctl_sysctl_name2oid()
1263 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req); in sysctl_sysctl_oidfmt()
1271 error = SYSCTL_OUT(req, &oid->oid_kind, sizeof(oid->oid_kind)); in sysctl_sysctl_oidfmt()
1274 error = SYSCTL_OUT(req, oid->oid_fmt, strlen(oid->oid_fmt) + 1); in sysctl_sysctl_oidfmt()
1292 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req); in sysctl_sysctl_oiddescr()
1300 error = SYSCTL_OUT(req, oid->oid_descr, strlen(oid->oid_descr) + 1); in sysctl_sysctl_oiddescr()
1317 error = sysctl_find_oid(arg1, arg2, &oid, NULL, req); in sysctl_sysctl_oidlabel()
1325 error = SYSCTL_OUT(req, oid->oid_label, strlen(oid->oid_label) + 1); in sysctl_sysctl_oidlabel()
1359 error = SYSCTL_OUT(req, &temp, sizeof(temp)); in sysctl_handle_bool()
1360 if (error || !req->newptr) in sysctl_handle_bool()
1366 error = SYSCTL_IN(req, &temp, sizeof(temp)); in sysctl_handle_bool()
1393 error = SYSCTL_OUT(req, &tmpout, sizeof(tmpout)); in sysctl_handle_8()
1395 if (error || !req->newptr) in sysctl_handle_8()
1401 error = SYSCTL_IN(req, arg1, sizeof(tmpout)); in sysctl_handle_8()
1425 error = SYSCTL_OUT(req, &tmpout, sizeof(tmpout)); in sysctl_handle_16()
1427 if (error || !req->newptr) in sysctl_handle_16()
1433 error = SYSCTL_IN(req, arg1, sizeof(tmpout)); in sysctl_handle_16()
1457 error = SYSCTL_OUT(req, &tmpout, sizeof(tmpout)); in sysctl_handle_32()
1459 if (error || !req->newptr) in sysctl_handle_32()
1465 error = SYSCTL_IN(req, arg1, sizeof(tmpout)); in sysctl_handle_32()
1488 error = SYSCTL_OUT(req, &tmpout, sizeof(int)); in sysctl_handle_int()
1490 if (error || !req->newptr) in sysctl_handle_int()
1496 error = SYSCTL_IN(req, arg1, sizeof(int)); in sysctl_handle_int()
1513 error = sysctl_handle_int(oidp, &s, 0, req); in sysctl_msec_to_ticks()
1514 if (error || !req->newptr) in sysctl_msec_to_ticks()
1550 if (req->flags & SCTL_MASK32) { in sysctl_handle_long()
1552 error = SYSCTL_OUT(req, &tmpint, sizeof(int)); in sysctl_handle_long()
1555 error = SYSCTL_OUT(req, &tmplong, sizeof(long)); in sysctl_handle_long()
1557 if (error || !req->newptr) in sysctl_handle_long()
1563 else if (req->flags & SCTL_MASK32) { in sysctl_handle_long()
1564 error = SYSCTL_IN(req, &tmpint, sizeof(int)); in sysctl_handle_long()
1569 error = SYSCTL_IN(req, arg1, sizeof(long)); in sysctl_handle_long()
1592 error = SYSCTL_OUT(req, &tmpout, sizeof(uint64_t)); in sysctl_handle_64()
1594 if (error || !req->newptr) in sysctl_handle_64()
1600 error = SYSCTL_IN(req, arg1, sizeof(uint64_t)); in sysctl_handle_64()
1626 if (req->oldptr != NULL) { in sysctl_handle_string()
1638 error = SYSCTL_OUT(req, tmparg, outlen); in sysctl_handle_string()
1644 error = SYSCTL_OUT(req, NULL, outlen); in sysctl_handle_string()
1646 if (error || !req->newptr) in sysctl_handle_string()
1649 if ((req->newlen - req->newidx) >= arg2) { in sysctl_handle_string()
1652 arg2 = (req->newlen - req->newidx); in sysctl_handle_string()
1653 error = SYSCTL_IN(req, arg1, arg2); in sysctl_handle_string()
1679 req2 = *req; in sysctl_handle_opaque()
1682 error = SYSCTL_OUT(req, arg1, arg2); in sysctl_handle_opaque()
1687 *req = req2; in sysctl_handle_opaque()
1691 error = SYSCTL_IN(req, arg1, arg2); in sysctl_handle_opaque()
1709 error = sysctl_handle_int(oidp, &secs, 0, req); in sysctl_sec_to_timeval()
1710 if (error || req->newptr == NULL) in sysctl_sec_to_timeval()
1725 sysctl_old_kernel(struct sysctl_req *req, const void *p, size_t l) in sysctl_old_kernel() argument
1729 if (req->oldptr) { in sysctl_old_kernel()
1731 if (req->oldlen <= req->oldidx) in sysctl_old_kernel()
1734 if (i > req->oldlen - req->oldidx) in sysctl_old_kernel()
1735 i = req->oldlen - req->oldidx; in sysctl_old_kernel()
1737 bcopy(p, (char *)req->oldptr + req->oldidx, i); in sysctl_old_kernel()
1739 req->oldidx += l; in sysctl_old_kernel()
1740 if (req->oldptr && i != l) in sysctl_old_kernel()
1746 sysctl_new_kernel(struct sysctl_req *req, void *p, size_t l) in sysctl_new_kernel() argument
1748 if (!req->newptr) in sysctl_new_kernel()
1750 if (req->newlen - req->newidx < l) in sysctl_new_kernel()
1752 bcopy((char *)req->newptr + req->newidx, p, l); in sysctl_new_kernel()
1753 req->newidx += l; in sysctl_new_kernel()
1762 struct sysctl_req req; in kernel_sysctl() local
1764 bzero(&req, sizeof req); in kernel_sysctl()
1766 req.td = td; in kernel_sysctl()
1767 req.flags = flags; in kernel_sysctl()
1770 req.oldlen = *oldlenp; in kernel_sysctl()
1772 req.validlen = req.oldlen; in kernel_sysctl()
1775 req.oldptr= old; in kernel_sysctl()
1779 req.newlen = newlen; in kernel_sysctl()
1780 req.newptr = new; in kernel_sysctl()
1783 req.oldfunc = sysctl_old_kernel; in kernel_sysctl()
1784 req.newfunc = sysctl_new_kernel; in kernel_sysctl()
1785 req.lock = REQ_UNWIRED; in kernel_sysctl()
1787 error = sysctl_root(0, name, namelen, &req); in kernel_sysctl()
1789 if (req.lock == REQ_WIRED && req.validlen > 0) in kernel_sysctl()
1790 vsunlock(req.oldptr, req.validlen); in kernel_sysctl()
1796 if (req.oldptr && req.oldidx > req.validlen) in kernel_sysctl()
1797 *retval = req.validlen; in kernel_sysctl()
1799 *retval = req.oldidx; in kernel_sysctl()
1830 sysctl_old_user(struct sysctl_req *req, const void *p, size_t l) in sysctl_old_user() argument
1835 origidx = req->oldidx; in sysctl_old_user()
1836 req->oldidx += l; in sysctl_old_user()
1837 if (req->oldptr == NULL) in sysctl_old_user()
1844 if (req->lock != REQ_WIRED) in sysctl_old_user()
1848 len = req->validlen; in sysctl_old_user()
1854 if (req->lock == REQ_WIRED) { in sysctl_old_user()
1855 error = copyout_nofault(p, (char *)req->oldptr + in sysctl_old_user()
1858 error = copyout(p, (char *)req->oldptr + origidx, i); in sysctl_old_user()
1868 sysctl_new_user(struct sysctl_req *req, void *p, size_t l) in sysctl_new_user() argument
1872 if (!req->newptr) in sysctl_new_user()
1874 if (req->newlen - req->newidx < l) in sysctl_new_user()
1878 error = copyin((char *)req->newptr + req->newidx, p, l); in sysctl_new_user()
1879 req->newidx += l; in sysctl_new_user()
1888 sysctl_wire_old_buffer(struct sysctl_req *req, size_t len) in sysctl_wire_old_buffer() argument
1893 wiredlen = (len > 0 && len < req->oldlen) ? len : req->oldlen; in sysctl_wire_old_buffer()
1895 if (req->lock != REQ_WIRED && req->oldptr && in sysctl_wire_old_buffer()
1896 req->oldfunc == sysctl_old_user) { in sysctl_wire_old_buffer()
1898 ret = vslock(req->oldptr, wiredlen); in sysctl_wire_old_buffer()
1905 req->lock = REQ_WIRED; in sysctl_wire_old_buffer()
1906 req->validlen = wiredlen; in sysctl_wire_old_buffer()
1913 int *nindx, struct sysctl_req *req) in sysctl_find_oid() argument
1971 error = sysctl_find_oid(arg1, arg2, &oid, &indx, req); in sysctl_root()
1988 if (req->newptr && !(oid->oid_kind & CTLFLAG_WR)) { in sysctl_root()
1993 KASSERT(req->td != NULL, ("sysctl_root(): req->td == NULL")); in sysctl_root()
2000 if (IN_CAPABILITY_MODE(req->td)) { in sysctl_root()
2001 if ((req->oldptr && !(oid->oid_kind & CTLFLAG_CAPRD)) || in sysctl_root()
2002 (req->newptr && !(oid->oid_kind & CTLFLAG_CAPWR))) { in sysctl_root()
2010 if (req->newptr && (oid->oid_kind & CTLFLAG_SECURE)) { in sysctl_root()
2012 error = securelevel_gt(req->td->td_ucred, lvl); in sysctl_root()
2018 if (req->newptr && !(oid->oid_kind & CTLFLAG_ANYBODY)) { in sysctl_root()
2025 prison_owns_vnet(req->td->td_ucred)) in sysctl_root()
2030 error = priv_check(req->td, priv); in sysctl_root()
2048 error = mac_system_check_sysctl(req->td->td_ucred, oid, arg1, arg2, in sysctl_root()
2049 req); in sysctl_root()
2057 error = sysctl_root_handler_locked(oid, arg1, arg2, req, &tracker); in sysctl_root()
2110 struct sysctl_req req; in userland_sysctl() local
2112 bzero(&req, sizeof req); in userland_sysctl()
2114 req.td = td; in userland_sysctl()
2115 req.flags = flags; in userland_sysctl()
2119 req.oldlen = *oldlenp; in userland_sysctl()
2121 error = copyin(oldlenp, &req.oldlen, sizeof(*oldlenp)); in userland_sysctl()
2126 req.validlen = req.oldlen; in userland_sysctl()
2127 req.oldptr = old; in userland_sysctl()
2130 req.newlen = newlen; in userland_sysctl()
2131 req.newptr = new; in userland_sysctl()
2134 req.oldfunc = sysctl_old_user; in userland_sysctl()
2135 req.newfunc = sysctl_new_user; in userland_sysctl()
2136 req.lock = REQ_UNWIRED; in userland_sysctl()
2143 if (req.oldptr && req.oldlen > 4 * PAGE_SIZE) { in userland_sysctl()
2150 req.oldidx = 0; in userland_sysctl()
2151 req.newidx = 0; in userland_sysctl()
2152 error = sysctl_root(0, name, namelen, &req); in userland_sysctl()
2160 if (req.lock == REQ_WIRED && req.validlen > 0) in userland_sysctl()
2161 vsunlock(req.oldptr, req.validlen); in userland_sysctl()
2169 if (req.oldptr && req.oldidx > req.validlen) in userland_sysctl()
2170 *retval = req.validlen; in userland_sysctl()
2172 *retval = req.oldidx; in userland_sysctl()
2184 struct sysctl_req *req = arg; in sbuf_sysctl_drain() local
2187 error = SYSCTL_OUT(req, data, len); in sbuf_sysctl_drain()
2194 struct sysctl_req *req) in sbuf_new_for_sysctl() argument
2201 sbuf_set_drain(s, sbuf_sysctl_drain, req); in sbuf_new_for_sysctl()