lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Fri, 12 Jan 2024 10:02:50 +0800
From: Jiapeng Chong <jiapeng.chong@...ux.alibaba.com>
To: tglx@...utronix.de
Cc: akpm@...ux-foundation.org,
	linux-kernel@...r.kernel.org,
	Jiapeng Chong <jiapeng.chong@...ux.alibaba.com>,
	Abaci Robot <abaci@...ux.alibaba.com>
Subject: [PATCH] lib/group_cpus: Fix unsigned expression compared with zero

The nr_present and nr_others is defined as unsigned int type,
if(nr_present < 0) and if(nr_others < 0 )is invalid. At the same time, the
return value of function __group_cpus_evenly also of type int. so modified
the types of nr_present and nr_others to int.

lib/group_cpus.c:380 group_cpus_evenly() warn: unsigned 'nr_present' is never less than zero.
lib/group_cpus.c:396 group_cpus_evenly() warn: unsigned 'nr_others' is never less than zero.

Reported-by: Abaci Robot <abaci@...ux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=7890
Signed-off-by: Jiapeng Chong <jiapeng.chong@...ux.alibaba.com>
---
 lib/group_cpus.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/group_cpus.c b/lib/group_cpus.c
index 3a0db0f51f09..08e31f2f053f 100644
--- a/lib/group_cpus.c
+++ b/lib/group_cpus.c
@@ -354,7 +354,8 @@ struct cpumask *group_cpus_evenly(unsigned int numgrps)
 	cpumask_var_t *node_to_cpumask __free(free_node_to_cpumask) = alloc_node_to_cpumask();
 	struct cpumask *masks __free(kfree) = kcalloc(numgrps, sizeof(*masks), GFP_KERNEL);
 	cpumask_var_t npresmsk __free(free_cpumask_var);
-	unsigned int curgrp, nr_present, nr_others;
+	unsigned int curgrp;
+	int nr_present, nr_others;
 
 	if (!masks || !node_to_cpumask || !alloc_cpumask_var(&npresmsk, GFP_KERNEL))
 		return NULL;
-- 
2.20.1.7.g153144c


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ