Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 14 files:
- block/blk-map.c, line 560
- drivers/block/ublk_drv.c
- drivers/char/random.c
- fs/aio.c, line 1606
- fs/fuse/dev_uring.c, line 655
- io_uring/net.c
- io_uring/rw.c
- kernel/trace/trace_events_user.c, line 2363
- lib/iov_iter.c
- net/ipv4/tcp.c
- net/socket.c
- security/keys/keyctl.c, line 1265
- sound/core/memory.c
- sound/core/pcm_lib.c, line 2118
Smatch caller information:
lib/iov_iter.c __import_iovec_ubuf() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0-1 |
| DATA_SOURCE | 0 | rw | $0 |
| DATA_SOURCE | 3 | i | $3 |
| HARD_MAX | 0 | rw | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | buf | unit_byte |
| UNITS | 2 | len | unit_byte |
| HALF_LOCKED2 | &ctx->uring_lock |
kernel/trace/trace_events_user.c user_events_write() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 1 |
| PARAM_VALUE | 2 | len | 0-1000000000,2147479552 |
| PARAM_VALUE | 3 | i | 2473597652912721920 |
| CAPPED_DATA | 1 | buf | 1 |
| DATA_SOURCE | 1 | buf | $1 |
| DATA_SOURCE | 2 | len | $2 |
| FUZZY_MAX | 2 | len | 2147479552 |
| USER_DATA | 2 | len | 0-1000000000 |
fs/aio.c aio_setup_rw() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0-1 |
| PARAM_VALUE | 2 | len | 0-9223372036854775807 |
| PARAM_VALUE | 3 | i | 180102883164901376,7965983928270811136 |
| CAPPED_DATA | 2 | len | 1 |
| CAPPED_DATA | 2 | len | 1 |
| DATA_SOURCE | 0 | rw | $0 |
| DATA_SOURCE | 3 | i | $5 |
| NOSPEC | 2 | len | |
| NOSPEC | 2 | len | |
| HARD_MAX | 0 | rw | 1 |
| USER_DATA | 2 | len | 0-9223372036854775807[c] |
net/ipv4/tcp.c receive_fallback_to_copy() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0 |
| PARAM_VALUE | 2 | len | 1-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 3 | i | 8464634562268069904 |
| CAPPED_DATA | 1 | buf | 1 |
| CAPPED_DATA | 1 | buf | 1 |
| CAPPED_DATA | 2 | len | 1 |
| DATA_SOURCE | 2 | len | $2 |
| RX_PATH | |||
| UNITS | 2 | len | unit_byte |
| HALF_LOCKED2 | sk | ||
| HALF_LOCKED2 | sk |
net/ipv4/tcp.c tcp_copy_straggler_data() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0 |
| PARAM_VALUE | 2 | len | 1-u32max |
| PARAM_VALUE | 3 | i | 3252789435301113872 |
| CAPPED_DATA | 1 | buf | 1 |
| CAPPED_DATA | 1 | buf | 1 |
| CAPPED_DATA | 2 | len | 1 |
| DATA_SOURCE | 2 | len | $2 |
| NOSPEC | 2 | len | |
| NOSPEC | 2 | len | |
| RX_PATH | |||
| USER_DATA | 2 | len | 1-4294967294[c] |
| UNITS | 2 | len | unit_byte |
| HALF_LOCKED2 | sk |
sound/core/memory.c copy_from_user_toio() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 1 |
| PARAM_VALUE | 3 | i | 2764496678439817216 |
| DATA_SOURCE | 1 | buf | $1 |
| DATA_SOURCE | 2 | len | $2 |
sound/core/memory.c copy_to_user_fromio() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0 |
| PARAM_VALUE | 2 | len | 0-2147479552 |
| PARAM_VALUE | 3 | i | 7911864731348533248 |
| CAPPED_DATA | 2 | len | 1 |
| CAPPED_DATA | 2 | len | 1 |
| DATA_SOURCE | 1 | buf | $0 |
| DATA_SOURCE | 2 | len | $2 |
| USER_DATA | 2 | len | 0-2147479552[c] |
| NO_OVERFLOW_SIMPLE | 2 | len |
security/keys/keyctl.c keyctl_instantiate_key() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 1 |
| PARAM_VALUE | 1 | buf | 1-u64max |
| PARAM_VALUE | 2 | len | 1-u64max |
| PARAM_VALUE | 3 | i | 4492510634971021312 |
| DATA_SOURCE | 1 | buf | $1 |
| DATA_SOURCE | 2 | len | $2 |
| USER_DATA | 2 | len | 1-u64max |
block/blk-map.c blk_rq_map_user() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0-1 |
| PARAM_VALUE | 2 | len | 0-u32max |
| PARAM_VALUE | 3 | i | 994473194779484160 |
| CAPPED_DATA | 2 | len | 1 |
| CAPPED_DATA | 2 | len | 1 |
| DATA_SOURCE | 1 | buf | $3 |
| DATA_SOURCE | 2 | len | $4 |
| FUZZY_MAX | 0 | rw | 1 |
| HARD_MAX | 0 | rw | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | len | 1-u32max[c] |
| UNITS | 1 | buf | unit_byte |
| UNITS | 2 | len | unit_byte |
| HALF_LOCKED2 | &cd->lock |
drivers/block/ublk_drv.c ublk_map_io() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0 |
| PARAM_VALUE | 2 | len | 1-u32max |
| PARAM_VALUE | 3 | i | 3795918676823621632 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &ctx->uring_lock |
drivers/block/ublk_drv.c ublk_unmap_io() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 1 |
| PARAM_VALUE | 2 | len | 0-s32max |
| PARAM_VALUE | 3 | i | 846238640954445824 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | len | 0-s32max[u] |
| UNITS | 2 | len | unit_byte |
| HALF_LOCKED2 | &ctx->uring_lock |
io_uring/net.c io_recv_buf_select() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0 |
| PARAM_VALUE | 2 | len | 0-s32max,18446744071562067968-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 2 | len | |
| UNITS | 1 | buf | unit_byte |
| UNITS | 2 | len | unit_byte |
io_uring/net.c io_recvmsg_prep_setup() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0 |
| PARAM_VALUE | 2 | len | 0-s32max,18446744071562067968-u64max |
| UNITS | 1 | buf | unit_byte |
| UNITS | 2 | len | unit_byte |
| LOCK2 | &ctx->uring_lock | ||
| HALF_LOCKED2 | &sqd->lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |
io_uring/net.c io_send_select_buffer() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 1 |
| PARAM_VALUE | 2 | len | 0-s32max,18446744071562067968-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 2 | len | |
| UNITS | 1 | buf | unit_byte |
| UNITS | 2 | len | unit_byte |
io_uring/net.c io_send_setup() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 1 |
| PARAM_VALUE | 2 | len | 0-s32max,18446744071562067968-u64max |
| UNITS | 1 | buf | unit_byte |
| UNITS | 2 | len | unit_byte |
| LOCK2 | &ctx->uring_lock | ||
| HALF_LOCKED2 | &sqd->lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |
drivers/char/random.c __do_sys_getrandom() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0 |
| PARAM_VALUE | 3 | i | 8311592135892418560 |
| DATA_SOURCE | 1 | buf | $0 |
| DATA_SOURCE | 2 | len | $1 |
| USER_DATA | 2 | len | 0-u64max |
drivers/char/random.c __do_sys_getrandom() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0 |
| PARAM_VALUE | 3 | i | 8311592135892418560 |
| DATA_SOURCE | 1 | buf | $0 |
| DATA_SOURCE | 2 | len | $1 |
| USER_DATA | 2 | len | 0-u64max |
drivers/char/random.c random_ioctl() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 1 |
| PARAM_VALUE | 2 | len | 0-s32max,18446744071562067968-u64max |
| PARAM_VALUE | 3 | i | 7706162596037222400 |
| CAPABLE | 0 | 21 | |
| USER_DATA | 2 | len | 0-s32max,18446744071562067968-u64max |
sound/core/pcm_lib.c do_transfer() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0-1 |
| PARAM_VALUE | 1 | buf | 4096-ptr_max |
| PARAM_VALUE | 3 | i | 6418745938073509888 |
| DATA_SOURCE | 1 | buf | $3 |
| DATA_SOURCE | 2 | len | $4 |
| FUZZY_MAX | 0 | rw | 1 |
| BIT_INFO | 2 | len | 0x0,0x7fffffffffffffff |
| BIT_INFO | 2 | len | 0x0,0x7fffffffffffffff |
| HARD_MAX | 0 | rw | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| USER_DATA | 2 | len | 0-1152921503801540608[c] |
| UNITS | 1 | buf | unit_byte |
| UNITS | 2 | len | unit_byte |
| USER_PTR | 1 | buf | |
| HALF_LOCKED2 | &pool->lock | ||
| HALF_LOCKED2 | &runtime->oss.params_lock |
net/socket.c __sys_recvfrom() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0 |
| PARAM_VALUE | 3 | i | 8896203603836428304 |
| DATA_SOURCE | 1 | buf | $1 |
| DATA_SOURCE | 2 | len | $2 |
| USER_DATA | 1 | buf | 0-u64max |
| USER_DATA | 2 | len | 0-u64max |
net/socket.c __sys_sendto() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 1 |
| PARAM_VALUE | 3 | i | 6290197874174672912 |
| DATA_SOURCE | 1 | buf | $1 |
| DATA_SOURCE | 2 | len | $2 |
| USER_DATA | 1 | buf | 0-u64max |
| USER_DATA | 2 | len | 0-u64max |
fs/fuse/dev_uring.c setup_fuse_copy_state() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0-1 |
| PARAM_VALUE | 3 | i | 4992228368525844480,7346057130725212160 |
| DATA_SOURCE | 0 | rw | $4 |
| DATA_SOURCE | 3 | i | $5 |
| HARD_MAX | 0 | rw | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | buf | unit_byte |
| UNITS | 2 | len | unit_byte |
| HALF_LOCKED2 | &ctx->uring_lock |
io_uring/rw.c __io_import_rw_buffer() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0-1 |
| PARAM_VALUE | 2 | len | 0-u32max |
| DATA_SOURCE | 0 | rw | $0 |
| HARD_MAX | 0 | rw | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| UNITS | 1 | buf | unit_byte |
| UNITS | 2 | len | unit_byte |
| HALF_LOCKED2 | &ctx->uring_lock |
io_uring/rw.c io_prep_rw_pi() -> import_ubuf()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | rw | 0-1 |
| DATA_SOURCE | 0 | rw | $2 |
| HARD_MAX | 0 | rw | 1 |
| USER_DATA | 2 | len | 0-u32max |
| LOCK2 | &ctx->uring_lock | ||
| HALF_LOCKED2 | &sqd->lock | ||
| TYPE_LOCK | (struct io_ring_ctx)->uring_lock |