From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============0562170266406467798==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [cgroup:for-next 1/5] kernel/cgroup/misc.c:61 valid_type() warn: unsigned 'type' is never less than zero. Date: Tue, 13 Apr 2021 12:30:50 +0800 Message-ID: <202104131244.3qFwbTtx-lkp@intel.com> List-Id: --===============0562170266406467798== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-n= ext head: d95af61df072a7d70b311a11c0c24cf7d8ccebd9 commit: a72232eabdfcfe365a05a3eb392288b78d25a5ca [1/5] cgroup: Add misc cgr= oup controller config: parisc-randconfig-m031-20210413 (attached as .config) compiler: hppa-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot smatch warnings: kernel/cgroup/misc.c:61 valid_type() warn: unsigned 'type' is never less th= an zero. kernel/cgroup/misc.c:210 misc_cg_max_show() warn: we never enter this loop kernel/cgroup/misc.c:257 misc_cg_max_write() warn: we never enter this loop kernel/cgroup/misc.c:299 misc_cg_current_show() warn: we never enter this l= oop kernel/cgroup/misc.c:323 misc_cg_capacity_show() warn: we never enter this = loop kernel/cgroup/misc.c:376 misc_cg_alloc() warn: we never enter this loop kernel/cgroup/misc.c:376 misc_cg_alloc() warn: unsigned 'i' is never less t= han zero. kernel/cgroup/misc.c:376 misc_cg_alloc() warn: unsigned 'i' is never less t= han zero. vim +/type +61 kernel/cgroup/misc.c 49 = 50 /** 51 * valid_type() - Check if @type is valid or not. 52 * @type: misc res type. 53 * 54 * Context: Any context. 55 * Return: 56 * * true - If valid type. 57 * * false - If not valid type. 58 */ 59 static inline bool valid_type(enum misc_res_type type) 60 { > 61 return type >=3D 0 && type < MISC_CG_RES_TYPES; 62 } 63 = 64 /** 65 * misc_cg_res_total_usage() - Get the current total usage of the re= source. 66 * @type: misc res type. 67 * 68 * Context: Any context. 69 * Return: Current total usage of the resource. 70 */ 71 unsigned long misc_cg_res_total_usage(enum misc_res_type type) 72 { 73 if (valid_type(type)) 74 return atomic_long_read(&root_cg.res[type].usage); 75 = 76 return 0; 77 } 78 EXPORT_SYMBOL_GPL(misc_cg_res_total_usage); 79 = 80 /** 81 * misc_cg_set_capacity() - Set the capacity of the misc cgroup res. 82 * @type: Type of the misc res. 83 * @capacity: Supported capacity of the misc res on the host. 84 * 85 * If capacity is 0 then the charging a misc cgroup fails for that t= ype. 86 * 87 * Context: Any context. 88 * Return: 89 * * %0 - Successfully registered the capacity. 90 * * %-EINVAL - If @type is invalid. 91 */ 92 int misc_cg_set_capacity(enum misc_res_type type, unsigned long capa= city) 93 { 94 if (!valid_type(type)) 95 return -EINVAL; 96 = 97 WRITE_ONCE(misc_res_capacity[type], capacity); 98 return 0; 99 } 100 EXPORT_SYMBOL_GPL(misc_cg_set_capacity); 101 = 102 /** 103 * misc_cg_cancel_charge() - Cancel the charge from the misc cgroup. 104 * @type: Misc res type in misc cg to cancel the charge from. 105 * @cg: Misc cgroup to cancel charge from. 106 * @amount: Amount to cancel. 107 * 108 * Context: Any context. 109 */ 110 static void misc_cg_cancel_charge(enum misc_res_type type, struct mi= sc_cg *cg, 111 unsigned long amount) 112 { 113 WARN_ONCE(atomic_long_add_negative(-amount, &cg->res[type].usage), 114 "misc cgroup resource %s became less than 0", 115 misc_res_name[type]); 116 } 117 = 118 /** 119 * misc_cg_try_charge() - Try charging the misc cgroup. 120 * @type: Misc res type to charge. 121 * @cg: Misc cgroup which will be charged. 122 * @amount: Amount to charge. 123 * 124 * Charge @amount to the misc cgroup. Caller must use the same cgrou= p during 125 * the uncharge call. 126 * 127 * Context: Any context. 128 * Return: 129 * * %0 - If successfully charged. 130 * * -EINVAL - If @type is invalid or misc res has 0 capacity. 131 * * -EBUSY - If max limit will be crossed or total usage will be mo= re than the 132 * capacity. 133 */ 134 int misc_cg_try_charge(enum misc_res_type type, struct misc_cg *cg, 135 unsigned long amount) 136 { 137 struct misc_cg *i, *j; 138 int ret; 139 struct misc_res *res; 140 int new_usage; 141 = 142 if (!(valid_type(type) && cg && READ_ONCE(misc_res_capacity[type]))) 143 return -EINVAL; 144 = 145 if (!amount) 146 return 0; 147 = 148 for (i =3D cg; i; i =3D parent_misc(i)) { 149 res =3D &i->res[type]; 150 = 151 new_usage =3D atomic_long_add_return(amount, &res->usage); 152 if (new_usage > READ_ONCE(res->max) || 153 new_usage > READ_ONCE(misc_res_capacity[type])) { 154 if (!res->failed) { 155 pr_info("cgroup: charge rejected by the misc controller for %s r= esource in ", 156 misc_res_name[type]); 157 pr_cont_cgroup_path(i->css.cgroup); 158 pr_cont("\n"); 159 res->failed =3D true; 160 } 161 ret =3D -EBUSY; 162 goto err_charge; 163 } 164 } 165 return 0; 166 = 167 err_charge: 168 for (j =3D cg; j !=3D i; j =3D parent_misc(j)) 169 misc_cg_cancel_charge(type, j, amount); 170 misc_cg_cancel_charge(type, i, amount); 171 return ret; 172 } 173 EXPORT_SYMBOL_GPL(misc_cg_try_charge); 174 = 175 /** 176 * misc_cg_uncharge() - Uncharge the misc cgroup. 177 * @type: Misc res type which was charged. 178 * @cg: Misc cgroup which will be uncharged. 179 * @amount: Charged amount. 180 * 181 * Context: Any context. 182 */ 183 void misc_cg_uncharge(enum misc_res_type type, struct misc_cg *cg, 184 unsigned long amount) 185 { 186 struct misc_cg *i; 187 = 188 if (!(amount && valid_type(type) && cg)) 189 return; 190 = 191 for (i =3D cg; i; i =3D parent_misc(i)) 192 misc_cg_cancel_charge(type, i, amount); 193 } 194 EXPORT_SYMBOL_GPL(misc_cg_uncharge); 195 = 196 /** 197 * misc_cg_max_show() - Show the misc cgroup max limit. 198 * @sf: Interface file 199 * @v: Arguments passed 200 * 201 * Context: Any context. 202 * Return: 0 to denote successful print. 203 */ 204 static int misc_cg_max_show(struct seq_file *sf, void *v) 205 { 206 int i; 207 struct misc_cg *cg =3D css_misc(seq_css(sf)); 208 unsigned long max; 209 = > 210 for (i =3D 0; i < MISC_CG_RES_TYPES; i++) { 211 if (READ_ONCE(misc_res_capacity[i])) { 212 max =3D READ_ONCE(cg->res[i].max); 213 if (max =3D=3D MAX_NUM) 214 seq_printf(sf, "%s max\n", misc_res_name[i]); 215 else 216 seq_printf(sf, "%s %lu\n", misc_res_name[i], 217 max); 218 } 219 } 220 = 221 return 0; 222 } 223 = 224 /** 225 * misc_cg_max_write() - Update the maximum limit of the cgroup. 226 * @of: Handler for the file. 227 * @buf: Data from the user. It should be either "max", 0, or a posi= tive 228 * integer. 229 * @nbytes: Number of bytes of the data. 230 * @off: Offset in the file. 231 * 232 * User can pass data like: 233 * echo sev 23 > misc.max, OR 234 * echo sev max > misc.max 235 * 236 * Context: Any context. 237 * Return: 238 * * >=3D 0 - Number of bytes processed in the input. 239 * * -EINVAL - If buf is not valid. 240 * * -ERANGE - If number is bigger than the unsigned long capacity. 241 */ 242 static ssize_t misc_cg_max_write(struct kernfs_open_file *of, char *= buf, 243 size_t nbytes, loff_t off) 244 { 245 struct misc_cg *cg; 246 unsigned long max; 247 int ret =3D 0, i; 248 enum misc_res_type type =3D MISC_CG_RES_TYPES; 249 char *token; 250 = 251 buf =3D strstrip(buf); 252 token =3D strsep(&buf, " "); 253 = 254 if (!token || !buf) 255 return -EINVAL; 256 = > 257 for (i =3D 0; i < MISC_CG_RES_TYPES; i++) { 258 if (!strcmp(misc_res_name[i], token)) { 259 type =3D i; 260 break; 261 } 262 } 263 = 264 if (type =3D=3D MISC_CG_RES_TYPES) 265 return -EINVAL; 266 = 267 if (!strcmp(MAX_STR, buf)) { 268 max =3D MAX_NUM; 269 } else { 270 ret =3D kstrtoul(buf, 0, &max); 271 if (ret) 272 return ret; 273 } 274 = 275 cg =3D css_misc(of_css(of)); 276 = 277 if (READ_ONCE(misc_res_capacity[type])) 278 WRITE_ONCE(cg->res[type].max, max); 279 else 280 ret =3D -EINVAL; 281 = 282 return ret ? ret : nbytes; 283 } 284 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============0562170266406467798== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============0562170266406467798==-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: kernel test robot Subject: [cgroup:for-next 1/5] kernel/cgroup/misc.c:61 valid_type() warn: unsigned 'type' is never less than zero. Date: Tue, 13 Apr 2021 12:30:50 +0800 Message-ID: <202104131244.3qFwbTtx-lkp@intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="nFreZHaLTZJo0R7j" Return-path: Content-Disposition: inline List-ID: To: Vipin Sharma Cc: kbuild-all-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org, cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Tejun Heo , David Rientjes --nFreZHaLTZJo0R7j Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-next head: d95af61df072a7d70b311a11c0c24cf7d8ccebd9 commit: a72232eabdfcfe365a05a3eb392288b78d25a5ca [1/5] cgroup: Add misc cgroup controller config: parisc-randconfig-m031-20210413 (attached as .config) compiler: hppa-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot smatch warnings: kernel/cgroup/misc.c:61 valid_type() warn: unsigned 'type' is never less than zero. kernel/cgroup/misc.c:210 misc_cg_max_show() warn: we never enter this loop kernel/cgroup/misc.c:257 misc_cg_max_write() warn: we never enter this loop kernel/cgroup/misc.c:299 misc_cg_current_show() warn: we never enter this loop kernel/cgroup/misc.c:323 misc_cg_capacity_show() warn: we never enter this loop kernel/cgroup/misc.c:376 misc_cg_alloc() warn: we never enter this loop kernel/cgroup/misc.c:376 misc_cg_alloc() warn: unsigned 'i' is never less than zero. kernel/cgroup/misc.c:376 misc_cg_alloc() warn: unsigned 'i' is never less than zero. vim +/type +61 kernel/cgroup/misc.c 49 50 /** 51 * valid_type() - Check if @type is valid or not. 52 * @type: misc res type. 53 * 54 * Context: Any context. 55 * Return: 56 * * true - If valid type. 57 * * false - If not valid type. 58 */ 59 static inline bool valid_type(enum misc_res_type type) 60 { > 61 return type >= 0 && type < MISC_CG_RES_TYPES; 62 } 63 64 /** 65 * misc_cg_res_total_usage() - Get the current total usage of the resource. 66 * @type: misc res type. 67 * 68 * Context: Any context. 69 * Return: Current total usage of the resource. 70 */ 71 unsigned long misc_cg_res_total_usage(enum misc_res_type type) 72 { 73 if (valid_type(type)) 74 return atomic_long_read(&root_cg.res[type].usage); 75 76 return 0; 77 } 78 EXPORT_SYMBOL_GPL(misc_cg_res_total_usage); 79 80 /** 81 * misc_cg_set_capacity() - Set the capacity of the misc cgroup res. 82 * @type: Type of the misc res. 83 * @capacity: Supported capacity of the misc res on the host. 84 * 85 * If capacity is 0 then the charging a misc cgroup fails for that type. 86 * 87 * Context: Any context. 88 * Return: 89 * * %0 - Successfully registered the capacity. 90 * * %-EINVAL - If @type is invalid. 91 */ 92 int misc_cg_set_capacity(enum misc_res_type type, unsigned long capacity) 93 { 94 if (!valid_type(type)) 95 return -EINVAL; 96 97 WRITE_ONCE(misc_res_capacity[type], capacity); 98 return 0; 99 } 100 EXPORT_SYMBOL_GPL(misc_cg_set_capacity); 101 102 /** 103 * misc_cg_cancel_charge() - Cancel the charge from the misc cgroup. 104 * @type: Misc res type in misc cg to cancel the charge from. 105 * @cg: Misc cgroup to cancel charge from. 106 * @amount: Amount to cancel. 107 * 108 * Context: Any context. 109 */ 110 static void misc_cg_cancel_charge(enum misc_res_type type, struct misc_cg *cg, 111 unsigned long amount) 112 { 113 WARN_ONCE(atomic_long_add_negative(-amount, &cg->res[type].usage), 114 "misc cgroup resource %s became less than 0", 115 misc_res_name[type]); 116 } 117 118 /** 119 * misc_cg_try_charge() - Try charging the misc cgroup. 120 * @type: Misc res type to charge. 121 * @cg: Misc cgroup which will be charged. 122 * @amount: Amount to charge. 123 * 124 * Charge @amount to the misc cgroup. Caller must use the same cgroup during 125 * the uncharge call. 126 * 127 * Context: Any context. 128 * Return: 129 * * %0 - If successfully charged. 130 * * -EINVAL - If @type is invalid or misc res has 0 capacity. 131 * * -EBUSY - If max limit will be crossed or total usage will be more than the 132 * capacity. 133 */ 134 int misc_cg_try_charge(enum misc_res_type type, struct misc_cg *cg, 135 unsigned long amount) 136 { 137 struct misc_cg *i, *j; 138 int ret; 139 struct misc_res *res; 140 int new_usage; 141 142 if (!(valid_type(type) && cg && READ_ONCE(misc_res_capacity[type]))) 143 return -EINVAL; 144 145 if (!amount) 146 return 0; 147 148 for (i = cg; i; i = parent_misc(i)) { 149 res = &i->res[type]; 150 151 new_usage = atomic_long_add_return(amount, &res->usage); 152 if (new_usage > READ_ONCE(res->max) || 153 new_usage > READ_ONCE(misc_res_capacity[type])) { 154 if (!res->failed) { 155 pr_info("cgroup: charge rejected by the misc controller for %s resource in ", 156 misc_res_name[type]); 157 pr_cont_cgroup_path(i->css.cgroup); 158 pr_cont("\n"); 159 res->failed = true; 160 } 161 ret = -EBUSY; 162 goto err_charge; 163 } 164 } 165 return 0; 166 167 err_charge: 168 for (j = cg; j != i; j = parent_misc(j)) 169 misc_cg_cancel_charge(type, j, amount); 170 misc_cg_cancel_charge(type, i, amount); 171 return ret; 172 } 173 EXPORT_SYMBOL_GPL(misc_cg_try_charge); 174 175 /** 176 * misc_cg_uncharge() - Uncharge the misc cgroup. 177 * @type: Misc res type which was charged. 178 * @cg: Misc cgroup which will be uncharged. 179 * @amount: Charged amount. 180 * 181 * Context: Any context. 182 */ 183 void misc_cg_uncharge(enum misc_res_type type, struct misc_cg *cg, 184 unsigned long amount) 185 { 186 struct misc_cg *i; 187 188 if (!(amount && valid_type(type) && cg)) 189 return; 190 191 for (i = cg; i; i = parent_misc(i)) 192 misc_cg_cancel_charge(type, i, amount); 193 } 194 EXPORT_SYMBOL_GPL(misc_cg_uncharge); 195 196 /** 197 * misc_cg_max_show() - Show the misc cgroup max limit. 198 * @sf: Interface file 199 * @v: Arguments passed 200 * 201 * Context: Any context. 202 * Return: 0 to denote successful print. 203 */ 204 static int misc_cg_max_show(struct seq_file *sf, void *v) 205 { 206 int i; 207 struct misc_cg *cg = css_misc(seq_css(sf)); 208 unsigned long max; 209 > 210 for (i = 0; i < MISC_CG_RES_TYPES; i++) { 211 if (READ_ONCE(misc_res_capacity[i])) { 212 max = READ_ONCE(cg->res[i].max); 213 if (max == MAX_NUM) 214 seq_printf(sf, "%s max\n", misc_res_name[i]); 215 else 216 seq_printf(sf, "%s %lu\n", misc_res_name[i], 217 max); 218 } 219 } 220 221 return 0; 222 } 223 224 /** 225 * misc_cg_max_write() - Update the maximum limit of the cgroup. 226 * @of: Handler for the file. 227 * @buf: Data from the user. It should be either "max", 0, or a positive 228 * integer. 229 * @nbytes: Number of bytes of the data. 230 * @off: Offset in the file. 231 * 232 * User can pass data like: 233 * echo sev 23 > misc.max, OR 234 * echo sev max > misc.max 235 * 236 * Context: Any context. 237 * Return: 238 * * >= 0 - Number of bytes processed in the input. 239 * * -EINVAL - If buf is not valid. 240 * * -ERANGE - If number is bigger than the unsigned long capacity. 241 */ 242 static ssize_t misc_cg_max_write(struct kernfs_open_file *of, char *buf, 243 size_t nbytes, loff_t off) 244 { 245 struct misc_cg *cg; 246 unsigned long max; 247 int ret = 0, i; 248 enum misc_res_type type = MISC_CG_RES_TYPES; 249 char *token; 250 251 buf = strstrip(buf); 252 token = strsep(&buf, " "); 253 254 if (!token || !buf) 255 return -EINVAL; 256 > 257 for (i = 0; i < MISC_CG_RES_TYPES; i++) { 258 if (!strcmp(misc_res_name[i], token)) { 259 type = i; 260 break; 261 } 262 } 263 264 if (type == MISC_CG_RES_TYPES) 265 return -EINVAL; 266 267 if (!strcmp(MAX_STR, buf)) { 268 max = MAX_NUM; 269 } else { 270 ret = kstrtoul(buf, 0, &max); 271 if (ret) 272 return ret; 273 } 274 275 cg = css_misc(of_css(of)); 276 277 if (READ_ONCE(misc_res_capacity[type])) 278 WRITE_ONCE(cg->res[type].max, max); 279 else 280 ret = -EINVAL; 281 282 return ret ? ret : nbytes; 283 } 284 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org --nFreZHaLTZJo0R7j Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 z6AOClHvEoo6avof+IGPXTewAQA= --nFreZHaLTZJo0R7j--