From: kernel test robot <lkp@intel.com> To: kbuild@lists.01.org Subject: Re: [PATCH RFC bpf-next v2 2/5] bpf: Introduce inherit list for dir tag. Date: Wed, 02 Feb 2022 17:15:14 +0800 [thread overview] Message-ID: <202202021722.Gftmgh6J-lkp@intel.com> (raw) [-- Attachment #1: Type: text/plain, Size: 15071 bytes --] CC: kbuild-all(a)lists.01.org In-Reply-To: <20220201205534.1962784-3-haoluo@google.com> References: <20220201205534.1962784-3-haoluo@google.com> TO: Hao Luo <haoluo@google.com> Hi Hao, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on bpf-next/master] url: https://github.com/0day-ci/linux/commits/Hao-Luo/Extend-cgroup-interface-with-bpf/20220202-045743 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master :::::: branch date: 12 hours ago :::::: commit date: 12 hours ago config: i386-randconfig-m021-20220131 (https://download.01.org/0day-ci/archive/20220202/202202021722.Gftmgh6J-lkp(a)intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> smatch warnings: kernel/bpf/inode.c:71 free_obj_list() error: dereferencing freed memory 'e' kernel/bpf/inode.c:251 populate_dir() error: uninitialized symbol 'ret'. vim +/e +71 kernel/bpf/inode.c b2197755b2633e Daniel Borkmann 2015-10-29 64 f6c6ca7ed74437 Hao Luo 2022-02-01 65 static void free_obj_list(struct kref *kref) f6c6ca7ed74437 Hao Luo 2022-02-01 66 { f6c6ca7ed74437 Hao Luo 2022-02-01 67 struct obj_list *list; f6c6ca7ed74437 Hao Luo 2022-02-01 68 struct bpf_inherit_entry *e; f6c6ca7ed74437 Hao Luo 2022-02-01 69 f6c6ca7ed74437 Hao Luo 2022-02-01 70 list = container_of(kref, struct obj_list, refcnt); f6c6ca7ed74437 Hao Luo 2022-02-01 @71 list_for_each_entry(e, &list->list, list) { f6c6ca7ed74437 Hao Luo 2022-02-01 72 list_del_rcu(&e->list); f6c6ca7ed74437 Hao Luo 2022-02-01 73 bpf_any_put(e->obj, e->type); f6c6ca7ed74437 Hao Luo 2022-02-01 74 kfree(e); f6c6ca7ed74437 Hao Luo 2022-02-01 75 } f6c6ca7ed74437 Hao Luo 2022-02-01 76 kfree(list); f6c6ca7ed74437 Hao Luo 2022-02-01 77 } f6c6ca7ed74437 Hao Luo 2022-02-01 78 b2197755b2633e Daniel Borkmann 2015-10-29 79 static void *bpf_fd_probe_obj(u32 ufd, enum bpf_type *type) b2197755b2633e Daniel Borkmann 2015-10-29 80 { b2197755b2633e Daniel Borkmann 2015-10-29 81 void *raw; b2197755b2633e Daniel Borkmann 2015-10-29 82 c9da161c6517ba Daniel Borkmann 2015-11-24 83 raw = bpf_map_get_with_uref(ufd); 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 84 if (!IS_ERR(raw)) { 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 85 *type = BPF_TYPE_MAP; 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 86 return raw; 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 87 } 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 88 b2197755b2633e Daniel Borkmann 2015-10-29 89 raw = bpf_prog_get(ufd); 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 90 if (!IS_ERR(raw)) { 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 91 *type = BPF_TYPE_PROG; 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 92 return raw; b2197755b2633e Daniel Borkmann 2015-10-29 93 } b2197755b2633e Daniel Borkmann 2015-10-29 94 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 95 raw = bpf_link_get_from_fd(ufd); 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 96 if (!IS_ERR(raw)) { 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 97 *type = BPF_TYPE_LINK; b2197755b2633e Daniel Borkmann 2015-10-29 98 return raw; b2197755b2633e Daniel Borkmann 2015-10-29 99 } b2197755b2633e Daniel Borkmann 2015-10-29 100 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 101 return ERR_PTR(-EINVAL); 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 102 } 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 103 b2197755b2633e Daniel Borkmann 2015-10-29 104 static const struct inode_operations bpf_dir_iops; b2197755b2633e Daniel Borkmann 2015-10-29 105 b2197755b2633e Daniel Borkmann 2015-10-29 106 static const struct inode_operations bpf_prog_iops = { }; b2197755b2633e Daniel Borkmann 2015-10-29 107 static const struct inode_operations bpf_map_iops = { }; 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 108 static const struct inode_operations bpf_link_iops = { }; b2197755b2633e Daniel Borkmann 2015-10-29 109 f6c6ca7ed74437 Hao Luo 2022-02-01 110 static int bpf_mkprog(struct dentry *dentry, umode_t mode, void *arg); f6c6ca7ed74437 Hao Luo 2022-02-01 111 static int bpf_mkmap(struct dentry *dentry, umode_t mode, void *arg); f6c6ca7ed74437 Hao Luo 2022-02-01 112 static int bpf_mklink(struct dentry *dentry, umode_t mode, void *arg); f6c6ca7ed74437 Hao Luo 2022-02-01 113 b2197755b2633e Daniel Borkmann 2015-10-29 114 static struct inode *bpf_get_inode(struct super_block *sb, b2197755b2633e Daniel Borkmann 2015-10-29 115 const struct inode *dir, b2197755b2633e Daniel Borkmann 2015-10-29 116 umode_t mode) b2197755b2633e Daniel Borkmann 2015-10-29 117 { b2197755b2633e Daniel Borkmann 2015-10-29 118 struct inode *inode; b2197755b2633e Daniel Borkmann 2015-10-29 119 b2197755b2633e Daniel Borkmann 2015-10-29 120 switch (mode & S_IFMT) { b2197755b2633e Daniel Borkmann 2015-10-29 121 case S_IFDIR: b2197755b2633e Daniel Borkmann 2015-10-29 122 case S_IFREG: 0f98621bef5d2b Daniel Borkmann 2016-10-29 123 case S_IFLNK: b2197755b2633e Daniel Borkmann 2015-10-29 124 break; b2197755b2633e Daniel Borkmann 2015-10-29 125 default: b2197755b2633e Daniel Borkmann 2015-10-29 126 return ERR_PTR(-EINVAL); b2197755b2633e Daniel Borkmann 2015-10-29 127 } b2197755b2633e Daniel Borkmann 2015-10-29 128 b2197755b2633e Daniel Borkmann 2015-10-29 129 inode = new_inode(sb); b2197755b2633e Daniel Borkmann 2015-10-29 130 if (!inode) b2197755b2633e Daniel Borkmann 2015-10-29 131 return ERR_PTR(-ENOSPC); b2197755b2633e Daniel Borkmann 2015-10-29 132 b2197755b2633e Daniel Borkmann 2015-10-29 133 inode->i_ino = get_next_ino(); 078cd8279e6599 Deepa Dinamani 2016-09-14 134 inode->i_atime = current_time(inode); b2197755b2633e Daniel Borkmann 2015-10-29 135 inode->i_mtime = inode->i_atime; b2197755b2633e Daniel Borkmann 2015-10-29 136 inode->i_ctime = inode->i_atime; b2197755b2633e Daniel Borkmann 2015-10-29 137 21cb47be6fb9ec Christian Brauner 2021-01-21 138 inode_init_owner(&init_user_ns, inode, dir, mode); b2197755b2633e Daniel Borkmann 2015-10-29 139 b2197755b2633e Daniel Borkmann 2015-10-29 140 return inode; b2197755b2633e Daniel Borkmann 2015-10-29 141 } b2197755b2633e Daniel Borkmann 2015-10-29 142 b2197755b2633e Daniel Borkmann 2015-10-29 143 static int bpf_inode_type(const struct inode *inode, enum bpf_type *type) b2197755b2633e Daniel Borkmann 2015-10-29 144 { b2197755b2633e Daniel Borkmann 2015-10-29 145 *type = BPF_TYPE_UNSPEC; b2197755b2633e Daniel Borkmann 2015-10-29 146 if (inode->i_op == &bpf_prog_iops) b2197755b2633e Daniel Borkmann 2015-10-29 147 *type = BPF_TYPE_PROG; b2197755b2633e Daniel Borkmann 2015-10-29 148 else if (inode->i_op == &bpf_map_iops) b2197755b2633e Daniel Borkmann 2015-10-29 149 *type = BPF_TYPE_MAP; 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 150 else if (inode->i_op == &bpf_link_iops) 70ed506c3bbcfa Andrii Nakryiko 2020-03-02 151 *type = BPF_TYPE_LINK; b2197755b2633e Daniel Borkmann 2015-10-29 152 else b2197755b2633e Daniel Borkmann 2015-10-29 153 return -EACCES; b2197755b2633e Daniel Borkmann 2015-10-29 154 b2197755b2633e Daniel Borkmann 2015-10-29 155 return 0; b2197755b2633e Daniel Borkmann 2015-10-29 156 } b2197755b2633e Daniel Borkmann 2015-10-29 157 3a2ad553a70d36 Hao Luo 2022-02-01 158 static struct bpf_dir_tag *inode_tag(const struct inode *inode) 3a2ad553a70d36 Hao Luo 2022-02-01 159 { 3a2ad553a70d36 Hao Luo 2022-02-01 160 if (unlikely(!S_ISDIR(inode->i_mode))) 3a2ad553a70d36 Hao Luo 2022-02-01 161 return NULL; 3a2ad553a70d36 Hao Luo 2022-02-01 162 3a2ad553a70d36 Hao Luo 2022-02-01 163 return inode->i_private; 3a2ad553a70d36 Hao Luo 2022-02-01 164 } 3a2ad553a70d36 Hao Luo 2022-02-01 165 3a2ad553a70d36 Hao Luo 2022-02-01 166 /* tag_dir_inode - tag a newly created directory. 3a2ad553a70d36 Hao Luo 2022-02-01 167 * @tag: tag of parent directory 3a2ad553a70d36 Hao Luo 2022-02-01 168 * @dentry: dentry of the new directory 3a2ad553a70d36 Hao Luo 2022-02-01 169 * @inode: inode of the new directory 3a2ad553a70d36 Hao Luo 2022-02-01 170 * 3a2ad553a70d36 Hao Luo 2022-02-01 171 * Called from bpf_mkdir. 3a2ad553a70d36 Hao Luo 2022-02-01 172 */ 3a2ad553a70d36 Hao Luo 2022-02-01 173 static int tag_dir_inode(const struct bpf_dir_tag *tag, 3a2ad553a70d36 Hao Luo 2022-02-01 174 const struct dentry *dentry, struct inode *inode) 3a2ad553a70d36 Hao Luo 2022-02-01 175 { 3a2ad553a70d36 Hao Luo 2022-02-01 176 struct bpf_dir_tag *t; 3a2ad553a70d36 Hao Luo 2022-02-01 177 struct kernfs_node *kn; 3a2ad553a70d36 Hao Luo 2022-02-01 178 3a2ad553a70d36 Hao Luo 2022-02-01 179 WARN_ON(tag->type != BPF_DIR_KERNFS_REP); 3a2ad553a70d36 Hao Luo 2022-02-01 180 3a2ad553a70d36 Hao Luo 2022-02-01 181 /* kn is put at tag deallocation. */ 3a2ad553a70d36 Hao Luo 2022-02-01 182 kn = kernfs_find_and_get_ns(tag->private, dentry->d_name.name, NULL); 3a2ad553a70d36 Hao Luo 2022-02-01 183 if (unlikely(!kn)) 3a2ad553a70d36 Hao Luo 2022-02-01 184 return -ENOENT; 3a2ad553a70d36 Hao Luo 2022-02-01 185 3a2ad553a70d36 Hao Luo 2022-02-01 186 if (unlikely(kernfs_type(kn) != KERNFS_DIR)) { 3a2ad553a70d36 Hao Luo 2022-02-01 187 kernfs_put(kn); 3a2ad553a70d36 Hao Luo 2022-02-01 188 return -EPERM; 3a2ad553a70d36 Hao Luo 2022-02-01 189 } 3a2ad553a70d36 Hao Luo 2022-02-01 190 3a2ad553a70d36 Hao Luo 2022-02-01 191 t = kzalloc(sizeof(struct bpf_dir_tag), GFP_KERNEL | __GFP_NOWARN); 3a2ad553a70d36 Hao Luo 2022-02-01 192 if (unlikely(!t)) { 3a2ad553a70d36 Hao Luo 2022-02-01 193 kernfs_put(kn); 3a2ad553a70d36 Hao Luo 2022-02-01 194 return -ENOMEM; 3a2ad553a70d36 Hao Luo 2022-02-01 195 } 3a2ad553a70d36 Hao Luo 2022-02-01 196 3a2ad553a70d36 Hao Luo 2022-02-01 197 t->type = tag->type; f6c6ca7ed74437 Hao Luo 2022-02-01 198 t->inherit_objects = tag->inherit_objects; f6c6ca7ed74437 Hao Luo 2022-02-01 199 kref_get(&t->inherit_objects->refcnt); 3a2ad553a70d36 Hao Luo 2022-02-01 200 t->private = kn; 3a2ad553a70d36 Hao Luo 2022-02-01 201 3a2ad553a70d36 Hao Luo 2022-02-01 202 inode->i_private = t; 3a2ad553a70d36 Hao Luo 2022-02-01 203 return 0; 3a2ad553a70d36 Hao Luo 2022-02-01 204 } 3a2ad553a70d36 Hao Luo 2022-02-01 205 f6c6ca7ed74437 Hao Luo 2022-02-01 206 /* populate_dir - populate directory with bpf objects in a tag's f6c6ca7ed74437 Hao Luo 2022-02-01 207 * inherit_objects. f6c6ca7ed74437 Hao Luo 2022-02-01 208 * @dir: dentry of the directory. f6c6ca7ed74437 Hao Luo 2022-02-01 209 * @inode: inode of the direcotry. f6c6ca7ed74437 Hao Luo 2022-02-01 210 * f6c6ca7ed74437 Hao Luo 2022-02-01 211 * Called from mkdir. Must be called after dentry has been finalized. f6c6ca7ed74437 Hao Luo 2022-02-01 212 */ f6c6ca7ed74437 Hao Luo 2022-02-01 213 static int populate_dir(struct dentry *dir, struct inode *inode) f6c6ca7ed74437 Hao Luo 2022-02-01 214 { f6c6ca7ed74437 Hao Luo 2022-02-01 215 struct bpf_dir_tag *tag = inode_tag(inode); f6c6ca7ed74437 Hao Luo 2022-02-01 216 struct bpf_inherit_entry *e; f6c6ca7ed74437 Hao Luo 2022-02-01 217 struct dentry *child; f6c6ca7ed74437 Hao Luo 2022-02-01 218 int ret; f6c6ca7ed74437 Hao Luo 2022-02-01 219 f6c6ca7ed74437 Hao Luo 2022-02-01 220 rcu_read_lock(); f6c6ca7ed74437 Hao Luo 2022-02-01 221 list_for_each_entry_rcu(e, &tag->inherit_objects->list, list) { f6c6ca7ed74437 Hao Luo 2022-02-01 222 child = lookup_one_len_unlocked(e->name.name, dir, f6c6ca7ed74437 Hao Luo 2022-02-01 223 strlen(e->name.name)); f6c6ca7ed74437 Hao Luo 2022-02-01 224 if (unlikely(IS_ERR(child))) { f6c6ca7ed74437 Hao Luo 2022-02-01 225 ret = PTR_ERR(child); f6c6ca7ed74437 Hao Luo 2022-02-01 226 break; f6c6ca7ed74437 Hao Luo 2022-02-01 227 } f6c6ca7ed74437 Hao Luo 2022-02-01 228 f6c6ca7ed74437 Hao Luo 2022-02-01 229 switch (e->type) { f6c6ca7ed74437 Hao Luo 2022-02-01 230 case BPF_TYPE_PROG: f6c6ca7ed74437 Hao Luo 2022-02-01 231 ret = bpf_mkprog(child, e->mode, e->obj); f6c6ca7ed74437 Hao Luo 2022-02-01 232 break; f6c6ca7ed74437 Hao Luo 2022-02-01 233 case BPF_TYPE_MAP: f6c6ca7ed74437 Hao Luo 2022-02-01 234 ret = bpf_mkmap(child, e->mode, e->obj); f6c6ca7ed74437 Hao Luo 2022-02-01 235 break; f6c6ca7ed74437 Hao Luo 2022-02-01 236 case BPF_TYPE_LINK: f6c6ca7ed74437 Hao Luo 2022-02-01 237 ret = bpf_mklink(child, e->mode, e->obj); f6c6ca7ed74437 Hao Luo 2022-02-01 238 break; f6c6ca7ed74437 Hao Luo 2022-02-01 239 default: f6c6ca7ed74437 Hao Luo 2022-02-01 240 ret = -EPERM; f6c6ca7ed74437 Hao Luo 2022-02-01 241 break; f6c6ca7ed74437 Hao Luo 2022-02-01 242 } f6c6ca7ed74437 Hao Luo 2022-02-01 243 dput(child); f6c6ca7ed74437 Hao Luo 2022-02-01 244 if (ret) f6c6ca7ed74437 Hao Luo 2022-02-01 245 break; f6c6ca7ed74437 Hao Luo 2022-02-01 246 f6c6ca7ed74437 Hao Luo 2022-02-01 247 /* To match bpf_any_put in bpf_free_inode. */ f6c6ca7ed74437 Hao Luo 2022-02-01 248 bpf_any_get(e->obj, e->type); f6c6ca7ed74437 Hao Luo 2022-02-01 249 } f6c6ca7ed74437 Hao Luo 2022-02-01 250 rcu_read_unlock(); f6c6ca7ed74437 Hao Luo 2022-02-01 @251 return ret; f6c6ca7ed74437 Hao Luo 2022-02-01 252 } f6c6ca7ed74437 Hao Luo 2022-02-01 253 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com> To: kbuild-all@lists.01.org Subject: Re: [PATCH RFC bpf-next v2 2/5] bpf: Introduce inherit list for dir tag. Date: Wed, 02 Feb 2022 12:32:01 +0300 [thread overview] Message-ID: <202202021722.Gftmgh6J-lkp@intel.com> (raw) In-Reply-To: <20220201205534.1962784-3-haoluo@google.com> [-- Attachment #1: Type: text/plain, Size: 4885 bytes --] Hi Hao, url: https://github.com/0day-ci/linux/commits/Hao-Luo/Extend-cgroup-interface-with-bpf/20220202-045743 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: i386-randconfig-m021-20220131 (https://download.01.org/0day-ci/archive/20220202/202202021722.Gftmgh6J-lkp(a)intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> smatch warnings: kernel/bpf/inode.c:71 free_obj_list() error: dereferencing freed memory 'e' kernel/bpf/inode.c:251 populate_dir() error: uninitialized symbol 'ret'. vim +/e +71 kernel/bpf/inode.c f6c6ca7ed74437 Hao Luo 2022-02-01 65 static void free_obj_list(struct kref *kref) f6c6ca7ed74437 Hao Luo 2022-02-01 66 { f6c6ca7ed74437 Hao Luo 2022-02-01 67 struct obj_list *list; f6c6ca7ed74437 Hao Luo 2022-02-01 68 struct bpf_inherit_entry *e; f6c6ca7ed74437 Hao Luo 2022-02-01 69 f6c6ca7ed74437 Hao Luo 2022-02-01 70 list = container_of(kref, struct obj_list, refcnt); f6c6ca7ed74437 Hao Luo 2022-02-01 @71 list_for_each_entry(e, &list->list, list) { Need to use list_for_each_entry_safe() because this frees the list iterator. f6c6ca7ed74437 Hao Luo 2022-02-01 72 list_del_rcu(&e->list); f6c6ca7ed74437 Hao Luo 2022-02-01 73 bpf_any_put(e->obj, e->type); f6c6ca7ed74437 Hao Luo 2022-02-01 74 kfree(e); f6c6ca7ed74437 Hao Luo 2022-02-01 75 } f6c6ca7ed74437 Hao Luo 2022-02-01 76 kfree(list); f6c6ca7ed74437 Hao Luo 2022-02-01 77 } [ snip ] f6c6ca7ed74437 Hao Luo 2022-02-01 213 static int populate_dir(struct dentry *dir, struct inode *inode) f6c6ca7ed74437 Hao Luo 2022-02-01 214 { f6c6ca7ed74437 Hao Luo 2022-02-01 215 struct bpf_dir_tag *tag = inode_tag(inode); f6c6ca7ed74437 Hao Luo 2022-02-01 216 struct bpf_inherit_entry *e; f6c6ca7ed74437 Hao Luo 2022-02-01 217 struct dentry *child; f6c6ca7ed74437 Hao Luo 2022-02-01 218 int ret; f6c6ca7ed74437 Hao Luo 2022-02-01 219 f6c6ca7ed74437 Hao Luo 2022-02-01 220 rcu_read_lock(); f6c6ca7ed74437 Hao Luo 2022-02-01 221 list_for_each_entry_rcu(e, &tag->inherit_objects->list, list) { f6c6ca7ed74437 Hao Luo 2022-02-01 222 child = lookup_one_len_unlocked(e->name.name, dir, f6c6ca7ed74437 Hao Luo 2022-02-01 223 strlen(e->name.name)); f6c6ca7ed74437 Hao Luo 2022-02-01 224 if (unlikely(IS_ERR(child))) { f6c6ca7ed74437 Hao Luo 2022-02-01 225 ret = PTR_ERR(child); f6c6ca7ed74437 Hao Luo 2022-02-01 226 break; f6c6ca7ed74437 Hao Luo 2022-02-01 227 } f6c6ca7ed74437 Hao Luo 2022-02-01 228 f6c6ca7ed74437 Hao Luo 2022-02-01 229 switch (e->type) { f6c6ca7ed74437 Hao Luo 2022-02-01 230 case BPF_TYPE_PROG: f6c6ca7ed74437 Hao Luo 2022-02-01 231 ret = bpf_mkprog(child, e->mode, e->obj); f6c6ca7ed74437 Hao Luo 2022-02-01 232 break; f6c6ca7ed74437 Hao Luo 2022-02-01 233 case BPF_TYPE_MAP: f6c6ca7ed74437 Hao Luo 2022-02-01 234 ret = bpf_mkmap(child, e->mode, e->obj); f6c6ca7ed74437 Hao Luo 2022-02-01 235 break; f6c6ca7ed74437 Hao Luo 2022-02-01 236 case BPF_TYPE_LINK: f6c6ca7ed74437 Hao Luo 2022-02-01 237 ret = bpf_mklink(child, e->mode, e->obj); f6c6ca7ed74437 Hao Luo 2022-02-01 238 break; f6c6ca7ed74437 Hao Luo 2022-02-01 239 default: f6c6ca7ed74437 Hao Luo 2022-02-01 240 ret = -EPERM; f6c6ca7ed74437 Hao Luo 2022-02-01 241 break; f6c6ca7ed74437 Hao Luo 2022-02-01 242 } f6c6ca7ed74437 Hao Luo 2022-02-01 243 dput(child); f6c6ca7ed74437 Hao Luo 2022-02-01 244 if (ret) f6c6ca7ed74437 Hao Luo 2022-02-01 245 break; f6c6ca7ed74437 Hao Luo 2022-02-01 246 f6c6ca7ed74437 Hao Luo 2022-02-01 247 /* To match bpf_any_put in bpf_free_inode. */ f6c6ca7ed74437 Hao Luo 2022-02-01 248 bpf_any_get(e->obj, e->type); f6c6ca7ed74437 Hao Luo 2022-02-01 249 } f6c6ca7ed74437 Hao Luo 2022-02-01 250 rcu_read_unlock(); f6c6ca7ed74437 Hao Luo 2022-02-01 @251 return ret; This warning is just about empty loops. Likely impossible. f6c6ca7ed74437 Hao Luo 2022-02-01 252 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next reply other threads:[~2022-02-02 9:15 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-02-02 9:15 kernel test robot [this message] 2022-02-02 9:32 ` [PATCH RFC bpf-next v2 2/5] bpf: Introduce inherit list for dir tag Dan Carpenter -- strict thread matches above, loose matches on Subject: below -- 2022-02-02 14:00 kernel test robot 2022-02-01 20:55 [PATCH RFC bpf-next v2 0/5] Extend cgroup interface with bpf Hao Luo 2022-02-01 20:55 ` [PATCH RFC bpf-next v2 1/5] bpf: Bpffs directory tag Hao Luo 2022-02-01 20:55 ` [PATCH RFC bpf-next v2 2/5] bpf: Introduce inherit list for dir tag Hao Luo 2022-02-01 20:55 ` [PATCH RFC bpf-next v2 3/5] bpf: cgroup_view iter Hao Luo 2022-02-02 1:17 ` kernel test robot 2022-02-02 3:39 ` kernel test robot 2022-02-02 3:39 ` kernel test robot 2022-02-01 20:55 ` [PATCH RFC bpf-next v2 4/5] bpf: Pin cgroup_view Hao Luo 2022-02-02 4:20 ` kernel test robot 2022-02-02 5:11 ` kernel test robot 2022-02-02 5:11 ` kernel test robot 2022-02-01 20:55 ` [PATCH RFC bpf-next v2 5/5] selftests/bpf: test for pinning for cgroup_view link Hao Luo 2022-02-03 18:04 ` Alexei Starovoitov 2022-02-03 22:46 ` Hao Luo 2022-02-04 3:33 ` Alexei Starovoitov 2022-02-04 18:26 ` Hao Luo 2022-02-06 4:29 ` Alexei Starovoitov 2022-02-08 20:07 ` Hao Luo 2022-02-08 21:20 ` Alexei Starovoitov 2022-02-08 21:34 ` Hao Luo 2022-02-14 18:29 ` Hao Luo 2022-02-14 19:24 ` Alexei Starovoitov 2022-02-14 20:23 ` Hao Luo 2022-02-14 20:27 ` Alexei Starovoitov 2022-02-14 20:39 ` Hao Luo
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202202021722.Gftmgh6J-lkp@intel.com \ --to=lkp@intel.com \ --cc=kbuild@lists.01.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.