| version 1.108.2.3, 2006/10/25 12:58:56 |
version 1.109, 2005/04/01 11:59:37 |
| Line 234 sokvaalloc(vsize_t len, struct socket *s |
|
| Line 234 sokvaalloc(vsize_t len, struct socket *s |
|
| * allocate kva. |
* allocate kva. |
| */ |
*/ |
| |
|
| lva = uvm_km_valloc_wait(kernel_map, len); |
lva = uvm_km_alloc(kernel_map, len, 0, UVM_KMF_VAONLY | UVM_KMF_WAITVA); |
| if (lva == 0) { |
if (lva == 0) { |
| sokvaunreserve(len); |
sokvaunreserve(len); |
| return (0); |
return (0); |
| Line 255 sokvafree(vaddr_t sva, vsize_t len) |
|
| Line 255 sokvafree(vaddr_t sva, vsize_t len) |
|
| * free kva. |
* free kva. |
| */ |
*/ |
| |
|
| uvm_km_free(kernel_map, sva, len); |
uvm_km_free(kernel_map, sva, len, UVM_KMF_VAONLY); |
| |
|
| /* |
/* |
| * unreserve kva. |
* unreserve kva. |
| Line 1405 sosetopt(struct socket *so, int level, i |
|
| Line 1405 sosetopt(struct socket *so, int level, i |
|
| error = EINVAL; |
error = EINVAL; |
| goto bad; |
goto bad; |
| } |
} |
| if (mtod(m, struct linger *)->l_linger < 0 || |
|
| mtod(m, struct linger *)->l_linger > (INT_MAX / hz)) { |
|
| error = EDOM; |
|
| goto bad; |
|
| } |
|
| so->so_linger = mtod(m, struct linger *)->l_linger; |
so->so_linger = mtod(m, struct linger *)->l_linger; |
| /* fall thru... */ |
/* fall thru... */ |
| |
|