Documented in 1 files:

Defined in 1 files as a function:

Referenced in 30 files:

Smatch caller information:

net/ceph/messenger_v2.c setup_crypto() -> memalloc_noio_save()

Type Parameter Key Value
LOCK2 &con->mutex
TYPE_LOCK (struct ceph_connection)->mutex

block/blk-throttle.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &bdev->bd_queue->rq_qos_mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

fs/erofs/zdata.c z_erofs_decompress_kickoff() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

block/elevator.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &q->sysfs_lock
HALF_LOCKED2 &set->update_nr_hwq_lock

drivers/md/md.c mddev_suspend() -> memalloc_noio_save()

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

drivers/infiniband/ulp/ipoib/ipoib_cm.c ipoib_cm_tx_init() -> memalloc_noio_save()

Type Parameter Key Value
HALF_LOCKED2 &pool->lock

mm/percpu.c pcpu_balance_workfn() -> memalloc_noio_save()

Type Parameter Key Value
HALF_LOCKED2 &pool->lock

block/blk-mq.c __blk_mq_update_nr_hw_queues() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &set->tag_list_lock
LOCK2 &set->update_nr_hwq_lock
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &dev->shutdown_lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &lock
TYPE_LOCK (struct blk_mq_tag_set)->tag_list_lock
TYPE_LOCK (struct blk_mq_tag_set)->update_nr_hwq_lock

block/blk-mq.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &set->tag_list_lock
TYPE_LOCK (struct blk_mq_tag_set)->tag_list_lock

drivers/ufs/core/ufs-sysfs.c max_number_of_rtt_store() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &hba->host_sem
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct ufs_hba)->host_sem

block/blk-mq-debugfs.c blk_debugfs_lock() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &set->tag_list_lock
LOCK2 &set->update_nr_hwq_lock
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &dev->shutdown_lock
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &lock
TYPE_LOCK (struct blk_mq_tag_set)->tag_list_lock
TYPE_LOCK (struct blk_mq_tag_set)->update_nr_hwq_lock

drivers/scsi/scsi_lib.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 global &system_transition_mutex

drivers/scsi/mpi3mr/mpi3mr_fw.c mpi3mr_fault_uevent_emit() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mrioc->reset_mutex
HALF_LOCKED2 &pool->lock

block/blk-mq-sched.c blk_debugfs_lock() -> memalloc_noio_save()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &q->sysfs_lock
HALF_LOCKED2 &set->tag_list_lock
HALF_LOCKED2 &set->update_nr_hwq_lock

drivers/ufs/core/ufs-txeq.c ufshcd_tx_eqtr() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &hba->clk_scaling_lock
HALF_LOCKED2 &hba->host->scan_mutex
HALF_LOCKED2 &hba->host_sem
HALF_LOCKED2 &hba->wb_mutex

block/blk-iocost.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &bdev->bd_queue->rq_qos_mutex
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/md/dm-zoned-metadata.c dmz_reset_zone() -> memalloc_noio_save()

Type Parameter Key Value
LOCK2 &pool->lock
LOCK2 &zmd->map_lock
HALF_LOCKED2 &zmd->mblk_flush_lock
HALF_LOCKED2 &zmd->mblk_sem
TYPE_LOCK (struct dmz_metadata)->map_lock

drivers/md/dm-zoned-metadata.c dmz_update_zone() -> memalloc_noio_save()

Type Parameter Key Value
LOCK2 &pool->lock
LOCK2 &zmd->map_lock
LOCK2 &zmd->mblk_sem
TYPE_LOCK (struct dmz_metadata)->map_lock
TYPE_LOCK (struct dmz_metadata)->mblk_sem

drivers/scsi/sd_zbc.c sd_zbc_revalidate_zones() -> memalloc_noio_save()

Type Parameter Key Value

block/blk-sysfs.c blk_debugfs_lock() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &q->sysfs_lock
HALF_LOCKED2 &set->update_nr_hwq_lock
TYPE_LOCK (struct request_queue)->sysfs_lock

block/blk-sysfs.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &set->update_nr_hwq_lock
TYPE_LOCK (struct kernfs_open_file)->mutex

net/ceph/messenger.c ceph_tcp_connect() -> memalloc_noio_save()

Type Parameter Key Value
LOCK2 &con->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ceph_connection)->mutex

drivers/nvme/host/core.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &q->limits_lock
HALF_LOCKED2 &ctrl->scan_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct request_queue)->limits_lock

drivers/block/loop.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
LOCK2 &lo->lo_mutex
HALF_LOCKED2 &q->limits_lock
TYPE_LOCK (struct loop_device)->lo_mutex

drivers/block/aoe/aoedev.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value

mm/filemap.c filemap_get_pages() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &inode->i_rwsem

drivers/base/power/runtime.c rpm_callback() -> memalloc_noio_save()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->driver_data->sfd_lock
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &dev->power.lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

drivers/usb/core/hub.c usb_reset_device() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->dev.mutex
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 &ud->sysfs_lock
HALF_LOCKED2 &udev->dev.mutex

drivers/md/dm-ima.c dm_ima_alloc() -> memalloc_noio_save()

Type Parameter Key Value

drivers/md/dm-ima.c dm_ima_measure_data() -> memalloc_noio_save()

Type Parameter Key Value

kernel/trace/blktrace.c blk_debugfs_lock() -> memalloc_noio_save()

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

drivers/block/ublk_drv.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ub->mutex
HALF_LOCKED2 &ctx->uring_lock
TYPE_LOCK (struct ublk_device)->mutex

drivers/md/dm.c dm_kobject_uevent() -> memalloc_noio_save()

Type Parameter Key Value
HALF_LOCKED2 global &_hash_lock

block/blk-zoned.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &q->limits_lock
HALF_LOCKED2 &ub->mutex
HALF_LOCKED2 global &lock

block/blk-zoned.c blk_revalidate_disk_zones() -> memalloc_noio_save()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ub->mutex
HALF_LOCKED2 global &lock

block/blk-zoned.c disk_zone_wplugs_worker() -> memalloc_noio_save()

Type Parameter Key Value

drivers/mtd/mtd_blkdevs.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &mtd_table_mutex

block/blk-crypto-fallback.c blk_crypto_alloc_enc_bio() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &md->io_barrier

drivers/base/core.c device_del() -> memalloc_noio_save()

Type Parameter Key Value

block/blk-rq-qos.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &bdev->bd_queue->rq_qos_mutex
HALF_LOCKED2 &of->mutex

block/blk-cgroup.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &q->elevator_lock

drivers/scsi/scsi_scan.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &shost->scan_mutex
TYPE_LOCK (struct Scsi_Host)->scan_mutex

fs/zonefs/super.c __zonefs_io_error() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &zi->i_truncate_mutex
TYPE_LOCK (struct zonefs_inode_info)->i_truncate_mutex

drivers/block/rbd.c blk_mq_freeze_queue() -> memalloc_noio_save()

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

block/genhd.c add_disk_fwnode() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

block/genhd.c del_gendisk() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &_d->mutex
HALF_LOCKED2 &dev->mutex
HALF_LOCKED2 &md->table_devices_lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &ub->mutex
HALF_LOCKED2 global &bch_register_lock
HALF_LOCKED2 global &devices_mutex
HALF_LOCKED2 global &mtd_table_mutex

drivers/block/virtio_blk.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/nvme/host/tcp.c nvme_tcp_free_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

block/blk-wbt.c blk_debugfs_lock() -> memalloc_noio_save()

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

block/blk-wbt.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

mm/vmalloc.c memalloc_apply_gfp_scope() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

net/ceph/crypto.c set_aes_tfm() -> memalloc_noio_save()

Type Parameter Key Value
LOCK2 &ac->mutex
HALF_LOCKED2 &monc->mutex
TYPE_LOCK (struct ceph_auth_client)->mutex

net/ceph/crypto.c set_krb5_tfms() -> memalloc_noio_save()

Type Parameter Key Value
LOCK2 &ac->mutex
HALF_LOCKED2 &monc->mutex
TYPE_LOCK (struct ceph_auth_client)->mutex

block/blk-settings.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &q->limits_lock
HALF_LOCKED2 &nbd->config_lock
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct request_queue)->limits_lock

block/blk-iolatency.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
HALF_LOCKED2 &pool->lock

drivers/nvdimm/bus.c nvdimm_clear_poison() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/nvdimm/bus.c nvdimm_clear_poison() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/block/nbd.c blk_mq_freeze_queue() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &nbd->config_lock
TYPE_LOCK (struct nbd_device)->config_lock

drivers/md/dm-vdo/memory-alloc.c vdo_allocate_memory() -> memalloc_noio_save()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 global &instances_lock