Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

drivers/md/md-llbitmap.c llbitmap_cond_end_sync() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL

drivers/md/md.c action_store() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mddev->reconfig_mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/md.c add_bound_rdev() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/md.c array_state_store() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
CAPABLE 0 21
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mddev->lock
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct mddev)->lock

drivers/md/md.c do_md_run() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex

drivers/md/md.c do_md_run() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex

drivers/md/md.c do_md_run() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex

drivers/md/md.c md_allow_write() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &of->mutex

drivers/md/md.c md_error() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->lock
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 rcu_read

drivers/md/md.c md_reap_sync_thread() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL

drivers/md/md.c md_reap_sync_thread() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL

drivers/md/md.c md_reap_sync_thread() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL

drivers/md/md.c md_safemode_timeout() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/md.c md_start_sync() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
PARAM_VALUE 0 sd 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/md.c md_start_sync() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/md.c md_unfrozen_sync_thread() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &md->suspend_lock
LOCK2 &mddev->reconfig_mutex
TYPE_LOCK (struct mapped_device)->suspend_lock
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/md.c md_wait_for_blocked_rdev() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/md.c md_write_start() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bi->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->io_barrier

drivers/md/md.c mddev_start_reshape() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mddev->reconfig_mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/md.c rdev_clear_badblocks() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/md.c rdev_set_badblocks() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/md.c rdev_set_badblocks() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/md.c read_rdev() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex
TYPE_LOCK (struct md_cluster_info)->recv_mutex

drivers/md/md.c remove_spares() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mddev->reconfig_mutex

drivers/md/md.c restart_array() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
CAPABLE 0 21
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mddev->lock
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->mutex

drivers/md/md.c set_in_sync() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
CAPABLE 0 21
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mddev->lock
LOCK2 &of->mutex
HALF_LOCKED2 &mddev->reconfig_mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct mddev)->lock

drivers/md/md.c slot_store() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mddev->reconfig_mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/md.c slot_store() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mddev->reconfig_mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/md.c state_store() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mddev->reconfig_mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct mddev)->reconfig_mutex

drivers/md/raid1.c raid1_spare_active() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &conf->device_lock
LOCK2 flags
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex
TYPE_LOCK (struct r1conf)->device_lock

drivers/md/raid1.c raid1_spare_active() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &conf->device_lock
LOCK2 flags
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex
TYPE_LOCK (struct r1conf)->device_lock

drivers/md/md-bitmap.c bitmap_cond_end_sync() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL

drivers/md/md-bitmap.c bitmap_end_write() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &bitmap->counts.lock
LOCK2 flags
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &head->srcu
HALF_LOCKED2 &ic->endio_wait.lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &s->lock
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 irq
HALF_LOCKED2 lock.complete_slot
HALF_LOCKED2 lock.pending_slot
TYPE_LOCK (struct bitmap_counts)->lock

drivers/md/raid5.c raid5_spare_active() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex

drivers/md/raid5.c raid5_spare_active() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex

drivers/md/raid5.c raid5_spare_active() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex

drivers/md/raid5.c reshape_request() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL

drivers/md/raid5.c reshape_request() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL

drivers/md/raid5.c reshape_request() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL

drivers/md/raid10.c raid10_spare_active() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex

drivers/md/raid10.c raid10_spare_active() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex

drivers/md/raid10.c raid10_spare_active() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cinfo->recv_mutex
HALF_LOCKED2 &mddev->reconfig_mutex

drivers/md/raid10.c reshape_request() -> sysfs_notify_dirent_safe()

Type Parameter Key Value
NOCHECK_CALL