/kernel/linux/linux-6.6/fs/notify/ |
H A D | mark.c | 7 * fsnotify inode mark locking/lifetime/and refcnting 10 * The group->recnt and mark->refcnt tell how many "things" in the kernel 13 * the reference a group and a mark hold to each other. 22 * mark->lock 23 * mark->connector->lock 26 * each mark is hooked via the g_list. It also protects the groups private 29 * mark->lock protects the marks attributes like its masks and flags. 30 * Furthermore it protects the access to a reference of the group that the mark 32 * that is being watched by the mark. 34 * mark 94 fsnotify_get_mark(struct fsnotify_mark *mark) fsnotify_get_mark() argument 160 struct fsnotify_mark *mark; __fsnotify_recalc_mask() local 272 fsnotify_final_mark_destroy(struct fsnotify_mark *mark) fsnotify_final_mark_destroy() argument 293 fsnotify_put_mark(struct fsnotify_mark *mark) fsnotify_put_mark() argument 355 fsnotify_get_mark_safe(struct fsnotify_mark *mark) fsnotify_get_mark_safe() argument 379 fsnotify_put_mark_wake(struct fsnotify_mark *mark) fsnotify_put_mark_wake() argument 442 fsnotify_detach_mark(struct fsnotify_mark *mark) fsnotify_detach_mark() argument 471 fsnotify_free_mark(struct fsnotify_mark *mark) fsnotify_free_mark() argument 493 fsnotify_destroy_mark(struct fsnotify_mark *mark, struct fsnotify_group *group) fsnotify_destroy_mark() argument 609 fsnotify_add_mark_list(struct fsnotify_mark *mark, fsnotify_connp_t *connp, unsigned int obj_type, int add_flags, __kernel_fsid_t *fsid) fsnotify_add_mark_list() argument 704 fsnotify_add_mark_locked(struct fsnotify_mark *mark, fsnotify_connp_t *connp, unsigned int obj_type, int add_flags, __kernel_fsid_t *fsid) fsnotify_add_mark_locked() argument 744 fsnotify_add_mark(struct fsnotify_mark *mark, fsnotify_connp_t *connp, unsigned int obj_type, int add_flags, __kernel_fsid_t *fsid) fsnotify_add_mark() argument 766 struct fsnotify_mark *mark; fsnotify_find_mark() local 789 struct fsnotify_mark *lmark, *mark; fsnotify_clear_marks_by_group() local 834 struct fsnotify_mark *mark, *old_mark = NULL; fsnotify_destroy_marks() local 872 fsnotify_init_mark(struct fsnotify_mark *mark, struct fsnotify_group *group) fsnotify_init_mark() argument 890 struct fsnotify_mark *mark, *next; fsnotify_mark_destroy_workfn() local [all...] |
H A D | fdinfo.c | 27 struct fsnotify_mark *mark)) in show_fdinfo() 30 struct fsnotify_mark *mark; in show_fdinfo() local 33 list_for_each_entry(mark, &group->marks_list, g_list) { in show_fdinfo() 34 show(m, mark); in show_fdinfo() 76 static void inotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark) in inotify_fdinfo() argument 81 if (mark->connector->type != FSNOTIFY_OBJ_TYPE_INODE) in inotify_fdinfo() 84 inode_mark = container_of(mark, struct inotify_inode_mark, fsn_mark); in inotify_fdinfo() 85 inode = igrab(fsnotify_conn_inode(mark->connector)); in inotify_fdinfo() 89 inotify_mark_user_mask(mark)); in inotify_fdinfo() 105 static void fanotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark) in fanotify_fdinfo() argument 25 show_fdinfo(struct seq_file *m, struct file *f, void (*show)(struct seq_file *m, struct fsnotify_mark *mark)) show_fdinfo() argument [all...] |
H A D | fsnotify.c | 260 /* Check interest of this mark in case event was sent with two marks */ in fsnotify_handle_inode_event() 329 struct fsnotify_mark *mark; in send_to_group() local 337 fsnotify_foreach_iter_mark_type(iter_info, mark, type) { in send_to_group() 338 if (!(mark->flags & in send_to_group() 340 mark->ignore_mask = 0; in send_to_group() 345 fsnotify_foreach_iter_mark_type(iter_info, mark, type) { in send_to_group() 346 group = mark->group; in send_to_group() 347 marks_mask |= mark->mask; in send_to_group() 349 fsnotify_effective_ignore_mask(mark, is_dir, type); in send_to_group() 380 static struct fsnotify_mark *fsnotify_next_mark(struct fsnotify_mark *mark) in fsnotify_next_mark() argument 401 struct fsnotify_mark *mark; fsnotify_iter_select_report_types() local 445 struct fsnotify_mark *mark; fsnotify_iter_next() local [all...] |
/kernel/linux/linux-5.10/fs/notify/ |
H A D | mark.c | 7 * fsnotify inode mark locking/lifetime/and refcnting 10 * The group->recnt and mark->refcnt tell how many "things" in the kernel 13 * the reference a group and a mark hold to each other. 22 * mark->lock 23 * mark->connector->lock 26 * each mark is hooked via the g_list. It also protects the groups private 29 * mark->lock protects the marks attributes like its masks and flags. 30 * Furthermore it protects the access to a reference of the group that the mark 32 * that is being watched by the mark. 34 * mark 94 fsnotify_get_mark(struct fsnotify_mark *mark) fsnotify_get_mark() argument 122 struct fsnotify_mark *mark; __fsnotify_recalc_mask() local 199 fsnotify_final_mark_destroy(struct fsnotify_mark *mark) fsnotify_final_mark_destroy() argument 227 fsnotify_put_mark(struct fsnotify_mark *mark) fsnotify_put_mark() argument 288 fsnotify_get_mark_safe(struct fsnotify_mark *mark) fsnotify_get_mark_safe() argument 312 fsnotify_put_mark_wake(struct fsnotify_mark *mark) fsnotify_put_mark_wake() argument 375 fsnotify_detach_mark(struct fsnotify_mark *mark) fsnotify_detach_mark() argument 408 fsnotify_free_mark(struct fsnotify_mark *mark) fsnotify_free_mark() argument 430 fsnotify_destroy_mark(struct fsnotify_mark *mark, struct fsnotify_group *group) fsnotify_destroy_mark() argument 547 fsnotify_add_mark_list(struct fsnotify_mark *mark, fsnotify_connp_t *connp, unsigned int type, int allow_dups, __kernel_fsid_t *fsid) fsnotify_add_mark_list() argument 640 fsnotify_add_mark_locked(struct fsnotify_mark *mark, fsnotify_connp_t *connp, unsigned int type, int allow_dups, __kernel_fsid_t *fsid) fsnotify_add_mark_locked() argument 683 fsnotify_add_mark(struct fsnotify_mark *mark, fsnotify_connp_t *connp, unsigned int type, int allow_dups, __kernel_fsid_t *fsid) fsnotify_add_mark() argument 704 struct fsnotify_mark *mark; fsnotify_find_mark() local 727 struct fsnotify_mark *lmark, *mark; fsnotify_clear_marks_by_group() local 772 struct fsnotify_mark *mark, *old_mark = NULL; fsnotify_destroy_marks() local 810 fsnotify_init_mark(struct fsnotify_mark *mark, struct fsnotify_group *group) fsnotify_init_mark() argument 828 struct fsnotify_mark *mark, *next; fsnotify_mark_destroy_workfn() local [all...] |
H A D | fdinfo.c | 26 struct fsnotify_mark *mark)) in show_fdinfo() 29 struct fsnotify_mark *mark; in show_fdinfo() local 32 list_for_each_entry(mark, &group->marks_list, g_list) { in show_fdinfo() 33 show(m, mark); in show_fdinfo() 75 static void inotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark) in inotify_fdinfo() argument 80 if (mark->connector->type != FSNOTIFY_OBJ_TYPE_INODE) in inotify_fdinfo() 83 inode_mark = container_of(mark, struct inotify_inode_mark, fsn_mark); in inotify_fdinfo() 84 inode = igrab(fsnotify_conn_inode(mark->connector)); in inotify_fdinfo() 88 inotify_mark_user_mask(mark)); in inotify_fdinfo() 104 static void fanotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark) in fanotify_fdinfo() argument 24 show_fdinfo(struct seq_file *m, struct file *f, void (*show)(struct seq_file *m, struct fsnotify_mark *mark)) show_fdinfo() argument [all...] |
/kernel/linux/linux-5.10/net/netfilter/ipvs/ |
H A D | ip_vs_wrr.c | 108 struct ip_vs_wrr_mark *mark; in ip_vs_wrr_init_svc() local 111 * Allocate the mark variable for WRR scheduling in ip_vs_wrr_init_svc() 113 mark = kmalloc(sizeof(struct ip_vs_wrr_mark), GFP_KERNEL); in ip_vs_wrr_init_svc() 114 if (mark == NULL) in ip_vs_wrr_init_svc() 117 mark->cl = list_entry(&svc->destinations, struct ip_vs_dest, n_list); in ip_vs_wrr_init_svc() 118 mark->di = ip_vs_wrr_gcd_weight(svc); in ip_vs_wrr_init_svc() 119 mark->mw = ip_vs_wrr_max_weight(svc) - (mark->di - 1); in ip_vs_wrr_init_svc() 120 mark->cw = mark in ip_vs_wrr_init_svc() 129 struct ip_vs_wrr_mark *mark = svc->sched_data; ip_vs_wrr_done_svc() local 141 struct ip_vs_wrr_mark *mark = svc->sched_data; ip_vs_wrr_dest_changed() local 164 struct ip_vs_wrr_mark *mark = svc->sched_data; ip_vs_wrr_schedule() local [all...] |
/kernel/linux/linux-6.6/net/netfilter/ipvs/ |
H A D | ip_vs_wrr.c | 108 struct ip_vs_wrr_mark *mark; in ip_vs_wrr_init_svc() local 111 * Allocate the mark variable for WRR scheduling in ip_vs_wrr_init_svc() 113 mark = kmalloc(sizeof(struct ip_vs_wrr_mark), GFP_KERNEL); in ip_vs_wrr_init_svc() 114 if (mark == NULL) in ip_vs_wrr_init_svc() 117 mark->cl = list_entry(&svc->destinations, struct ip_vs_dest, n_list); in ip_vs_wrr_init_svc() 118 mark->di = ip_vs_wrr_gcd_weight(svc); in ip_vs_wrr_init_svc() 119 mark->mw = ip_vs_wrr_max_weight(svc) - (mark->di - 1); in ip_vs_wrr_init_svc() 120 mark->cw = mark in ip_vs_wrr_init_svc() 129 struct ip_vs_wrr_mark *mark = svc->sched_data; ip_vs_wrr_done_svc() local 141 struct ip_vs_wrr_mark *mark = svc->sched_data; ip_vs_wrr_dest_changed() local 164 struct ip_vs_wrr_mark *mark = svc->sched_data; ip_vs_wrr_schedule() local [all...] |
/kernel/linux/linux-5.10/kernel/ |
H A D | audit_fsnotify.c | 23 * this mark lives on the parent directory of the inode in question. 30 struct fsnotify_mark mark; /* fsnotify mark on the inode */ member 47 static void audit_fsnotify_free_mark(struct fsnotify_mark *mark) in audit_fsnotify_free_mark() argument 51 audit_mark = container_of(mark, struct audit_fsnotify_mark, mark); in audit_fsnotify_free_mark() 55 char *audit_mark_path(struct audit_fsnotify_mark *mark) in audit_mark_path() argument 57 return mark->path; in audit_mark_path() 60 int audit_mark_compare(struct audit_fsnotify_mark *mark, unsigned long ino, dev_t dev) in audit_mark_compare() argument 62 if (mark in audit_mark_compare() 141 struct audit_fsnotify_mark *mark = krule->exe; audit_remove_mark_rule() local [all...] |
H A D | audit_tree.c | 28 struct fsnotify_mark *mark; member 41 struct fsnotify_mark mark; member 51 * audit_tree_mark (fsnotify mark). We replace struct chunk on tagging / 52 * untagging, the mark is stable as long as there is chunk attached. The 53 * association between mark and chunk is protected by hash_lock and 55 * audit_tree_group->mark_mutex and check that the mark is alive by 56 * FSNOTIFY_MARK_FLAG_ATTACHED flag check, we are sure the mark points to 78 * one chunk reference. This reference is dropped either when a mark is going 80 * mark gets replaced. This reference must be dropped using 85 * MSB of that sucker is stolen to mark tagging 161 audit_mark(struct fsnotify_mark *mark) audit_mark() argument 166 mark_chunk(struct fsnotify_mark *mark) mark_chunk() argument 171 audit_tree_destroy_watch(struct fsnotify_mark *mark) audit_tree_destroy_watch() argument 279 replace_mark_chunk(struct fsnotify_mark *mark, struct audit_chunk *chunk) replace_mark_chunk() argument 349 untag_chunk(struct audit_chunk *chunk, struct fsnotify_mark *mark) untag_chunk() argument 399 struct fsnotify_mark *mark; create_chunk() local 460 struct fsnotify_mark *mark; tag_chunk() local 575 struct fsnotify_mark *mark; prune_tree_chunks() local 1038 audit_tree_handle_event(struct fsnotify_mark *mark, u32 mask, struct inode *inode, struct inode *dir, const struct qstr *file_name, u32 cookie) audit_tree_handle_event() argument 1045 audit_tree_freeing_mark(struct fsnotify_mark *mark, struct fsnotify_group *group) audit_tree_freeing_mark() argument [all...] |
/kernel/linux/linux-6.6/kernel/ |
H A D | audit_fsnotify.c | 23 * this mark lives on the parent directory of the inode in question. 30 struct fsnotify_mark mark; /* fsnotify mark on the inode */ member 47 static void audit_fsnotify_free_mark(struct fsnotify_mark *mark) in audit_fsnotify_free_mark() argument 51 audit_mark = container_of(mark, struct audit_fsnotify_mark, mark); in audit_fsnotify_free_mark() 55 char *audit_mark_path(struct audit_fsnotify_mark *mark) in audit_mark_path() argument 57 return mark->path; in audit_mark_path() 60 int audit_mark_compare(struct audit_fsnotify_mark *mark, unsigned long ino, dev_t dev) in audit_mark_compare() argument 62 if (mark in audit_mark_compare() 141 struct audit_fsnotify_mark *mark = krule->exe; audit_remove_mark_rule() local [all...] |
H A D | audit_tree.c | 28 struct fsnotify_mark *mark; member 41 struct fsnotify_mark mark; member 51 * audit_tree_mark (fsnotify mark). We replace struct chunk on tagging / 52 * untagging, the mark is stable as long as there is chunk attached. The 53 * association between mark and chunk is protected by hash_lock and 55 * audit_tree_group->mark_mutex and check that the mark is alive by 56 * FSNOTIFY_MARK_FLAG_ATTACHED flag check, we are sure the mark points to 78 * one chunk reference. This reference is dropped either when a mark is going 80 * mark gets replaced. This reference must be dropped using 85 * MSB of that sucker is stolen to mark tagging 161 audit_mark(struct fsnotify_mark *mark) audit_mark() argument 166 mark_chunk(struct fsnotify_mark *mark) mark_chunk() argument 171 audit_tree_destroy_watch(struct fsnotify_mark *mark) audit_tree_destroy_watch() argument 279 replace_mark_chunk(struct fsnotify_mark *mark, struct audit_chunk *chunk) replace_mark_chunk() argument 349 untag_chunk(struct audit_chunk *chunk, struct fsnotify_mark *mark) untag_chunk() argument 399 struct fsnotify_mark *mark; create_chunk() local 460 struct fsnotify_mark *mark; tag_chunk() local 575 struct fsnotify_mark *mark; prune_tree_chunks() local 1035 audit_tree_handle_event(struct fsnotify_mark *mark, u32 mask, struct inode *inode, struct inode *dir, const struct qstr *file_name, u32 cookie) audit_tree_handle_event() argument 1042 audit_tree_freeing_mark(struct fsnotify_mark *mark, struct fsnotify_group *group) audit_tree_freeing_mark() argument [all...] |
/kernel/linux/linux-5.10/net/bridge/netfilter/ |
H A D | ebt_mark.c | 12 /* The mark target can be used in any chain, 29 skb->mark = info->mark; in ebt_mark_tg() 31 skb->mark |= info->mark; in ebt_mark_tg() 33 skb->mark &= info->mark; in ebt_mark_tg() 35 skb->mark ^= info->mark; in ebt_mark_tg() 58 compat_ulong_t mark; member [all...] |
H A D | ebt_mark_m.c | 22 return !!(skb->mark & info->mask) ^ info->invert; in ebt_mark_mt() 23 return ((skb->mark & info->mask) == info->mark) ^ info->invert; in ebt_mark_mt() 42 compat_ulong_t mark, mask; member 51 kern->mark = user->mark; in mark_mt_compat_from_user() 62 if (put_user(kern->mark, &user->mark) || in mark_mt_compat_to_user() 98 MODULE_DESCRIPTION("Ebtables: Packet mark match");
|
/kernel/linux/linux-6.6/net/bridge/netfilter/ |
H A D | ebt_mark.c | 12 /* The mark target can be used in any chain, 29 skb->mark = info->mark; in ebt_mark_tg() 31 skb->mark |= info->mark; in ebt_mark_tg() 33 skb->mark &= info->mark; in ebt_mark_tg() 35 skb->mark ^= info->mark; in ebt_mark_tg() 58 compat_ulong_t mark; member [all...] |
H A D | ebt_mark_m.c | 22 return !!(skb->mark & info->mask) ^ info->invert; in ebt_mark_mt() 23 return ((skb->mark & info->mask) == info->mark) ^ info->invert; in ebt_mark_mt() 42 compat_ulong_t mark, mask; member 51 kern->mark = user->mark; in mark_mt_compat_from_user() 62 if (put_user(kern->mark, &user->mark) || in mark_mt_compat_to_user() 98 MODULE_DESCRIPTION("Ebtables: Packet mark match");
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | fsnotify_backend.h | 60 * Set on inode mark that cares about things that happen to its children. 95 * It may include events that can be sent to an inode/sb/mount mark, but cannot 139 * @mark: mark to notify 150 * freeing_mark - called when a mark is being destroyed for some reason. The group 151 * MUST be holding a reference on each mark and that reference must be 160 int (*handle_inode_event)(struct fsnotify_mark *mark, u32 mask, 164 void (*freeing_mark)(struct fsnotify_mark *mark, struct fsnotify_group *group); 167 void (*free_mark)(struct fsnotify_mark *mark); 262 * evictable marks of the same group that is allocating a new mark 667 fsnotify_ignore_mask(struct fsnotify_mark *mark) fsnotify_ignore_mask() argument 688 fsnotify_ignored_events(struct fsnotify_mark *mark) fsnotify_ignored_events() argument 716 fsnotify_effective_ignore_mask(struct fsnotify_mark *mark, bool is_dir, int iter_type) fsnotify_effective_ignore_mask() argument 736 fsnotify_calc_mask(struct fsnotify_mark *mark) fsnotify_calc_mask() argument 773 fsnotify_add_inode_mark(struct fsnotify_mark *mark, struct inode *inode, int add_flags) fsnotify_add_inode_mark() argument 780 fsnotify_add_inode_mark_locked(struct fsnotify_mark *mark, struct inode *inode, int add_flags) fsnotify_add_inode_mark_locked() argument [all...] |
/kernel/linux/linux-5.10/samples/bpf/ |
H A D | test_cgrp2_sock.c | 30 static int prog_load(__u32 idx, __u32 mark, __u32 prio) in prog_load() argument 48 /* set mark on socket */ in prog_load() 55 /* if uid is 0, use given mark, else use the uid as the mark */ in prog_load() 58 BPF_MOV64_IMM(BPF_REG_3, mark), in prog_load() 60 /* set the mark on the new socket */ in prog_load() 62 BPF_MOV64_IMM(BPF_REG_2, offsetof(struct bpf_sock, mark)), in prog_load() 63 BPF_STX_MEM(BPF_W, BPF_REG_1, BPF_REG_3, offsetof(struct bpf_sock, mark)), in prog_load() 83 if (mark) in prog_load() 103 if (mark) { in prog_load() 141 unsigned int mark = 0; get_somark() local 167 unsigned int mark, prio; show_sockopts() local 206 __u32 idx = 0, mark = 0, prio = 0; main() local [all...] |
/kernel/linux/linux-6.6/samples/bpf/ |
H A D | test_cgrp2_sock.c | 30 static int prog_load(__u32 idx, __u32 mark, __u32 prio) in prog_load() argument 48 /* set mark on socket */ in prog_load() 55 /* if uid is 0, use given mark, else use the uid as the mark */ in prog_load() 58 BPF_MOV64_IMM(BPF_REG_3, mark), in prog_load() 60 /* set the mark on the new socket */ in prog_load() 62 BPF_MOV64_IMM(BPF_REG_2, offsetof(struct bpf_sock, mark)), in prog_load() 63 BPF_STX_MEM(BPF_W, BPF_REG_1, BPF_REG_3, offsetof(struct bpf_sock, mark)), in prog_load() 87 if (mark) in prog_load() 107 if (mark) { in prog_load() 145 unsigned int mark = 0; get_somark() local 171 unsigned int mark, prio; show_sockopts() local 210 __u32 idx = 0, mark = 0, prio = 0; main() local [all...] |
/kernel/linux/linux-5.10/net/netfilter/ipset/ |
H A D | ip_set_hash_ipmark.c | 4 /* Kernel module implementing an IP set type: the hash:ip,mark type */ 28 IP_SET_MODULE_DESC("hash:ip,mark", IPSET_TYPE_REV_MIN, IPSET_TYPE_REV_MAX); 29 MODULE_ALIAS("ip_set_hash:ip,mark"); 40 __u32 mark; member 51 ip1->mark == ip2->mark; in hash_ipmark4_data_equal() 59 nla_put_net32(skb, IPSET_ATTR_MARK, htonl(data->mark))) in hash_ipmark4_data_list() 88 e.mark = skb->mark; in hash_ipmark4_kadt() 89 e.mark in hash_ipmark4_kadt() 172 __u32 mark; global() member [all...] |
/kernel/linux/linux-6.6/net/netfilter/ipset/ |
H A D | ip_set_hash_ipmark.c | 4 /* Kernel module implementing an IP set type: the hash:ip,mark type */ 29 IP_SET_MODULE_DESC("hash:ip,mark", IPSET_TYPE_REV_MIN, IPSET_TYPE_REV_MAX); 30 MODULE_ALIAS("ip_set_hash:ip,mark"); 41 __u32 mark; member 52 ip1->mark == ip2->mark; in hash_ipmark4_data_equal() 60 nla_put_net32(skb, IPSET_ATTR_MARK, htonl(data->mark))) in hash_ipmark4_data_list() 89 e.mark = skb->mark; in hash_ipmark4_kadt() 90 e.mark in hash_ipmark4_kadt() 173 __u32 mark; global() member [all...] |
/kernel/linux/linux-5.10/net/netfilter/ |
H A D | xt_connmark.c | 19 MODULE_DESCRIPTION("Xtables: connection mark operations"); 41 oldmark = READ_ONCE(ct->mark); in connmark_tg_shift() 48 if (READ_ONCE(ct->mark) != newmark) { in connmark_tg_shift() 49 WRITE_ONCE(ct->mark, newmark); in connmark_tg_shift() 54 new_targetmark = (skb->mark & info->nfmask); in connmark_tg_shift() 60 newmark = (READ_ONCE(ct->mark) & ~info->ctmask) ^ in connmark_tg_shift() 62 if (READ_ONCE(ct->mark) != newmark) { in connmark_tg_shift() 63 WRITE_ONCE(ct->mark, newmark); in connmark_tg_shift() 68 new_targetmark = (READ_ONCE(ct->mark) & info->ctmask); in connmark_tg_shift() 74 newmark = (skb->mark in connmark_tg_shift() [all...] |
H A D | nft_chain_route.c | 24 u32 mark; in nf_route_table_hook4() local 31 mark = skb->mark; in nf_route_table_hook4() 43 skb->mark != mark || in nf_route_table_hook4() 71 u32 mark, flowlabel; in nf_route_table_hook6() local 79 /* save source/dest address, mark, hoplimit, flowlabel, priority */ in nf_route_table_hook6() 82 mark = skb->mark; in nf_route_table_hook6() 92 skb->mark ! in nf_route_table_hook6() [all...] |
/kernel/linux/linux-6.6/net/netfilter/ |
H A D | xt_connmark.c | 19 MODULE_DESCRIPTION("Xtables: connection mark operations"); 41 oldmark = READ_ONCE(ct->mark); in connmark_tg_shift() 48 if (READ_ONCE(ct->mark) != newmark) { in connmark_tg_shift() 49 WRITE_ONCE(ct->mark, newmark); in connmark_tg_shift() 54 new_targetmark = (skb->mark & info->nfmask); in connmark_tg_shift() 60 newmark = (READ_ONCE(ct->mark) & ~info->ctmask) ^ in connmark_tg_shift() 62 if (READ_ONCE(ct->mark) != newmark) { in connmark_tg_shift() 63 WRITE_ONCE(ct->mark, newmark); in connmark_tg_shift() 68 new_targetmark = (READ_ONCE(ct->mark) & info->ctmask); in connmark_tg_shift() 74 newmark = (skb->mark in connmark_tg_shift() [all...] |
/kernel/linux/linux-5.10/lib/ |
H A D | xarray.c | 23 * @mark is an xa_mark_t; a small number indicating one of the mark bits. 66 static inline void xa_mark_set(struct xarray *xa, xa_mark_t mark) in xa_mark_set() argument 68 if (!(xa->xa_flags & XA_FLAGS_MARK(mark))) in xa_mark_set() 69 xa->xa_flags |= XA_FLAGS_MARK(mark); in xa_mark_set() 72 static inline void xa_mark_clear(struct xarray *xa, xa_mark_t mark) in xa_mark_clear() argument 74 if (xa->xa_flags & XA_FLAGS_MARK(mark)) in xa_mark_clear() 75 xa->xa_flags &= ~(XA_FLAGS_MARK(mark)); in xa_mark_clear() 78 static inline unsigned long *node_marks(struct xa_node *node, xa_mark_t mark) in node_marks() argument 80 return node->marks[(__force unsigned)mark]; in node_marks() 83 node_get_mark(struct xa_node *node, unsigned int offset, xa_mark_t mark) node_get_mark() argument 90 node_set_mark(struct xa_node *node, unsigned int offset, xa_mark_t mark) node_set_mark() argument 97 node_clear_mark(struct xa_node *node, unsigned int offset, xa_mark_t mark) node_clear_mark() argument 103 node_any_mark(struct xa_node *node, xa_mark_t mark) node_any_mark() argument 108 node_mark_all(struct xa_node *node, xa_mark_t mark) node_mark_all() argument 126 unsigned int mark = 0; xas_squash_marks() local 578 xa_mark_t mark = 0; xas_expand() local 856 xas_get_mark(const struct xa_state *xas, xa_mark_t mark) xas_get_mark() argument 875 xas_set_mark(const struct xa_state *xas, xa_mark_t mark) xas_set_mark() argument 904 xas_clear_mark(const struct xa_state *xas, xa_mark_t mark) xas_clear_mark() argument 940 xa_mark_t mark = 0; xas_init_marks() local 958 xa_mark_t mark = XA_MARK_0; node_get_marks() local 974 xa_mark_t mark = XA_MARK_0; node_set_marks() local 1304 xas_find_marked(struct xa_state *xas, unsigned long max, xa_mark_t mark) xas_find_marked() argument 1896 __xa_set_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) __xa_set_mark() argument 1914 __xa_clear_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) __xa_clear_mark() argument 1936 xa_get_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) xa_get_mark() argument 1966 xa_set_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) xa_set_mark() argument 1984 xa_clear_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) xa_clear_mark() argument 2109 xas_extract_marked(struct xa_state *xas, void **dst, unsigned long max, unsigned int n, xa_mark_t mark) xas_extract_marked() argument [all...] |
/kernel/linux/linux-6.6/lib/ |
H A D | xarray.c | 25 * @mark is an xa_mark_t; a small number indicating one of the mark bits. 68 static inline void xa_mark_set(struct xarray *xa, xa_mark_t mark) in xa_mark_set() argument 70 if (!(xa->xa_flags & XA_FLAGS_MARK(mark))) in xa_mark_set() 71 xa->xa_flags |= XA_FLAGS_MARK(mark); in xa_mark_set() 74 static inline void xa_mark_clear(struct xarray *xa, xa_mark_t mark) in xa_mark_clear() argument 76 if (xa->xa_flags & XA_FLAGS_MARK(mark)) in xa_mark_clear() 77 xa->xa_flags &= ~(XA_FLAGS_MARK(mark)); in xa_mark_clear() 80 static inline unsigned long *node_marks(struct xa_node *node, xa_mark_t mark) in node_marks() argument 82 return node->marks[(__force unsigned)mark]; in node_marks() 85 node_get_mark(struct xa_node *node, unsigned int offset, xa_mark_t mark) node_get_mark() argument 92 node_set_mark(struct xa_node *node, unsigned int offset, xa_mark_t mark) node_set_mark() argument 99 node_clear_mark(struct xa_node *node, unsigned int offset, xa_mark_t mark) node_clear_mark() argument 105 node_any_mark(struct xa_node *node, xa_mark_t mark) node_any_mark() argument 110 node_mark_all(struct xa_node *node, xa_mark_t mark) node_mark_all() argument 128 unsigned int mark = 0; xas_squash_marks() local 579 xa_mark_t mark = 0; xas_expand() local 857 xas_get_mark(const struct xa_state *xas, xa_mark_t mark) xas_get_mark() argument 876 xas_set_mark(const struct xa_state *xas, xa_mark_t mark) xas_set_mark() argument 905 xas_clear_mark(const struct xa_state *xas, xa_mark_t mark) xas_clear_mark() argument 941 xa_mark_t mark = 0; xas_init_marks() local 959 xa_mark_t mark = XA_MARK_0; node_get_marks() local 975 xa_mark_t mark = XA_MARK_0; node_set_marks() local 1306 xas_find_marked(struct xa_state *xas, unsigned long max, xa_mark_t mark) xas_find_marked() argument 1904 __xa_set_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) __xa_set_mark() argument 1922 __xa_clear_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) __xa_clear_mark() argument 1944 xa_get_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) xa_get_mark() argument 1974 xa_set_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) xa_set_mark() argument 1992 xa_clear_mark(struct xarray *xa, unsigned long index, xa_mark_t mark) xa_clear_mark() argument 2117 xas_extract_marked(struct xa_state *xas, void **dst, unsigned long max, unsigned int n, xa_mark_t mark) xas_extract_marked() argument [all...] |