| /linux/fs/iomap/ |
| H A D | iter.c | 9 static inline void iomap_iter_reset_iomap(struct iomap_iter *iter) in iomap_iter_reset_iomap() argument 11 if (iter->fbatch) { in iomap_iter_reset_iomap() 12 folio_batch_release(iter->fbatch); in iomap_iter_reset_iomap() 13 kfree(iter->fbatch); in iomap_iter_reset_iomap() 14 iter->fbatch = NULL; in iomap_iter_reset_iomap() 17 iter->status = 0; in iomap_iter_reset_iomap() 18 memset(&iter->iomap, 0, sizeof(iter->iomap)); in iomap_iter_reset_iomap() 19 memset(&iter->srcmap, 0, sizeof(iter->srcmap)); in iomap_iter_reset_iomap() 23 int iomap_iter_advance(struct iomap_iter *iter, u64 count) in iomap_iter_advance() argument 25 if (WARN_ON_ONCE(count > iomap_length(iter))) in iomap_iter_advance() [all …]
|
| H A D | seek.c | 9 static int iomap_seek_hole_iter(struct iomap_iter *iter, in iomap_seek_hole_iter() argument 12 loff_t length = iomap_length(iter); in iomap_seek_hole_iter() 14 switch (iter->iomap.type) { in iomap_seek_hole_iter() 16 *hole_pos = mapping_seek_hole_data(iter->inode->i_mapping, in iomap_seek_hole_iter() 17 iter->pos, iter->pos + length, SEEK_HOLE); in iomap_seek_hole_iter() 18 if (*hole_pos == iter->pos + length) in iomap_seek_hole_iter() 19 return iomap_iter_advance(iter, length); in iomap_seek_hole_iter() 22 *hole_pos = iter->pos; in iomap_seek_hole_iter() 25 return iomap_iter_advance(iter, length); in iomap_seek_hole_iter() 33 struct iomap_iter iter = { in iomap_seek_hole() local [all …]
|
| H A D | buffered-io.c | 342 static inline bool iomap_block_needs_zeroing(const struct iomap_iter *iter, in iomap_block_needs_zeroing() argument 345 const struct iomap *srcmap = iomap_iter_srcmap(iter); in iomap_block_needs_zeroing() 349 pos >= i_size_read(iter->inode); in iomap_block_needs_zeroing() 361 static int iomap_read_inline_data(const struct iomap_iter *iter, in iomap_read_inline_data() argument 364 const struct iomap *iomap = iomap_iter_srcmap(iter); in iomap_read_inline_data() 365 size_t size = i_size_read(iter->inode) - iomap->offset; in iomap_read_inline_data() 377 ifs_alloc(iter->inode, folio, iter->flags); in iomap_read_inline_data() 498 static int iomap_read_folio_iter(struct iomap_iter *iter, in iomap_read_folio_iter() argument 501 const struct iomap *iomap = &iter->iomap; in iomap_read_folio_iter() 502 loff_t pos = iter->pos; in iomap_read_folio_iter() [all …]
|
| /linux/block/ |
| H A D | blk-mq-dma.c | 14 static bool __blk_map_iter_next(struct blk_map_iter *iter) in __blk_map_iter_next() argument 16 if (iter->iter.bi_size) in __blk_map_iter_next() 18 if (!iter->bio || !iter->bio->bi_next) in __blk_map_iter_next() 21 iter->bio = iter->bio->bi_next; in __blk_map_iter_next() 22 if (iter->is_integrity) { in __blk_map_iter_next() 23 iter->iter = bio_integrity(iter->bio)->bip_iter; in __blk_map_iter_next() 24 iter->bvecs = bio_integrity(iter->bio)->bip_vec; in __blk_map_iter_next() 26 iter->iter = iter->bio->bi_iter; in __blk_map_iter_next() 27 iter->bvecs = iter->bio->bi_io_vec; in __blk_map_iter_next() 32 static bool blk_map_iter_next(struct request *req, struct blk_map_iter *iter, in blk_map_iter_next() argument [all …]
|
| H A D | t10-pi.c | 37 static void t10_pi_generate(struct blk_integrity_iter *iter, in t10_pi_generate() argument 43 for (i = 0 ; i < iter->data_size ; i += iter->interval) { in t10_pi_generate() 44 struct t10_pi_tuple *pi = iter->prot_buf + offset; in t10_pi_generate() 46 pi->guard_tag = t10_pi_csum(0, iter->data_buf, iter->interval, in t10_pi_generate() 50 iter->prot_buf, offset, bi->csum_type); in t10_pi_generate() 54 pi->ref_tag = cpu_to_be32(lower_32_bits(iter->seed)); in t10_pi_generate() 58 iter->data_buf += iter->interval; in t10_pi_generate() 59 iter->prot_buf += bi->metadata_size; in t10_pi_generate() 60 iter->seed++; in t10_pi_generate() 64 static blk_status_t t10_pi_verify(struct blk_integrity_iter *iter, in t10_pi_verify() argument [all …]
|
| /linux/arch/arm64/kvm/vgic/ |
| H A D | vgic-debug.c | 35 static void iter_next(struct kvm *kvm, struct vgic_state_iter *iter) in iter_next() argument 39 if (iter->dist_id == 0) { in iter_next() 40 iter->dist_id++; in iter_next() 48 if (iter->intid >= (iter->nr_spis + VGIC_NR_PRIVATE_IRQS - 1) && in iter_next() 49 iter->nr_lpis) { in iter_next() 50 if (iter->lpi_idx < iter->nr_lpis) in iter_next() 51 xa_find_after(&dist->lpi_xa, &iter->intid, in iter_next() 54 iter->lpi_idx++; in iter_next() 58 iter->intid++; in iter_next() 59 if (iter->intid == VGIC_NR_PRIVATE_IRQS && in iter_next() [all …]
|
| /linux/include/linux/ |
| H A D | bvec.h | 98 #define __bvec_iter_bvec(bvec, iter) (&(bvec)[(iter).bi_idx]) argument 101 #define mp_bvec_iter_page(bvec, iter) \ argument 102 (__bvec_iter_bvec((bvec), (iter))->bv_page) 104 #define mp_bvec_iter_len(bvec, iter) \ argument 105 min((iter).bi_size, \ 106 __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done) 108 #define mp_bvec_iter_offset(bvec, iter) \ argument 109 (__bvec_iter_bvec((bvec), (iter))->bv_offset + (iter).bi_bvec_done) 111 #define mp_bvec_iter_page_idx(bvec, iter) \ argument 112 (mp_bvec_iter_offset((bvec), (iter)) / PAGE_SIZE) [all …]
|
| H A D | iov_iter.h | 24 size_t iterate_ubuf(struct iov_iter *iter, size_t len, void *priv, void *priv2, in iterate_ubuf() argument 27 void __user *base = iter->ubuf; in iterate_ubuf() 30 remain = step(base + iter->iov_offset, 0, len, priv, priv2); in iterate_ubuf() 32 iter->iov_offset += progress; in iterate_ubuf() 33 iter->count -= progress; in iterate_ubuf() 41 size_t iterate_iovec(struct iov_iter *iter, size_t len, void *priv, void *priv2, in iterate_iovec() argument 44 const struct iovec *p = iter->__iov; in iterate_iovec() 45 size_t progress = 0, skip = iter->iov_offset; in iterate_iovec() 64 iter->nr_segs -= p - iter->__iov; in iterate_iovec() 65 iter->__iov = p; in iterate_iovec() [all …]
|
| H A D | radix-tree.h | 233 struct radix_tree_iter *iter, void __rcu **slot); 249 const struct radix_tree_iter *iter, unsigned int tag); 264 struct radix_tree_iter *iter, gfp_t gfp, 281 radix_tree_iter_init(struct radix_tree_iter *iter, unsigned long start) in radix_tree_iter_init() argument 291 iter->index = 0; in radix_tree_iter_init() 292 iter->next_index = start; in radix_tree_iter_init() 310 struct radix_tree_iter *iter, unsigned flags); 324 struct radix_tree_iter *iter, unsigned long index) in radix_tree_iter_lookup() argument 326 radix_tree_iter_init(iter, index); in radix_tree_iter_lookup() 327 return radix_tree_next_chunk(root, iter, RADIX_TREE_ITER_CONTIG); in radix_tree_iter_lookup() [all …]
|
| /linux/net/netlabel/ |
| H A D | netlabel_addrlist.c | 49 struct netlbl_af4list *iter; in netlbl_af4list_search() local 51 list_for_each_entry_rcu(iter, head, list) in netlbl_af4list_search() 52 if (iter->valid && (addr & iter->mask) == iter->addr) in netlbl_af4list_search() 53 return iter; in netlbl_af4list_search() 74 struct netlbl_af4list *iter; in netlbl_af4list_search_exact() local 76 list_for_each_entry_rcu(iter, head, list) in netlbl_af4list_search_exact() 77 if (iter->valid && iter->addr == addr && iter->mask == mask) in netlbl_af4list_search_exact() 78 return iter; in netlbl_af4list_search_exact() 99 struct netlbl_af6list *iter; in netlbl_af6list_search() local 101 list_for_each_entry_rcu(iter, head, list) in netlbl_af6list_search() [all …]
|
| H A D | netlabel_addrlist.h | 82 #define netlbl_af4list_foreach(iter, head) \ argument 83 for (iter = __af4list_valid((head)->next, head); \ 84 &iter->list != (head); \ 85 iter = __af4list_valid(iter->list.next, head)) 87 #define netlbl_af4list_foreach_rcu(iter, head) \ argument 88 for (iter = __af4list_valid_rcu((head)->next, head); \ 89 &iter->list != (head); \ 90 iter = __af4list_valid_rcu(iter->list.next, head)) 92 #define netlbl_af4list_foreach_safe(iter, tmp, head) \ argument 93 for (iter = __af4list_valid((head)->next, head), \ [all …]
|
| /linux/arch/x86/kvm/mmu/ |
| H A D | tdp_mmu.c | 240 struct tdp_iter *iter) in tdp_mmu_init_child_sp() argument 245 parent_sp = sptep_to_sp(rcu_dereference(iter->sptep)); in tdp_mmu_init_child_sp() 250 tdp_mmu_init_sp(child_sp, iter->sptep, iter->gfn, role); in tdp_mmu_init_child_sp() 651 struct tdp_iter *iter, in __tdp_mmu_set_spte_atomic() argument 660 WARN_ON_ONCE(iter->yielded || is_frozen_spte(iter->old_spte)); in __tdp_mmu_set_spte_atomic() 662 if (is_mirror_sptep(iter->sptep) && !is_frozen_spte(new_spte)) { in __tdp_mmu_set_spte_atomic() 672 ret = set_external_spte_present(kvm, iter->sptep, iter->gfn, in __tdp_mmu_set_spte_atomic() 673 iter->old_spte, new_spte, iter->level); in __tdp_mmu_set_spte_atomic() 677 u64 *sptep = rcu_dereference(iter->sptep); in __tdp_mmu_set_spte_atomic() 687 if (!try_cmpxchg64(sptep, &iter->old_spte, new_spte)) in __tdp_mmu_set_spte_atomic() [all …]
|
| /linux/kernel/ |
| H A D | kallsyms.c | 571 static int get_ksymbol_mod(struct kallsym_iter *iter) in get_ksymbol_mod() argument 573 int ret = module_get_kallsym(iter->pos - kallsyms_num_syms, in get_ksymbol_mod() 574 &iter->value, &iter->type, in get_ksymbol_mod() 575 iter->name, iter->module_name, in get_ksymbol_mod() 576 &iter->exported); in get_ksymbol_mod() 578 iter->pos_mod_end = iter->pos; in get_ksymbol_mod() 590 static int get_ksymbol_ftrace_mod(struct kallsym_iter *iter) in get_ksymbol_ftrace_mod() argument 592 int ret = ftrace_mod_get_kallsym(iter->pos - iter->pos_mod_end, in get_ksymbol_ftrace_mod() 593 &iter->value, &iter->type, in get_ksymbol_ftrace_mod() 594 iter->name, iter->module_name, in get_ksymbol_ftrace_mod() [all …]
|
| H A D | ucount.c | 217 struct ucounts *ucounts, *iter, *bad; in inc_ucount() local 220 for (iter = ucounts; iter; iter = tns->ucounts) { in inc_ucount() 222 tns = iter->ns; in inc_ucount() 224 if (!atomic_long_inc_below(&iter->ucount[type], max)) in inc_ucount() 229 bad = iter; in inc_ucount() 230 for (iter = ucounts; iter != bad; iter = iter->ns->ucounts) in inc_ucount() 231 atomic_long_dec(&iter->ucount[type]); in inc_ucount() 239 struct ucounts *iter; in dec_ucount() local 240 for (iter = ucounts; iter; iter = iter->ns->ucounts) { in dec_ucount() 241 long dec = atomic_long_dec_if_positive(&iter->ucount[type]); in dec_ucount() [all …]
|
| /linux/fs/afs/ |
| H A D | dir_search.c | 40 static bool afs_dir_reset_iter(struct afs_dir_iter *iter) in afs_dir_reset_iter() argument 42 unsigned long long i_size = i_size_read(&iter->dvnode->netfs.inode); in afs_dir_reset_iter() 49 iter->loop_check = nblocks * (AFS_DIR_SLOTS_PER_BLOCK - AFS_DIR_RESV_BLOCKS); in afs_dir_reset_iter() 50 iter->prev_entry = 0; /* Hash head is previous */ in afs_dir_reset_iter() 57 bool afs_dir_init_iter(struct afs_dir_iter *iter, const struct qstr *name) in afs_dir_init_iter() argument 59 iter->nr_slots = afs_dir_calc_slots(name->len); in afs_dir_init_iter() 60 iter->bucket = afs_dir_hash_name(name); in afs_dir_init_iter() 61 return afs_dir_reset_iter(iter); in afs_dir_init_iter() 67 union afs_xdr_dir_block *afs_dir_find_block(struct afs_dir_iter *iter, size_t block) in afs_dir_find_block() argument 69 struct folio_queue *fq = iter->fq; in afs_dir_find_block() [all …]
|
| /linux/drivers/gpu/drm/etnaviv/ |
| H A D | etnaviv_dump.c | 67 static void etnaviv_core_dump_header(struct core_dump_iterator *iter, in etnaviv_core_dump_header() argument 70 struct etnaviv_dump_object_header *hdr = iter->hdr; in etnaviv_core_dump_header() 74 hdr->file_offset = cpu_to_le32(iter->data - iter->start); in etnaviv_core_dump_header() 75 hdr->file_size = cpu_to_le32(data_end - iter->data); in etnaviv_core_dump_header() 77 iter->hdr++; in etnaviv_core_dump_header() 78 iter->data += le32_to_cpu(hdr->file_size); in etnaviv_core_dump_header() 81 static void etnaviv_core_dump_registers(struct core_dump_iterator *iter, in etnaviv_core_dump_registers() argument 84 struct etnaviv_dump_registers *reg = iter->data; in etnaviv_core_dump_registers() 97 etnaviv_core_dump_header(iter, ETDUMP_BUF_REG, reg); in etnaviv_core_dump_registers() 100 static void etnaviv_core_dump_mmu(struct core_dump_iterator *iter, in etnaviv_core_dump_mmu() argument [all …]
|
| /linux/kernel/trace/ |
| H A D | trace_output.c | 30 enum print_line_t trace_print_bputs_msg_only(struct trace_iterator *iter) in trace_print_bputs_msg_only() argument 32 struct trace_seq *s = &iter->seq; in trace_print_bputs_msg_only() 33 struct trace_entry *entry = iter->ent; in trace_print_bputs_msg_only() 43 enum print_line_t trace_print_bprintk_msg_only(struct trace_iterator *iter) in trace_print_bprintk_msg_only() argument 45 struct trace_seq *s = &iter->seq; in trace_print_bprintk_msg_only() 46 struct trace_entry *entry = iter->ent; in trace_print_bprintk_msg_only() 56 enum print_line_t trace_print_printk_msg_only(struct trace_iterator *iter) in trace_print_printk_msg_only() argument 58 struct trace_seq *s = &iter->seq; in trace_print_printk_msg_only() 59 struct trace_entry *entry = iter->ent; in trace_print_printk_msg_only() 300 int trace_raw_output_prep(struct trace_iterator *iter, in trace_raw_output_prep() argument [all …]
|
| H A D | trace_kdb.c | 20 static struct trace_iterator iter; variable 29 tr = iter.tr; in ftrace_dump_buf() 40 trace_iterator_reset(&iter); in ftrace_dump_buf() 41 iter.iter_flags |= TRACE_FILE_LAT_FMT; in ftrace_dump_buf() 45 iter.buffer_iter[cpu] = in ftrace_dump_buf() 46 ring_buffer_read_start(iter.array_buffer->buffer, in ftrace_dump_buf() 48 tracing_iter_reset(&iter, cpu); in ftrace_dump_buf() 51 iter.cpu_file = cpu_file; in ftrace_dump_buf() 52 iter.buffer_iter[cpu_file] = in ftrace_dump_buf() 53 ring_buffer_read_start(iter.array_buffer->buffer, in ftrace_dump_buf() [all …]
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | iters_state_safety.c | 36 struct bpf_iter_num iter; in create_and_destroy() local 40 "r1 = %[iter];" in create_and_destroy() 45 "r1 = %[iter];" in create_and_destroy() 48 : __imm_ptr(iter), ITER_HELPERS in create_and_destroy() 59 struct bpf_iter_num iter; in create_and_forget_to_destroy_fail() local 63 "r1 = %[iter];" in create_and_forget_to_destroy_fail() 68 : __imm_ptr(iter), ITER_HELPERS in create_and_forget_to_destroy_fail() 80 struct bpf_iter_num iter; in destroy_without_creating_fail() local 83 "r1 = %[iter];" in destroy_without_creating_fail() 86 : __imm_ptr(iter), ITER_HELPER in destroy_without_creating_fail() 97 struct bpf_iter_num iter; compromise_iter_w_direct_write_fail() local 124 struct bpf_iter_num iter; compromise_iter_w_direct_write_and_skip_destroy_fail() local 149 struct bpf_iter_num iter; compromise_iter_w_helper_write_fail() local 178 struct bpf_iter_num iter; subprog_with_iter() local 202 struct bpf_iter_num iter; valid_stack_reuse() local 236 struct bpf_iter_num iter; double_create_fail() local 264 struct bpf_iter_num iter; double_destroy_fail() local 290 struct bpf_iter_num iter; next_without_new_fail() local 311 struct bpf_iter_num iter; next_after_destroy_fail() local 375 struct bpf_iter_num iter; __flag() local [all...] |
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | icm.h | 97 struct mlx4_icm_iter *iter) in mlx4_icm_first() argument 99 iter->icm = icm; in mlx4_icm_first() 100 iter->chunk = list_empty(&icm->chunk_list) ? in mlx4_icm_first() 103 iter->page_idx = 0; in mlx4_icm_first() 106 static inline int mlx4_icm_last(struct mlx4_icm_iter *iter) in mlx4_icm_last() argument 108 return !iter->chunk; in mlx4_icm_last() 111 static inline void mlx4_icm_next(struct mlx4_icm_iter *iter) in mlx4_icm_next() argument 113 if (++iter->page_idx >= iter->chunk->nsg) { in mlx4_icm_next() 114 if (iter->chunk->list.next == &iter->icm->chunk_list) { in mlx4_icm_next() 115 iter->chunk = NULL; in mlx4_icm_next() [all …]
|
| /linux/drivers/net/can/spi/mcp251xfd/ |
| H A D | mcp251xfd-dump.c | 44 static void mcp251xfd_dump_header(struct mcp251xfd_dump_iter *iter, in mcp251xfd_dump_header() argument 48 struct mcp251xfd_dump_object_header *hdr = iter->hdr; in mcp251xfd_dump_header() 51 len = data_end - iter->data; in mcp251xfd_dump_header() 57 hdr->offset = cpu_to_le32(iter->data - iter->start); in mcp251xfd_dump_header() 60 iter->hdr++; in mcp251xfd_dump_header() 61 iter->data += len; in mcp251xfd_dump_header() 65 struct mcp251xfd_dump_iter *iter) in mcp251xfd_dump_registers() argument 68 struct mcp251xfd_dump_object_reg *reg = iter->data; in mcp251xfd_dump_registers() 98 mcp251xfd_dump_header(iter, MCP251XFD_DUMP_OBJECT_TYPE_REG, reg); in mcp251xfd_dump_registers() 101 static void mcp251xfd_dump_ring(struct mcp251xfd_dump_iter *iter, in mcp251xfd_dump_ring() argument [all …]
|
| /linux/tools/testing/radix-tree/ |
| H A D | regression3.c | 34 struct radix_tree_iter iter; in regression3_test() local 44 radix_tree_for_each_tagged(slot, &root, &iter, 0, 0) { in regression3_test() 45 printv(2, "tagged %ld %p\n", iter.index, *slot); in regression3_test() 52 printv(2, "retry at %ld\n", iter.index); in regression3_test() 53 slot = radix_tree_iter_retry(&iter); in regression3_test() 60 radix_tree_for_each_slot(slot, &root, &iter, 0) { in regression3_test() 61 printv(2, "slot %ld %p\n", iter.index, *slot); in regression3_test() 67 printv(2, "retry at %ld\n", iter.index); in regression3_test() 68 slot = radix_tree_iter_retry(&iter); in regression3_test() 73 radix_tree_for_each_slot(slot, &root, &iter, 0) { in regression3_test() [all …]
|
| /linux/lib/ |
| H A D | generic-radix-tree.c | 86 void *__genradix_iter_peek(struct genradix_iter *iter, in __genradix_iter_peek() argument 94 if (iter->offset == SIZE_MAX) in __genradix_iter_peek() 105 if (ilog2(iter->offset) >= genradix_depth_shift(level)) in __genradix_iter_peek() 111 i = (iter->offset >> genradix_depth_shift(level)) & in __genradix_iter_peek() 117 if (iter->offset + objs_per_ptr < iter->offset) { in __genradix_iter_peek() 118 iter->offset = SIZE_MAX; in __genradix_iter_peek() 119 iter->pos = SIZE_MAX; in __genradix_iter_peek() 124 iter->offset = round_down(iter->offset + objs_per_ptr, in __genradix_iter_peek() 126 iter->pos = (iter->offset >> GENRADIX_NODE_SHIFT) * in __genradix_iter_peek() 135 return &n->data[iter->offset & (GENRADIX_NODE_SIZE - 1)]; in __genradix_iter_peek() [all …]
|
| /linux/net/rds/ |
| H A D | info.c | 104 void rds_info_iter_unmap(struct rds_info_iterator *iter) in rds_info_iter_unmap() argument 106 if (iter->addr) { in rds_info_iter_unmap() 107 kunmap_atomic(iter->addr); in rds_info_iter_unmap() 108 iter->addr = NULL; in rds_info_iter_unmap() 115 void rds_info_copy(struct rds_info_iterator *iter, void *data, in rds_info_copy() argument 121 if (!iter->addr) in rds_info_copy() 122 iter->addr = kmap_atomic(*iter->pages); in rds_info_copy() 124 this = min(bytes, PAGE_SIZE - iter->offset); in rds_info_copy() 127 "bytes %lu\n", *iter->pages, iter->addr, in rds_info_copy() 128 iter->offset, this, data, bytes); in rds_info_copy() [all …]
|
| /linux/drivers/infiniband/ulp/ipoib/ |
| H A D | ipoib_fs.c | 60 struct ipoib_mcast_iter *iter; in ipoib_mcg_seq_start() local 63 iter = ipoib_mcast_iter_init(file->private); in ipoib_mcg_seq_start() 64 if (!iter) in ipoib_mcg_seq_start() 68 if (ipoib_mcast_iter_next(iter)) { in ipoib_mcg_seq_start() 69 kfree(iter); in ipoib_mcg_seq_start() 74 return iter; in ipoib_mcg_seq_start() 80 struct ipoib_mcast_iter *iter = iter_ptr; in ipoib_mcg_seq_next() local 84 if (ipoib_mcast_iter_next(iter)) { in ipoib_mcg_seq_next() 85 kfree(iter); in ipoib_mcg_seq_next() 89 return iter; in ipoib_mcg_seq_next() [all …]
|