| /kernel/linux/linux-4.19/fs/notify/ |
| D | mark.c | 20 * fsnotify inode mark locking/lifetime/and refcnting 23 * The group->recnt and mark->refcnt tell how many "things" in the kernel 26 * the reference a group and a mark hold to each other. 35 * mark->lock 36 * mark->connector->lock 39 * each mark is hooked via the g_list. It also protects the groups private 42 * mark->lock protects the marks attributes like its masks and flags. 43 * Furthermore it protects the access to a reference of the group that the mark 45 * that is being watched by the mark. 47 * mark->connector->lock protects the list of marks anchored inside an [all …]
|
| D | fdinfo.c | 26 struct fsnotify_mark *mark)) in show_fdinfo() argument 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() 92 u32 mask = mark->mask & IN_ALL_EVENTS; in inotify_fdinfo() 95 mask, mark->ignored_mask); in inotify_fdinfo() [all …]
|
| D | fsnotify.c | 200 struct fsnotify_mark *mark; in send_to_group() local 211 mark = iter_info->marks[type]; in send_to_group() 212 if (mark && in send_to_group() 213 !(mark->flags & FSNOTIFY_MARK_FLAG_IGNORED_SURV_MODIFY)) in send_to_group() 214 mark->ignored_mask = 0; in send_to_group() 221 mark = iter_info->marks[type]; in send_to_group() 222 /* does the object mark tell us to do something? */ in send_to_group() 223 if (mark) { in send_to_group() 224 group = mark->group; in send_to_group() 225 marks_mask |= mark->mask; in send_to_group() [all …]
|
| /kernel/linux/linux-5.10/fs/notify/ |
| 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->connector->lock protects the list of marks anchored inside an [all …]
|
| D | fdinfo.c | 26 struct fsnotify_mark *mark)) in show_fdinfo() argument 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() 92 u32 mask = mark->mask & IN_ALL_EVENTS; in inotify_fdinfo() 95 mask, mark->ignored_mask); in inotify_fdinfo() [all …]
|
| /kernel/linux/linux-5.10/net/netfilter/ipvs/ |
| 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->mw; in ip_vs_wrr_init_svc() 121 svc->sched_data = mark; in ip_vs_wrr_init_svc() 129 struct ip_vs_wrr_mark *mark = svc->sched_data; in ip_vs_wrr_done_svc() local [all …]
|
| /kernel/linux/linux-4.19/net/netfilter/ipvs/ |
| D | ip_vs_wrr.c | 113 struct ip_vs_wrr_mark *mark; in ip_vs_wrr_init_svc() local 116 * Allocate the mark variable for WRR scheduling in ip_vs_wrr_init_svc() 118 mark = kmalloc(sizeof(struct ip_vs_wrr_mark), GFP_KERNEL); in ip_vs_wrr_init_svc() 119 if (mark == NULL) in ip_vs_wrr_init_svc() 122 mark->cl = list_entry(&svc->destinations, struct ip_vs_dest, n_list); in ip_vs_wrr_init_svc() 123 mark->di = ip_vs_wrr_gcd_weight(svc); in ip_vs_wrr_init_svc() 124 mark->mw = ip_vs_wrr_max_weight(svc) - (mark->di - 1); in ip_vs_wrr_init_svc() 125 mark->cw = mark->mw; in ip_vs_wrr_init_svc() 126 svc->sched_data = mark; in ip_vs_wrr_init_svc() 134 struct ip_vs_wrr_mark *mark = svc->sched_data; in ip_vs_wrr_done_svc() local [all …]
|
| /kernel/linux/linux-5.10/kernel/ |
| 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->ino == AUDIT_INO_UNSET) in audit_mark_compare() 64 return (mark->ino == ino) && (mark->dev == dev); in audit_mark_compare() 97 fsnotify_init_mark(&audit_mark->mark, audit_fsnotify_group); in audit_alloc_mark() [all …]
|
| 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 77 * chunk is refcounted by embedded .refs. Mark associated with the chunk holds 78 * one chunk reference. This reference is dropped either when a mark is going 80 * mark gets replaced. This reference must be dropped using [all …]
|
| /kernel/linux/linux-4.19/net/bridge/netfilter/ |
| D | ebt_mark.c | 11 /* The mark target can be used in any chain, 28 skb->mark = info->mark; in ebt_mark_tg() 30 skb->mark |= info->mark; in ebt_mark_tg() 32 skb->mark &= info->mark; in ebt_mark_tg() 34 skb->mark ^= info->mark; in ebt_mark_tg() 57 compat_ulong_t mark; member 66 kern->mark = user->mark; in mark_tg_compat_from_user() 75 if (put_user(kern->mark, &user->mark) || in mark_tg_compat_to_user() 83 .name = "mark", 109 MODULE_DESCRIPTION("Ebtables: Packet mark modification");
|
| /kernel/linux/linux-5.10/net/bridge/netfilter/ |
| 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 67 kern->mark = user->mark; in mark_tg_compat_from_user() 76 if (put_user(kern->mark, &user->mark) || in mark_tg_compat_to_user() 84 .name = "mark", 110 MODULE_DESCRIPTION("Ebtables: Packet mark modification");
|
| /kernel/linux/linux-5.10/tools/testing/selftests/tc-testing/tc-tests/actions/ |
| D | skbedit.json | 4 "name": "Add skbedit action with valid mark", 17 "cmdUnderTest": "$TC actions add action skbedit mark 1", 20 "matchPattern": "action order [0-9]*: skbedit mark 1", 28 "name": "Add skbedit action with 32-bit maximum mark", 41 "cmdUnderTest": "$TC actions add action skbedit mark 4294967295 pipe index 1", 44 "matchPattern": "action order [0-9]*: skbedit mark 4294967295.*pipe.*index 1", 52 "name": "Add skbedit action with mark exceeding 32-bit maximum", 65 "cmdUnderTest": "$TC actions add action skbedit mark 666777888999", 68 "matchPattern": "action order [0-9]*: skbedit mark", 74 "name": "Add skbedit action with valid mark and mask", [all …]
|
| /kernel/linux/linux-5.10/samples/bpf/ |
| 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; in get_somark() local [all …]
|
| D | test_cgrp2_sock.sh | 96 check_sock "dev , mark 0, priority 0" "No programs attached" 97 check_sock6 "dev , mark 0, priority 0" "No programs attached" 105 check_sock "dev cgrp2_sock, mark 0, priority 0" "Device set" 106 check_sock6 "dev cgrp2_sock, mark 0, priority 0" "Device set" 108 # verify mark is set 112 cleanup_and_exit 1 "Failed to install program to set mark" 114 check_sock "dev , mark 666, priority 0" "Mark set" 115 check_sock6 "dev , mark 666, priority 0" "Mark set" 123 check_sock "dev , mark 0, priority 123" "Priority set" 124 check_sock6 "dev , mark 0, priority 123" "Priority set" [all …]
|
| D | xdp2skb_meta_kern.c | 4 * Example howto transfer info from XDP to SKB, e.g. skb->mark 28 __u32 mark; member 57 meta->mark = 42; in _xdp_mark() 72 ctx->mark = 41; in _tc_mark() 78 ctx->mark = meta->mark; /* Transfer XDP-mark to SKB-mark */ in _tc_mark() 98 iptables -I INPUT -p icmp -m mark --mark 41 # == 0x29 99 iptables -I INPUT -p icmp -m mark --mark 42 # == 0x2a
|
| /kernel/linux/linux-4.19/samples/bpf/ |
| 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; in get_somark() local [all …]
|
| D | test_cgrp2_sock.sh | 96 check_sock "dev , mark 0, priority 0" "No programs attached" 97 check_sock6 "dev , mark 0, priority 0" "No programs attached" 105 check_sock "dev cgrp2_sock, mark 0, priority 0" "Device set" 106 check_sock6 "dev cgrp2_sock, mark 0, priority 0" "Device set" 108 # verify mark is set 112 cleanup_and_exit 1 "Failed to install program to set mark" 114 check_sock "dev , mark 666, priority 0" "Mark set" 115 check_sock6 "dev , mark 666, priority 0" "Mark set" 123 check_sock "dev , mark 0, priority 123" "Priority set" 124 check_sock6 "dev , mark 0, priority 123" "Priority set" [all …]
|
| D | xdp2skb_meta_kern.c | 4 * Example howto transfer info from XDP to SKB, e.g. skb->mark 28 __u32 mark; member 57 meta->mark = 42; in _xdp_mark() 72 ctx->mark = 41; in _tc_mark() 78 ctx->mark = meta->mark; /* Transfer XDP-mark to SKB-mark */ in _tc_mark() 98 iptables -I INPUT -p icmp -m mark --mark 41 # == 0x29 99 iptables -I INPUT -p icmp -m mark --mark 42 # == 0x2a
|
| /kernel/linux/linux-4.19/kernel/ |
| D | audit_fsnotify.c | 32 * this mark lives on the parent directory of the inode in question. 39 struct fsnotify_mark mark; /* fsnotify mark on the inode */ member 56 static void audit_fsnotify_free_mark(struct fsnotify_mark *mark) in audit_fsnotify_free_mark() argument 60 audit_mark = container_of(mark, struct audit_fsnotify_mark, mark); in audit_fsnotify_free_mark() 64 char *audit_mark_path(struct audit_fsnotify_mark *mark) in audit_mark_path() argument 66 return mark->path; in audit_mark_path() 69 int audit_mark_compare(struct audit_fsnotify_mark *mark, unsigned long ino, dev_t dev) in audit_mark_compare() argument 71 if (mark->ino == AUDIT_INO_UNSET) in audit_mark_compare() 73 return (mark->ino == ino) && (mark->dev == dev); in audit_mark_compare() 106 fsnotify_init_mark(&audit_mark->mark, audit_fsnotify_group); in audit_alloc_mark() [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | fsnotify_backend.h | 53 * Set on inode mark that cares about things that happen to its children. 89 * It may include events that can be sent to an inode/sb/mount mark, but cannot 133 * @mark: mark to notify 143 * freeing_mark - called when a mark is being destroyed for some reason. The group 144 * MUST be holding a reference on each mark and that reference must be 153 int (*handle_inode_event)(struct fsnotify_mark *mark, u32 mask, 157 void (*freeing_mark)(struct fsnotify_mark *mark, struct fsnotify_group *group); 160 void (*free_mark)(struct fsnotify_mark *mark); 210 atomic_t num_marks; /* 1 for each mark and 1 for not being 319 struct fsnotify_mark *mark) in fsnotify_iter_set_report_type_mark() argument [all …]
|
| /kernel/linux/linux-4.19/include/linux/ |
| D | fsnotify_backend.h | 100 * freeing_mark - called when a mark is being destroyed for some reason. The group 101 * MUST be holding a reference on each mark and that reference must be 112 void (*freeing_mark)(struct fsnotify_mark *mark, struct fsnotify_group *group); 115 void (*free_mark)(struct fsnotify_mark *mark); 167 atomic_t num_marks; /* 1 for each mark and 1 for not being 247 struct fsnotify_mark *mark) in fsnotify_iter_set_report_type_mark() argument 249 iter_info->marks[type] = mark; in fsnotify_iter_set_report_type_mark() 293 * A mark is simply an object attached to an in core inode which allows an 304 * mnt->mnt_root->d_lock depending on the mark type. 307 /* Mask this mark is for [mark->lock, group->mark_mutex] */ [all …]
|
| /kernel/linux/linux-4.19/net/netfilter/ipset/ |
| D | ip_set_hash_ipmark.c | 9 /* Kernel module implementing an IP set type: the hash:ip,mark type */ 33 IP_SET_MODULE_DESC("hash:ip,mark", IPSET_TYPE_REV_MIN, IPSET_TYPE_REV_MAX); 34 MODULE_ALIAS("ip_set_hash:ip,mark"); 45 __u32 mark; member 56 ip1->mark == ip2->mark; in hash_ipmark4_data_equal() 64 nla_put_net32(skb, IPSET_ATTR_MARK, htonl(data->mark))) in hash_ipmark4_data_list() 93 e.mark = skb->mark; in hash_ipmark4_kadt() 94 e.mark &= h->markmask; in hash_ipmark4_kadt() 126 e.mark = ntohl(nla_get_be32(tb[IPSET_ATTR_MARK])); in hash_ipmark4_uadt() 127 e.mark &= h->markmask; in hash_ipmark4_uadt() [all …]
|
| /kernel/linux/linux-5.10/net/netfilter/ipset/ |
| 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 &= h->markmask; in hash_ipmark4_kadt() 121 e.mark = ntohl(nla_get_be32(tb[IPSET_ATTR_MARK])); in hash_ipmark4_uadt() 122 e.mark &= h->markmask; in hash_ipmark4_uadt() [all …]
|
| /kernel/linux/linux-5.10/lib/ |
| 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() 84 unsigned int offset, xa_mark_t mark) in node_get_mark() argument [all …]
|
| /kernel/linux/linux-4.19/drivers/misc/mic/scif/ |
| D | scif_fence.c | 25 * The peer has requested a mark. 30 int mark = 0; in scif_recv_mark() local 33 err = _scif_fence_mark(ep, &mark); in scif_recv_mark() 39 msg->payload[2] = mark; in scif_recv_mark() 336 static int _scif_fence_wait(scif_epd_t epd, int mark) in _scif_fence_wait() argument 339 dma_cookie_t cookie = mark & ~SCIF_REMOTE_FENCE; in _scif_fence_wait() 366 int mark, err; in scif_rma_handle_remote_fences() local 378 mark = fence->msg.payload[2]; in scif_rma_handle_remote_fences() 379 err = _scif_fence_wait(ep, mark); in scif_rma_handle_remote_fences() 393 static int _scif_send_fence(scif_epd_t epd, int uop, int mark, int *out_mark) in _scif_send_fence() argument [all …]
|