Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/nfs/delegation.c nfs_delegation_claim_opens() -> nfs4_valid_open_stateid()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &inode->i_rwsem

fs/nfs/nfs4proc.c _nfs4_do_setattr() -> nfs4_valid_open_stateid()

Type Parameter Key Value
PARAM_VALUE 0 state 1-u64max
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 state->state 0-u32max[c]

fs/nfs/nfs4proc.c nfs4_close_prepare() -> nfs4_valid_open_stateid()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &state->owner->so_lock
TYPE_LOCK (struct nfs4_state_owner)->so_lock

fs/nfs/nfs4proc.c nfs4_lock_prepare() -> nfs4_valid_open_stateid()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/nfs/nfs4proc.c nfs4_refresh_open_old_stateid() -> nfs4_valid_open_stateid()

Type Parameter Key Value
DATA_SOURCE 0 state $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

fs/nfs/nfs4proc.c nfs4_sync_open_stateid() -> nfs4_valid_open_stateid()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
DATA_SOURCE 0 state $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &state->owner->so_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct nfs4_state_owner)->so_lock

fs/nfs/pnfs.c pnfs_update_layout() -> nfs4_valid_open_stateid()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/nfs/nfs4state.c __nfs4_find_state_byowner() -> nfs4_valid_open_stateid()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
CAPPED_DATA 0 state->owner 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_lock
HALF_LOCKED2 &owner->so_lock
HALF_LOCKED2 rcu_read

fs/nfs/nfs4state.c nfs4_reclaim_open_state() -> nfs4_valid_open_stateid()

Type Parameter Key Value
PARAM_VALUE 0 state 4096-ptr_max
PREEMPT_ADD <- disables preempt
LOCK2 &sp->so_lock
TYPE_LOCK (struct nfs4_state_owner)->so_lock

fs/nfs/nfs4state.c nfs4_select_rw_stateid() -> nfs4_valid_open_stateid()

Type Parameter Key Value
DATA_SOURCE 0 state $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 state->state 0-u32max[c]

fs/nfs/nfs4state.c nfs4_state_mark_reclaim_nograce() -> nfs4_valid_open_stateid()

Type Parameter Key Value
BUF_SIZE 0 state (-1),448
BUF_SIZE 0 state (-1),448
DATA_SOURCE 0 state $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 state->state 0-u32max[c]
HALF_LOCKED2 &clp->cl_lock
HALF_LOCKED2 &sp->so_lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &state->owner->so_lock
HALF_LOCKED2 0 &state->seqlock.lock

fs/nfs/nfs4state.c nfs4_state_mark_reclaim_reboot() -> nfs4_valid_open_stateid()

Type Parameter Key Value
DATA_SOURCE 0 state $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &clp->cl_lock
LOCK2 &sp->so_lock
LOCK2 rcu_read
TYPE_LOCK (struct nfs4_state_owner)->so_lock
TYPE_LOCK (struct nfs_client)->cl_lock