[PATCH 0/2] softirq: redefine the type of kernel_stat.softirqs[] as unsigned long

thunder.leizhen@huaweicloud.com posted 2 patches 2 years, 6 months ago
fs/proc/softirqs.c          | 2 +-
fs/proc/stat.c              | 4 ++--
include/linux/kernel_stat.h | 8 ++++----
kernel/rcu/tree.h           | 2 +-
kernel/rcu/tree_stall.h     | 6 +++---
5 files changed, 11 insertions(+), 11 deletions(-)
[PATCH 0/2] softirq: redefine the type of kernel_stat.softirqs[] as unsigned long
Posted by thunder.leizhen@huaweicloud.com 2 years, 6 months ago
From: Zhen Lei <thunder.leizhen@huawei.com>

The type of member softirqs in structure kernel_stat is unsigned int, its
accumulated value can easily overflow. Changing to unsigned long can safely 
solve the problem on 64-bit processors.

 struct kernel_stat {
 	unsigned long irqs_sum;
-	unsigned int softirqs[NR_SOFTIRQS];
+	unsigned long softirqs[NR_SOFTIRQS];


Zhen Lei (2):
  softirq: fix integer overflow in function show_stat()
  softirq: redefine the type of kernel_stat.softirqs[] as unsigned long

 fs/proc/softirqs.c          | 2 +-
 fs/proc/stat.c              | 4 ++--
 include/linux/kernel_stat.h | 8 ++++----
 kernel/rcu/tree.h           | 2 +-
 kernel/rcu/tree_stall.h     | 6 +++---
 5 files changed, 11 insertions(+), 11 deletions(-)

-- 
2.25.1