Kernel
Threads by month
- ----- 2025 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- 24 participants
- 20253 discussions

[PATCH OLK-6.6] tools/mpam: Add MPAM dynamic adjustment and sampling scripts
by Zeng Heng 06 Sep '25
by Zeng Heng 06 Sep '25
06 Sep '25
hulk inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/ICWIH7
--------------------------------
For co-location scenarios, add a data-sampling script based on the resctrl
file system, which monitors memory bandwidth and cache usage.
The script also provides a dynamic bandwidth-adjustment policy that
guarantees the response performance of latency-critical services by
limiting best-effort services.
Signed-off-by: Zeng Heng <zengheng4(a)huawei.com>
---
tools/mpam/dynamic_adjust/bw_dynamic.py | 265 ++++++++++++++++++++
tools/mpam/dynamic_adjust/calc_cpu_usage.py | 25 ++
tools/mpam/dynamic_adjust/draw_bw.py | 154 ++++++++++++
tools/mpam/dynamic_adjust/draw_cpu.py | 41 +++
tools/mpam/dynamic_adjust/draw_lib.py | 38 +++
tools/mpam/dynamic_adjust/draw_llc.py | 126 ++++++++++
tools/mpam/dynamic_adjust/pid_controller.py | 45 ++++
7 files changed, 694 insertions(+)
create mode 100644 tools/mpam/dynamic_adjust/bw_dynamic.py
create mode 100644 tools/mpam/dynamic_adjust/calc_cpu_usage.py
create mode 100644 tools/mpam/dynamic_adjust/draw_bw.py
create mode 100644 tools/mpam/dynamic_adjust/draw_cpu.py
create mode 100644 tools/mpam/dynamic_adjust/draw_lib.py
create mode 100644 tools/mpam/dynamic_adjust/draw_llc.py
create mode 100644 tools/mpam/dynamic_adjust/pid_controller.py
diff --git a/tools/mpam/dynamic_adjust/bw_dynamic.py b/tools/mpam/dynamic_adjust/bw_dynamic.py
new file mode 100644
index 000000000000..9cbbab29e4da
--- /dev/null
+++ b/tools/mpam/dynamic_adjust/bw_dynamic.py
@@ -0,0 +1,265 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Dynamic Bandwidth Adjustment
+#
+# Copyright (C) 2025, Technologies Co., Ltd.
+# Author: Zeng Heng <zengheng4(a)huawei.com>
+
+import os, time, signal, json, sys
+import argparse
+import subprocess
+from pid_controller import PID_Controller
+from calc_cpu_usage import read_cpu_times, calculate_cpu_utilization
+
+__version__ = "1.0.0"
+
+numa_bw_limit = 140000
+
+bw_list = []
+llc_list = []
+set_list = []
+cpu_list = []
+
+def read_bw(grp):
+ grps_val = {}
+
+ for g in grp:
+ vals = []
+
+ resctrl_mon_data_dir = '/sys/fs/resctrl/%s/mon_data/' % g
+ mon_data_dirs = os.listdir(resctrl_mon_data_dir)
+ mon_MB_dirs = [dir for dir in mon_data_dirs if dir.startswith('mon_MB_')]
+ mon_MB_dirs.sort()
+
+ for mb_dir in mon_MB_dirs:
+ with open(resctrl_mon_data_dir + mb_dir + '/mbm_total_bytes', 'r') as f:
+ # with open(resctrl_mon_data_dir + mb_dir, 'r') as f:
+ line = f.readline()
+ vals.append(int(line.strip()))
+
+ grps_val[g] = vals
+
+ totals = []
+ for i in range(len(mon_MB_dirs)):
+ total = 0
+ for g in grp:
+ total += grps_val[g][i]
+ totals.append(total)
+
+ grps_val["__grp_total__"] = totals
+ return grps_val
+
+def increase_bw(be_grp, i, percent):
+ resctrl_par_dir = '/sys/fs/resctrl/%s/schemata' % be_grp[0]
+ with open(resctrl_par_dir, 'r') as f:
+ lines = f.readlines()
+
+ for line in lines:
+ if "MB:" in line:
+ config = line.split(":")
+ config = config[1].split(";")
+ origin_p = int(config[i].split("=")[1])
+
+ new_p = (origin_p + percent)
+ if new_p > 100:
+ new_p = 100
+ elif new_p < 1:
+ new_p = 1
+
+ for g in be_grp:
+ print("%s NUMA%d MB %d%%->%d%% delta %d%%" % (g, i, origin_p, new_p, percent))
+
+ cnt = "MB:%d=%d" % (i, new_p)
+ if new_p == origin_p:
+ continue
+
+ resctrl_par_dir = '/sys/fs/resctrl/%s/schemata' % g
+ with open(resctrl_par_dir, 'w+') as f:
+ f.write("%s\n" % cnt)
+
+ return origin_p
+
+def gain_numa_bw(lc_grp, be_grp, pid_ctl, adjust_enable, target_percent):
+ lc_val = read_bw(lc_grp)
+ be_val = read_bw(be_grp)
+
+ bw_state = {}
+ bw_state["lc_bw"] = lc_val
+ bw_state["be_bw"] = be_val
+ bw_state["total_bw"] = []
+
+ numa_set = []
+
+ for i in range(len(lc_val["__grp_total__"])):
+ bw_state["total_bw"].append(lc_val["__grp_total__"][i] + be_val["__grp_total__"][i])
+
+ set_state = {}
+
+ if adjust_enable == True:
+ if bw_state["lc_bw"]["__grp_total__"][i] < (0.04 * numa_bw_limit):
+ # enlarge BE load
+ diff = pid_ctl[i].max_output
+ elif bw_state["lc_bw"]["__grp_total__"][i] > (target_percent * numa_bw_limit / 100):
+ # shutdown BE load
+ diff = pid_ctl[i].min_output
+ else:
+ diff = pid_ctl[i].update(bw_state["total_bw"][i] * 100 // numa_bw_limit , 1)
+ else:
+ diff = 0
+
+ curr = increase_bw(be_grp, i, diff)
+ set_state['setting'] = curr
+ numa_set.append(set_state)
+
+ bw_list.append(bw_state)
+ set_list.append(numa_set)
+ return
+
+def read_llc(grp):
+ grps_val = {}
+
+ for g in grp:
+ vals = []
+
+ resctrl_mon_data_dir = '/sys/fs/resctrl/%s/mon_data/' % g
+ mon_data_dirs = os.listdir(resctrl_mon_data_dir)
+ mon_llc_dirs = [dir for dir in mon_data_dirs if dir.startswith('mon_L3_')]
+ mon_llc_dirs.sort()
+
+ for mb_dir in mon_llc_dirs:
+ with open(resctrl_mon_data_dir + mb_dir + '/llc_occupancy', 'r') as f:
+ # with open(resctrl_mon_data_dir + mb_dir, 'r') as f:
+ line = f.readline()
+ vals.append(int(line.strip()))
+
+ grps_val[g] = vals
+
+ totals = []
+ for i in range(len(mon_llc_dirs)):
+ total = 0
+ for g in grp:
+ total += grps_val[g][i]
+ totals.append(total)
+
+ grps_val["__grp_total__"] = totals
+ return grps_val
+
+def gain_numa_llc(lc_grp, be_grp):
+ lc_llc = read_llc(lc_grp)
+ be_llc = read_llc(be_grp)
+
+ llc_state = {}
+ llc_state["lc_llc"] = lc_llc
+ llc_state["be_llc"] = be_llc
+
+ llc_list.append(llc_state)
+
+ return
+
+def gain_cpu(time1, time2):
+ usage = calculate_cpu_utilization(time1, time2)
+ print(f"CPU load: {usage:.2f}%")
+ cpu_list.append(usage)
+ return
+
+def save_file(sig, frame):
+ with open(f"ctrlgrp_bw.data", 'w') as fl:
+ json.dump(bw_list, fl)
+
+ with open(f"schemata_set.data", 'w') as fl:
+ json.dump(set_list, fl)
+
+ with open(f"ctrlgrp_llc.data", 'w') as fl:
+ json.dump(llc_list, fl)
+
+ with open(f"cpu_usage.data", 'w') as fl:
+ json.dump(cpu_list, fl)
+
+ exit(0)
+
+def get_numa_count():
+ try:
+ output = subprocess.check_output(['lscpu'], text=True)
+ for line in output.splitlines():
+ if line.startswith('NUMA node(s):'):
+ return int(line.split(':')[1].strip())
+
+ except Exception as e:
+ print('Error:', e)
+ return None
+
+def flatten_comma_separated(raw_list):
+ out = []
+ for item in raw_list:
+ out.extend([x.strip() for x in item.split(",") if x.strip()])
+ return out
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description="Example: read execution time and isolation percentage from CLI")
+
+ parser.add_argument("-t", "--time", required=False, type=int,
+ help="Expected execution time in seconds, positive integer")
+ parser.add_argument("-i", "--isolation", required=False, type=int,
+ help="Isolation percentage, integer between 1 and 100")
+ parser.add_argument("-l", "--lc", action="append", default=["."],
+ help="Comma-separated or repeated latency-critical group names.")
+ parser.add_argument("-b", "--be", action="append", default=[],
+ help="Comma-separated or repeated best-effort group names.")
+ parser.add_argument("-v", "--version", action="version",
+ version=f"%(prog)s {__version__}")
+
+ args = parser.parse_args()
+
+ if args.time and args.time <= 0:
+ sys.exit("ERROR: execution time must be > 0 seconds")
+
+ if args.isolation and not 1 <= args.isolation <= 100:
+ sys.exit("ERROR: isolation percentage must be between 0 and 100")
+
+ if not args.be or not args.lc:
+ sys.exit("ERROR: at least one -l or -b group name must be provided")
+
+ args.lc = flatten_comma_separated(args.lc)
+ args.be = flatten_comma_separated(args.be)
+
+ return args
+
+if __name__ == "__main__":
+ signal.signal(signal.SIGINT, save_file)
+
+ args = parse_args()
+ exec_time = args.time
+ target_percent = args.isolation
+ lc_group = args.lc
+ be_group = args.be
+
+ adj_enable = False
+ if target_percent:
+ adj_enable = True
+
+ pid_ctl = []
+ numa_cnt = get_numa_count()
+ for i in range(numa_cnt):
+ pid_ctl.append(PID_Controller(kp=1.0, ki=0.02, kd=0.05,
+ set_point=target_percent))
+
+ now = 0
+ time1 = read_cpu_times()
+
+ while True:
+ gain_numa_bw(lc_group, be_group, pid_ctl, adj_enable, target_percent)
+ gain_numa_llc(lc_group, be_group)
+
+ time2 = read_cpu_times()
+ gain_cpu(time1, time2)
+ time1 = time2
+
+ print("..........................")
+ time.sleep(1)
+ now += 1
+
+ if exec_time and exec_time <= now:
+ break
+
+ save_file(None, None)
diff --git a/tools/mpam/dynamic_adjust/calc_cpu_usage.py b/tools/mpam/dynamic_adjust/calc_cpu_usage.py
new file mode 100644
index 000000000000..75f591f4443a
--- /dev/null
+++ b/tools/mpam/dynamic_adjust/calc_cpu_usage.py
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# CPU Load Sampling for Dynamic Bandwidth Adjustment
+#
+# Copyright (C) 2025, Technologies Co., Ltd.
+# Author: Zeng Heng <zengheng4(a)huawei.com>
+
+import time
+
+def read_cpu_times():
+ with open('/proc/stat', 'r') as f:
+ line = f.readline()
+
+ parts = line.split()
+ return list(map(int, parts[1:]))
+
+def calculate_cpu_utilization(times1, times2):
+ total1 = sum(times1)
+ idle1 = times1[3]
+ total2 = sum(times2)
+ idle2 = times2[3]
+
+ total_diff = total2 - total1
+ idle_diff = idle2 - idle1
+ return (total_diff - idle_diff) * 100 / total_diff
diff --git a/tools/mpam/dynamic_adjust/draw_bw.py b/tools/mpam/dynamic_adjust/draw_bw.py
new file mode 100644
index 000000000000..c84d9d2047eb
--- /dev/null
+++ b/tools/mpam/dynamic_adjust/draw_bw.py
@@ -0,0 +1,154 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Memory Bandwidth Analysis for Dynamic Bandwidth Adjustment
+#
+# Copyright (C) 2025, Technologies Co., Ltd.
+# Author: Zeng Heng <zengheng4(a)huawei.com>
+
+import json
+import matplotlib.pyplot as plt
+from draw_lib import parse_args, get_data
+
+bw_max_limit = 140000
+
+def get_lc_bw(data_list, idx):
+ table = {}
+
+ table['total_bw'] = []
+ table['lc_bw'] = []
+
+ for k, v in data_list[0]['lc_bw'].items():
+ if k != "__grp_total__":
+ table[k] = []
+
+ for data in data_list:
+ table['total_bw'].append(data['total_bw'][idx])
+ table['lc_bw'].append(data['lc_bw']["__grp_total__"][idx])
+
+ for k, v in data['lc_bw'].items():
+ if k != "__grp_total__":
+ table[k].append(v[idx])
+
+ return table
+
+def get_be_bw(data_list, idx):
+ table = {}
+
+ table['total_bw'] = []
+ table['be_bw'] = []
+
+ for k, v in data_list[0]['be_bw'].items():
+ if k != "__grp_total__":
+ table[k] = []
+
+ for data in data_list:
+ table['total_bw'].append(data['total_bw'][idx])
+ table['be_bw'].append(data['be_bw']["__grp_total__"][idx])
+
+ for k, v in data['be_bw'].items():
+ if k != "__grp_total__":
+ table[k].append(v[idx])
+
+ return table
+
+def get_all_bw(data_list, idx):
+ table = {}
+
+ table['total_bw'] = []
+ table['lc_bw'] = []
+ table['be_bw'] = []
+
+ for k, v in data_list[0]['lc_bw'].items():
+ if k != "__grp_total__":
+ table[k] = []
+ for k, v in data_list[0]['be_bw'].items():
+ if k != "__grp_total__":
+ table[k] = []
+
+ for data in data_list:
+ table['total_bw'].append(data['total_bw'][idx])
+ table['lc_bw'].append(data['lc_bw']["__grp_total__"][idx])
+ table['be_bw'].append(data['be_bw']["__grp_total__"][idx])
+
+ for k, v in data['lc_bw'].items():
+ if k != "__grp_total__":
+ table[k].append(v[idx])
+
+ for k, v in data['be_bw'].items():
+ if k != "__grp_total__":
+ table[k].append(v[idx])
+
+ return table
+
+def get_all_set(set_list, idx):
+ setting = []
+
+ for data in set_list:
+ setting.append(data[idx]['setting'])
+
+ return setting
+
+def draw_data(bw_list, set_list, cpu_list, numa_th, percent):
+ fig = plt.figure()
+ x_arr = list(range(len(bw_list)))
+ ref = [bw_max_limit * percent / 100] * len(bw_list)
+
+ ax1 = fig.add_subplot(3, 1, 1)
+ table = get_lc_bw(bw_list, numa_th)
+
+ for k, v in table.items():
+ ax1.plot(x_arr, v, label=k)
+ ax1.plot(x_arr, ref, label='Reference')
+
+ ax1.set_ylabel(f"LC Mem bandwidth (MB)")
+ ax1.set_xlabel(f"Time (s)")
+ ax1.legend()
+
+ ax2 = fig.add_subplot(3, 1, 2)
+ table = get_be_bw(bw_list, numa_th)
+
+ for k, v in table.items():
+ ax2.plot(x_arr, v, label=k)
+ ax2.plot(x_arr, ref, label='Reference')
+
+ ax2.set_ylabel(f"BE Mem bandwidth (MB)")
+ ax2.set_xlabel(f"Time (s)")
+ ax2.legend()
+
+ ax3 = fig.add_subplot(3, 1, 3)
+ setting = get_all_set(set_list, numa_th)
+ ax3.plot(x_arr, setting, label='MBMAX')
+ ax3.plot(x_arr, cpu_list, label='CPU Load')
+
+ ax3.set_ylabel(f"Percent(%)")
+ ax3.set_xlabel(f"Time (s)")
+ ax3.legend()
+
+ plt.tight_layout()
+ plt.show()
+
+ return
+
+if __name__ == '__main__':
+ start, percent = parse_args()
+ if not start:
+ start = 0
+ if not percent:
+ percent = 0
+
+ filename = 'ctrlgrp_bw.data'
+ bw_list = get_data(filename)
+ filename = 'schemata_set.data'
+ set_list = get_data(filename)
+ filename = 'cpu_usage.data'
+ cpu_list = get_data(filename)
+
+ if not bw_list or not set_list:
+ print('FileNotFound')
+
+ if len(bw_list) != len(cpu_list):
+ # length sync
+ bw_list.pop()
+ set_list.pop()
+
+ draw_data(bw_list, set_list, cpu_list, start, percent)
diff --git a/tools/mpam/dynamic_adjust/draw_cpu.py b/tools/mpam/dynamic_adjust/draw_cpu.py
new file mode 100644
index 000000000000..5e9d8a738545
--- /dev/null
+++ b/tools/mpam/dynamic_adjust/draw_cpu.py
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# CPU Load Analysis for Dynamic Bandwidth Adjustment
+#
+# Copyright (C) 2025, Technologies Co., Ltd.
+# Author: Zeng Heng <zengheng4(a)huawei.com>
+
+import json
+import matplotlib.pyplot as plt
+
+def draw_data(cpu_list):
+ fig = plt.figure()
+ x_arr = list(range(len(cpu_list)))
+
+ ax1 = fig.add_subplot(1, 1, 1)
+
+ ax1.plot(x_arr, cpu_list, label='CPU usage')
+ ax1.legend()
+
+ plt.tight_layout()
+ plt.show()
+
+ return
+
+def get_data(file):
+ try:
+ with open(file, 'r') as f:
+ cpu_list = json.load(f)
+ except FileNotFoundError:
+ return None
+
+ return cpu_list
+
+if __name__ == '__main__':
+ filename = 'cpu_usage.data'
+ cpu_list = get_data(filename)
+
+ if cpu_list:
+ draw_data(cpu_list)
+ else:
+ print('FileNotFound')
diff --git a/tools/mpam/dynamic_adjust/draw_lib.py b/tools/mpam/dynamic_adjust/draw_lib.py
new file mode 100644
index 000000000000..8a11c13f8ec9
--- /dev/null
+++ b/tools/mpam/dynamic_adjust/draw_lib.py
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Analysis Lib for Dynamic Bandwidth Adjustment
+#
+# Copyright (C) 2025, Technologies Co., Ltd.
+# Author: Zeng Heng <zengheng4(a)huawei.com>
+
+import sys, json, argparse
+
+__version__ = "1.0.0"
+
+def get_data(file):
+ try:
+ with open(file, 'r') as f:
+ data_list = json.load(f)
+ except FileNotFoundError:
+ return None
+
+ return data_list
+
+def parse_args():
+ parser = argparse.ArgumentParser(description="Display selected NUMA's Analysis")
+ parser.add_argument("-s", "--start", type=int, required=False,
+ help="Starting NUMA index (0-based)")
+ parser.add_argument("-i", "--isolation", required=False, type=int,
+ help="Isolation target percentage, integer between 1 and 100")
+ parser.add_argument("-v", "--version", action="version",
+ version=f"%(prog)s {__version__}")
+
+ args = parser.parse_args()
+
+ if args.start and args.start < 0:
+ sys.exit("ERROR: --index must be non-negative")
+
+ if args.isolation and not 1 <= args.isolation <= 100:
+ sys.exit("ERROR: isolation percentage must be between 0 and 100")
+
+ return args.start, args.isolation
diff --git a/tools/mpam/dynamic_adjust/draw_llc.py b/tools/mpam/dynamic_adjust/draw_llc.py
new file mode 100644
index 000000000000..9a6f112fcc2f
--- /dev/null
+++ b/tools/mpam/dynamic_adjust/draw_llc.py
@@ -0,0 +1,126 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Cache Storage Analysis for Dynamic Bandwidth Adjustment
+#
+# Copyright (C) 2025, Technologies Co., Ltd.
+# Author: Zeng Heng <zengheng4(a)huawei.com>
+
+import matplotlib.pyplot as plt
+from draw_lib import parse_args, get_data
+
+def get_lc_llc(data_list, idx):
+ table = {}
+
+ table['lc_llc'] = []
+
+ for k, v in data_list[0]['lc_llc'].items():
+ if k != "__grp_total__":
+ table[k] = []
+
+ for data in data_list:
+ table['lc_llc'].append(data['lc_llc']["__grp_total__"][idx])
+ for k, v in data['lc_llc'].items():
+ if k != "__grp_total__":
+ table[k].append(v[idx])
+
+ return table
+
+def get_be_llc(data_list, idx):
+ table = {}
+
+ table['be_llc'] = []
+
+ for k, v in data_list[0]['be_llc'].items():
+ if k != "__grp_total__":
+ table[k] = []
+
+ for data in data_list:
+ table['be_llc'].append(data['be_llc']["__grp_total__"][idx])
+ for k, v in data['be_llc'].items():
+ if k != "__grp_total__":
+ table[k].append(v[idx])
+
+ return table
+
+def get_all_llc(data_list, idx):
+ table = {}
+
+ table['lc_llc'] = []
+ table['be_llc'] = []
+
+ for k, v in data_list[0]['lc_llc'].items():
+ if k != "__grp_total__":
+ table[k] = []
+ for k, v in data_list[0]['be_llc'].items():
+ if k != "__grp_total__":
+ table[k] = []
+
+ for data in data_list:
+ table['lc_llc'].append(data['lc_llc']["__grp_total__"][idx])
+ table['be_llc'].append(data['be_llc']["__grp_total__"][idx])
+
+ for k, v in data['lc_llc'].items():
+ if k != "__grp_total__":
+ table[k].append(v[idx])
+
+ for k, v in data['be_llc'].items():
+ if k != "__grp_total__":
+ table[k].append(v[idx])
+
+ return table
+
+def draw_data(llc_list, cpu_list, numa_th):
+ fig = plt.figure()
+ x_arr = list(range(len(llc_list)))
+
+ ax1 = fig.add_subplot(3, 1, 1)
+ table = get_lc_llc(llc_list, numa_th)
+
+ for k, v in table.items():
+ ax1.plot(x_arr, v, label=k)
+
+ ax1.set_ylabel(f"LC L3 Cache (KB)")
+ ax1.set_xlabel(f"Time (s)")
+ ax1.legend()
+
+ ax2 = fig.add_subplot(3, 1, 2)
+ table = get_be_llc(llc_list, numa_th)
+
+ for k, v in table.items():
+ ax2.plot(x_arr, v, label=k)
+
+ ax2.set_ylabel(f"BE L3 Cache (KB)")
+ ax2.set_xlabel(f"Time (s)")
+ ax2.legend()
+
+ ax3 = fig.add_subplot(3, 1, 3)
+ ax3.plot(x_arr, cpu_list, label='CPU usage')
+
+ ax3.set_ylabel(f"CPU Load (%)")
+ ax3.set_xlabel(f"Time (s)")
+
+ ax3.legend()
+
+ plt.tight_layout()
+ plt.show()
+
+ return
+
+if __name__ == '__main__':
+ start, p = parse_args()
+ if not start:
+ start = 0
+
+ filename = 'ctrlgrp_llc.data'
+ llc_list = get_data(filename)
+ filename = 'cpu_usage.data'
+ cpu_list = get_data(filename)
+
+ if not llc_list:
+ print('FileNotFound')
+
+ if len(llc_list) != len(cpu_list):
+ # length sync
+ llc_list.pop()
+
+ draw_data(llc_list, cpu_list, start)
diff --git a/tools/mpam/dynamic_adjust/pid_controller.py b/tools/mpam/dynamic_adjust/pid_controller.py
new file mode 100644
index 000000000000..db0533273b8f
--- /dev/null
+++ b/tools/mpam/dynamic_adjust/pid_controller.py
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# PID Algorithm Controller for Dynamic Bandwidth Adjustment
+#
+# Copyright (C) 2025, Technologies Co., Ltd.
+# Author: Zeng Heng <zengheng4(a)huawei.com>
+
+class PID_Controller:
+ def __init__(self, kp, ki, kd, set_point):
+ self.kp = kp # Proportional Gain
+ self.ki = ki # Integral Gain
+ self.kd = kd # Derivative Gain
+ self.set_point = set_point
+ self.last_error = 0
+ self.integral = 0 # Integral Term
+
+ self.max_output = 5 # rise slowly
+ self.min_output = -100 # fall quickly
+
+ def update(self, current_value, dt):
+ """
+ Update the PID controller's output
+ :param current_value: Current system output value
+ :param dt: Time interval
+ :return: Controller output
+ """
+ error = self.set_point - current_value # Calculate current error
+ self.integral += error * dt # Update Integral Term
+ if self.integral < -100:
+ self.integral = -100
+ elif self.integral > 100:
+ self.integral = 100
+ derivative = (error - self.last_error) / dt # Calculate Derivative Term
+
+ output = (self.kp * error) + (self.ki * self.integral) + (self.kd * derivative)
+
+ self.last_error = error
+
+ # Limit the output range
+ if output > self.max_output:
+ output = self.max_output
+ elif output < self.min_output:
+ output = self.min_output
+
+ return output
--
2.25.1
2
1

[PATCH OLK-6.6] media: vidtv: Terminating the subsequent process of initialization failure
by Cui GaoSheng 06 Sep '25
by Cui GaoSheng 06 Sep '25
06 Sep '25
From: Edward Adam Davis <eadavis(a)qq.com>
stable inclusion
from stable-v6.6.95
commit 9824e1732a163e005aa84e12ec439493ebd4f097
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICK4NL
CVE: CVE-2025-38227
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 1d5f88f053480326873115092bc116b7d14916ba upstream.
syzbot reported a slab-use-after-free Read in vidtv_mux_init. [1]
After PSI initialization fails, the si member is accessed again, resulting
in this uaf.
After si initialization fails, the subsequent process needs to be exited.
[1]
BUG: KASAN: slab-use-after-free in vidtv_mux_pid_ctx_init drivers/media/test-drivers/vidtv/vidtv_mux.c:78 [inline]
BUG: KASAN: slab-use-after-free in vidtv_mux_init+0xac2/0xbe0 drivers/media/test-drivers/vidtv/vidtv_mux.c:524
Read of size 8 at addr ffff88802fa42acc by task syz.2.37/6059
CPU: 0 UID: 0 PID: 6059 Comm: syz.2.37 Not tainted 6.14.0-rc5-syzkaller #0
Hardware name: Google Compute Engine, BIOS Google 02/12/2025
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120
print_address_description mm/kasan/report.c:408 [inline]
print_report+0xc3/0x670 mm/kasan/report.c:521
kasan_report+0xd9/0x110 mm/kasan/report.c:634
vidtv_mux_pid_ctx_init drivers/media/test-drivers/vidtv/vidtv_mux.c:78
vidtv_mux_init+0xac2/0xbe0 drivers/media/test-drivers/vidtv/vidtv_mux.c:524
vidtv_start_streaming drivers/media/test-drivers/vidtv/vidtv_bridge.c:194
vidtv_start_feed drivers/media/test-drivers/vidtv/vidtv_bridge.c:239
dmx_section_feed_start_filtering drivers/media/dvb-core/dvb_demux.c:973
dvb_dmxdev_feed_start drivers/media/dvb-core/dmxdev.c:508 [inline]
dvb_dmxdev_feed_restart.isra.0 drivers/media/dvb-core/dmxdev.c:537
dvb_dmxdev_filter_stop+0x2b4/0x3a0 drivers/media/dvb-core/dmxdev.c:564
dvb_dmxdev_filter_free drivers/media/dvb-core/dmxdev.c:840 [inline]
dvb_demux_release+0x92/0x550 drivers/media/dvb-core/dmxdev.c:1246
__fput+0x3ff/0xb70 fs/file_table.c:464
task_work_run+0x14e/0x250 kernel/task_work.c:227
exit_task_work include/linux/task_work.h:40 [inline]
do_exit+0xad8/0x2d70 kernel/exit.c:938
do_group_exit+0xd3/0x2a0 kernel/exit.c:1087
__do_sys_exit_group kernel/exit.c:1098 [inline]
__se_sys_exit_group kernel/exit.c:1096 [inline]
__x64_sys_exit_group+0x3e/0x50 kernel/exit.c:1096
x64_sys_call+0x151f/0x1720 arch/x86/include/generated/asm/syscalls_64.h:232
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f871d58d169
Code: Unable to access opcode bytes at 0x7f871d58d13f.
RSP: 002b:00007fff4b19a788 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f871d58d169
RDX: 0000000000000064 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 00007fff4b19a7ec R08: 0000000b4b19a87f R09: 00000000000927c0
R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000003
R13: 00000000000927c0 R14: 000000000001d553 R15: 00007fff4b19a840
</TASK>
Allocated by task 6059:
kasan_save_stack+0x33/0x60 mm/kasan/common.c:47
kasan_save_track+0x14/0x30 mm/kasan/common.c:68
poison_kmalloc_redzone mm/kasan/common.c:377 [inline]
__kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:394
kmalloc_noprof include/linux/slab.h:901 [inline]
kzalloc_noprof include/linux/slab.h:1037 [inline]
vidtv_psi_pat_table_init drivers/media/test-drivers/vidtv/vidtv_psi.c:970
vidtv_channel_si_init drivers/media/test-drivers/vidtv/vidtv_channel.c:423
vidtv_mux_init drivers/media/test-drivers/vidtv/vidtv_mux.c:519
vidtv_start_streaming drivers/media/test-drivers/vidtv/vidtv_bridge.c:194
vidtv_start_feed drivers/media/test-drivers/vidtv/vidtv_bridge.c:239
dmx_section_feed_start_filtering drivers/media/dvb-core/dvb_demux.c:973
dvb_dmxdev_feed_start drivers/media/dvb-core/dmxdev.c:508 [inline]
dvb_dmxdev_feed_restart.isra.0 drivers/media/dvb-core/dmxdev.c:537
dvb_dmxdev_filter_stop+0x2b4/0x3a0 drivers/media/dvb-core/dmxdev.c:564
dvb_dmxdev_filter_free drivers/media/dvb-core/dmxdev.c:840 [inline]
dvb_demux_release+0x92/0x550 drivers/media/dvb-core/dmxdev.c:1246
__fput+0x3ff/0xb70 fs/file_table.c:464
task_work_run+0x14e/0x250 kernel/task_work.c:227
exit_task_work include/linux/task_work.h:40 [inline]
do_exit+0xad8/0x2d70 kernel/exit.c:938
do_group_exit+0xd3/0x2a0 kernel/exit.c:1087
__do_sys_exit_group kernel/exit.c:1098 [inline]
__se_sys_exit_group kernel/exit.c:1096 [inline]
__x64_sys_exit_group+0x3e/0x50 kernel/exit.c:1096
x64_sys_call arch/x86/include/generated/asm/syscalls_64.h:232
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Freed by task 6059:
kasan_save_stack+0x33/0x60 mm/kasan/common.c:47
kasan_save_track+0x14/0x30 mm/kasan/common.c:68
kasan_save_free_info+0x3b/0x60 mm/kasan/generic.c:576
poison_slab_object mm/kasan/common.c:247 [inline]
__kasan_slab_free+0x51/0x70 mm/kasan/common.c:264
kasan_slab_free include/linux/kasan.h:233 [inline]
slab_free_hook mm/slub.c:2353 [inline]
slab_free mm/slub.c:4609 [inline]
kfree+0x2c4/0x4d0 mm/slub.c:4757
vidtv_channel_si_init drivers/media/test-drivers/vidtv/vidtv_channel.c:499
vidtv_mux_init drivers/media/test-drivers/vidtv/vidtv_mux.c:519
vidtv_start_streaming drivers/media/test-drivers/vidtv/vidtv_bridge.c:194
vidtv_start_feed drivers/media/test-drivers/vidtv/vidtv_bridge.c:239
dmx_section_feed_start_filtering drivers/media/dvb-core/dvb_demux.c:973
dvb_dmxdev_feed_start drivers/media/dvb-core/dmxdev.c:508 [inline]
dvb_dmxdev_feed_restart.isra.0 drivers/media/dvb-core/dmxdev.c:537
dvb_dmxdev_filter_stop+0x2b4/0x3a0 drivers/media/dvb-core/dmxdev.c:564
dvb_dmxdev_filter_free drivers/media/dvb-core/dmxdev.c:840 [inline]
dvb_demux_release+0x92/0x550 drivers/media/dvb-core/dmxdev.c:1246
__fput+0x3ff/0xb70 fs/file_table.c:464
task_work_run+0x14e/0x250 kernel/task_work.c:227
exit_task_work include/linux/task_work.h:40 [inline]
do_exit+0xad8/0x2d70 kernel/exit.c:938
do_group_exit+0xd3/0x2a0 kernel/exit.c:1087
__do_sys_exit_group kernel/exit.c:1098 [inline]
__se_sys_exit_group kernel/exit.c:1096 [inline]
__x64_sys_exit_group+0x3e/0x50 kernel/exit.c:1096
x64_sys_call arch/x86/include/generated/asm/syscalls_64.h:232
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Fixes: 3be8037960bc ("media: vidtv: add error checks")
Cc: stable(a)vger.kernel.org
Reported-by: syzbot+0d33ab192bd50b6c91e6(a)syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=0d33ab192bd50b6c91e6
Signed-off-by: Edward Adam Davis <eadavis(a)qq.com>
Signed-off-by: Hans Verkuil <hverkuil(a)xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Cui GaoSheng <cuigaosheng1(a)huawei.com>
---
drivers/media/test-drivers/vidtv/vidtv_channel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/test-drivers/vidtv/vidtv_channel.c b/drivers/media/test-drivers/vidtv/vidtv_channel.c
index 7838e6272712..f3023e91b3eb 100644
--- a/drivers/media/test-drivers/vidtv/vidtv_channel.c
+++ b/drivers/media/test-drivers/vidtv/vidtv_channel.c
@@ -497,7 +497,7 @@ int vidtv_channel_si_init(struct vidtv_mux *m)
vidtv_psi_sdt_table_destroy(m->si.sdt);
free_pat:
vidtv_psi_pat_table_destroy(m->si.pat);
- return 0;
+ return -EINVAL;
}
void vidtv_channel_si_destroy(struct vidtv_mux *m)
--
2.34.1
2
1

06 Sep '25
From: Andrew Zaborowski <andrew.zaborowski(a)intel.com>
stable inclusion
from stable-v6.6.95
commit 62b62a2a6dc51ed6e8e334861f04220c9cf8106a
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICLHXR
CVE: CVE-2025-38334
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit ed16618c380c32c68c06186d0ccbb0d5e0586e59 ]
TL;DR: SGX page reclaim touches the page to copy its contents to
secondary storage. SGX instructions do not gracefully handle machine
checks. Despite this, the existing SGX code will try to reclaim pages
that it _knows_ are poisoned. Avoid even trying to reclaim poisoned pages.
The longer story:
Pages used by an enclave only get epc_page->poison set in
arch_memory_failure() but they currently stay on sgx_active_page_list until
sgx_encl_release(), with the SGX_EPC_PAGE_RECLAIMER_TRACKED flag untouched.
epc_page->poison is not checked in the reclaimer logic meaning that, if other
conditions are met, an attempt will be made to reclaim an EPC page that was
poisoned. This is bad because 1. we don't want that page to end up added
to another enclave and 2. it is likely to cause one core to shut down
and the kernel to panic.
Specifically, reclaiming uses microcode operations including "EWB" which
accesses the EPC page contents to encrypt and write them out to non-SGX
memory. Those operations cannot handle MCEs in their accesses other than
by putting the executing core into a special shutdown state (affecting
both threads with HT.) The kernel will subsequently panic on the
remaining cores seeing the core didn't enter MCE handler(s) in time.
Call sgx_unmark_page_reclaimable() to remove the affected EPC page from
sgx_active_page_list on memory error to stop it being considered for
reclaiming.
Testing epc_page->poison in sgx_reclaim_pages() would also work but I assume
it's better to add code in the less likely paths.
The affected EPC page is not added to &node->sgx_poison_page_list until
later in sgx_encl_release()->sgx_free_epc_page() when it is EREMOVEd.
Membership on other lists doesn't change to avoid changing any of the
lists' semantics except for sgx_active_page_list. There's a "TBD" comment
in arch_memory_failure() about pre-emptive actions, the goal here is not
to address everything that it may imply.
This also doesn't completely close the time window when a memory error
notification will be fatal (for a not previously poisoned EPC page) --
the MCE can happen after sgx_reclaim_pages() has selected its candidates
or even *inside* a microcode operation (actually easy to trigger due to
the amount of time spent in them.)
The spinlock in sgx_unmark_page_reclaimable() is safe because
memory_failure() runs in process context and no spinlocks are held,
explicitly noted in a mm/memory-failure.c comment.
Signed-off-by: Andrew Zaborowski <andrew.zaborowski(a)intel.com>
Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
Acked-by: Dave Hansen <dave.hansen(a)linux.intel.com>
Cc: H. Peter Anvin <hpa(a)zytor.com>
Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
Cc: Tony Luck <tony.luck(a)intel.com>
Cc: balrogg(a)gmail.com
Cc: linux-sgx(a)vger.kernel.org
Link: https://lore.kernel.org/r/20250508230429.456271-1-andrew.zaborowski@intel.c…
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Cui GaoSheng <cuigaosheng1(a)huawei.com>
---
arch/x86/kernel/cpu/sgx/main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c
index c7f8c3200e8d..0db6eeeeb672 100644
--- a/arch/x86/kernel/cpu/sgx/main.c
+++ b/arch/x86/kernel/cpu/sgx/main.c
@@ -718,6 +718,8 @@ int arch_memory_failure(unsigned long pfn, int flags)
goto out;
}
+ sgx_unmark_page_reclaimable(page);
+
/*
* TBD: Add additional plumbing to enable pre-emptive
* action for asynchronous poison notification. Until
--
2.34.1
2
1

[PATCH openEuler-1.0-LTS] nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm()
by Li Lingfeng 06 Sep '25
by Li Lingfeng 06 Sep '25
06 Sep '25
From: Jeff Layton <jlayton(a)kernel.org>
mainline inclusion
from mainline-v6.17-rc1
commit 908e4ead7f757504d8b345452730636e298cbf68
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWGI5
CVE: CVE-2025-38724
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Lei Lu recently reported that nfsd4_setclientid_confirm() did not check
the return value from get_client_locked(). a SETCLIENTID_CONFIRM could
race with a confirmed client expiring and fail to get a reference. That
could later lead to a UAF.
Fix this by getting a reference early in the case where there is an
extant confirmed client. If that fails then treat it as if there were no
confirmed client found at all.
In the case where the unconfirmed client is expiring, just fail and
return the result from get_client_locked().
Reported-by: lei lu <llfamsec(a)gmail.com>
Closes: https://lore.kernel.org/linux-nfs/CAEBF3_b=UvqzNKdnfD_52L05Mqrqui9vZ2eFamgA…
Fixes: d20c11d86d8f ("nfsd: Protect session creation and client confirm using client_lock")
Cc: stable(a)vger.kernel.org
Signed-off-by: Jeff Layton <jlayton(a)kernel.org>
Signed-off-by: Chuck Lever <chuck.lever(a)oracle.com>
Conflicts:
fs/nfsd/nfs4state.c
[Commit 237f91c85ace ("NFSD: Add tracepoints for SETCLIENTID edge cases")
removed comments in nfsd4_setclientid_confirm().]
Signed-off-by: Li Lingfeng <lilingfeng3(a)huawei.com>
---
fs/nfsd/nfs4state.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index d5d40aefd0a6..3ff2c23043b6 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -3426,10 +3426,16 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
}
status = nfs_ok;
if (conf) { /* case 1: callback update */
- old = unconf;
- unhash_client_locked(old);
- nfsd4_change_callback(conf, &unconf->cl_cb_conn);
- } else { /* case 3: normal case; new or rebooted client */
+ if (get_client_locked(conf) == nfs_ok) {
+ old = unconf;
+ unhash_client_locked(old);
+ nfsd4_change_callback(conf, &unconf->cl_cb_conn);
+ } else {
+ conf = NULL;
+ }
+ }
+
+ if (!conf) {
old = find_confirmed_client_by_name(&unconf->cl_name, nn);
if (old) {
status = nfserr_clid_inuse;
@@ -3443,10 +3449,14 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
goto out;
}
}
+ status = get_client_locked(unconf);
+ if (status != nfs_ok) {
+ old = NULL;
+ goto out;
+ }
move_to_confirmed(unconf);
conf = unconf;
}
- get_client_locked(conf);
spin_unlock(&nn->client_lock);
nfsd4_probe_callback(conf);
spin_lock(&nn->client_lock);
--
2.31.1
2
1

[PATCH openEuler-1.0-LTS] x86/smp: ignore reboot IPI when stopping_cpu contains value
by Lin Yujun 06 Sep '25
by Lin Yujun 06 Sep '25
06 Sep '25
From: Yipeng Zou <zouyipeng(a)huawei.com>
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/ICWP3B
CVE: NA
------------------------
Recently, A issue has been reported that CPU hang in x86 VM.
The CPU halted during Kdump likely due to IPI issues when one CPU was
rebooting and another was in Kdump:
CPU0 CPU2
======================== ======================
reboot Panic
machine shutdown Kdump
machine shutdown
stop other cpus
kdump_nmi_shootdown_cpus
... ...
local_irq_disable local_irq_disable
send_IPIs(REBOOT) [critical regions]
[critical regions] 1) send_IPIs(REBOOT)
wait timeout
2) send_IPIs(NMI);
Halt,NMI context
3) lapic_shutdown [IPI is pending]
...
second kernel start
4) init_bsp_APIC [IPI is pending]
...
local irq enable
Halt, IPI context
In simple terms, when the Kdump jump to the second kernel, the IPI that
was pending in the first kernel remains and is responded to by the
second kernel.
As the reboot IPI can only be sent after acquiring @stopping_cpu
by storing the CPU number, this case can be detected when
@stopping_cpu contains the bootup value -1. Just return and
ignore it.
Fixes: 7d007d21e539 ("x86/reboot: Use NMI to assist in shutting down if IRQ fails")
Signed-off-by: Yipeng Zou <zouyipeng(a)huawei.com>
Signed-off-by: Lin Yujun <linyujun809(a)h-partners.com>
---
arch/x86/kernel/smp.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
index b2b87b91f336..07ccda0ad531 100644
--- a/arch/x86/kernel/smp.c
+++ b/arch/x86/kernel/smp.c
@@ -176,6 +176,29 @@ static int smp_stop_nmi_callback(unsigned int val, struct pt_regs *regs)
asmlinkage __visible void smp_reboot_interrupt(void)
{
ipi_entering_ack_irq();
+
+ /*
+ * Handle the case where a reboot IPI is stale in the IRR. This
+ * happens when:
+ *
+ * a CPU crashes with interrupts disabled before handling the
+ * reboot IPI and jumps into a crash kernel. The reboot IPI
+ * vector is kept set in the APIC IRR across the APIC soft
+ * disabled phase and as there is no way to clear a pending IRR
+ * bit, it is delivered to the crash kernel immediately when
+ * interrupts are enabled.
+ *
+ * As the reboot IPI can only be sent after acquiring @stopping_cpu
+ * by storing the CPU number, this case can be detected when
+ * @stopping_cpu contains the bootup value -1. Just return and
+ * ignore it.
+ */
+ if (atomic_read(&stopping_cpu) == -1) {
+ pr_info("Ignoring stale reboot IPI\n");
+ irq_exit();
+ return;
+ }
+
cpu_emergency_vmxoff();
stop_this_cpu(NULL);
irq_exit();
--
2.34.1
2
1

[openeuler:openEuler-1.0-LTS] BUILD REGRESSION e0480ba0432569e9691f36270fde74a39a59fb0c
by kernel test robot 06 Sep '25
by kernel test robot 06 Sep '25
06 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: e0480ba0432569e9691f36270fde74a39a59fb0c !17905 [openEuler-1.0-LTS] perf/zhaoxin/uncore: Enhance uncore support and fix related
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202508070154.VYnxHXi4-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508070349.2ODYAkPf-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508070424.1zkCZb3G-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202508301637.4sfu6N2M-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020546.DO94LENh-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509020919.PwhZw5yj-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202509052100.LAoxUFGM-lkp@intel.com
block/bio-integrity.c:41:6: warning: no previous prototype for function '__bio_integrity_free' [-Wmissing-prototypes]
block/blk-cgroup.c:1851: warning: Function parameter or member 'q' not described in 'blkcg_schedule_throttle'
block/blk-cgroup.c:1851: warning: Function parameter or member 'use_memdelay' not described in 'blkcg_schedule_throttle'
block/blk-cgroup.c:1876: warning: Function parameter or member 'blkg' not described in 'blkcg_add_delay'
block/blk-cgroup.c:1876: warning: Function parameter or member 'delta' not described in 'blkcg_add_delay'
block/blk-cgroup.c:1876: warning: Function parameter or member 'now' not described in 'blkcg_add_delay'
block/blk-mq-sched.c:220:5: warning: no previous prototype for function '__blk_mq_sched_dispatch_requests' [-Wmissing-prototypes]
block/blk-wbt.c:589:6: warning: no previous prototype for function 'wbt_issue' [-Wmissing-prototypes]
block/blk-wbt.c:609:6: warning: no previous prototype for function 'wbt_requeue' [-Wmissing-prototypes]
block/genhd.c:642:5: warning: no previous prototype for function 'disk_scan_partitions' [-Wmissing-prototypes]
crypto/sm4_generic.o: warning: objtool: missing symbol for section .text
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.o: warning: objtool: amdgpu_vmid_grab()+0xd3e: unreachable instruction
fs/debugfs/file.o: warning: objtool: full_proxy_open()+0x55a: unreachable instruction
fs/ext4/mballoc.o: warning: objtool: ext4_mb_complex_scan_group()+0x11a4: unreachable instruction
include/linux/mempolicy.h:329:13: warning: '__do_mbind' defined but not used [-Wunused-function]
kernel/sched/core.c:5976:22: error: use of undeclared identifier 'root_task_group'; did you mean 'task_group'?
kernel/sched/debug.c:990:17: error: no member named 'nr_wakeups_preferred_cpus' in 'struct dyn_affinity_stats'
kernel/sched/debug.c:991:17: error: no member named 'nr_wakeups_force_preferred_cpus' in 'struct dyn_affinity_stats'
mm/.tmp_ioremap.o: warning: objtool: missing symbol for section .text
mm/debug.c:143:21: warning: more '%' conversions than data arguments [-Wformat-insufficient-args]
mm/debug.c:174:3: warning: format specifies type 'void *' but the argument has type 'int' [-Wformat]
mm/debug.c:175:18: warning: format specifies type 'unsigned long' but the argument has type 'const unsigned long *' [-Wformat]
mm/debug.c:175:3: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
mm/early_ioremap.o: warning: objtool: missing symbol for section .text
mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes]
mm/ioremap.o: warning: objtool: missing symbol for section .text
mm/khugepaged.c:1387: warning: Function parameter or member 'reliable' not described in 'collapse_shmem'
mm/maccess.c:85:6: warning: no previous prototype for function '__probe_user_read' [-Wmissing-prototypes]
mm/memory.c:1546:10: error: implicit declaration of function 'hugetlb_insert_hugepage_pte_by_pa'; did you mean 'hugetlb_insert__hugepage_pte_by_pa'? [-Werror=implicit-function-declaration]
mm/vmscan.c:3257:21: error: implicit declaration of function 'kernel_swap_enabled' [-Werror,-Wimplicit-function-declaration]
mm/vmscan.c:3257:21: error: implicit declaration of function 'kernel_swap_enabled'; did you mean 'kernfs_ns_enabled'? [-Werror=implicit-function-declaration]
Unverified Error/Warning (likely false positive, kindly check if interested):
arch/x86/platform/uv/tlb_uv.c:1674:37: warning: unused variable 'proc_uv_ptc_operations' [-Wunused-const-variable]
block/bfq-cgroup.o: warning: objtool: missing symbol for section .text
block/blk-mq-rdma.o: warning: objtool: missing symbol for section .text
block/cmdline-parser.o: warning: objtool: missing symbol for section .text
block/ioctl.o: warning: objtool: missing symbol for section .text
block/partitions/check.o: warning: objtool: missing symbol for section .text
block/scsi_ioctl.o: warning: objtool: missing symbol for section .text
crypto/asymmetric_keys/mscode_parser.o: warning: objtool: missing symbol for section .text
drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.o: warning: objtool: missing symbol for section .text
drivers/infiniband/sw/rxe/rxe_mr.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/isdn/mISDN/dsp_cmx.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/isdn/mISDN/dsp_hwec.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/media/pci/cx25821/cx25821-core.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/media/platform/xilinx/xilinx-vip.o: warning: objtool: missing symbol for section .text
drivers/misc/sgi-gru/gruprocfs.c:274:37: warning: unused variable 'statistics_fops' [-Wunused-const-variable]
drivers/misc/sgi-gru/gruprocfs.c:282:37: warning: unused variable 'mcs_statistics_fops' [-Wunused-const-variable]
drivers/misc/sgi-gru/gruprocfs.c:290:37: warning: unused variable 'options_fops' [-Wunused-const-variable]
drivers/misc/sgi-gru/gruprocfs.o: warning: objtool: missing symbol for section .text
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c:854:5: warning: 'new_state' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/net/can/usb/peak_usb/pcan_usb_core.o: warning: objtool: missing symbol for section .text.unlikely.
drivers/net/ethernet/agere/et131x.c:1310:16: warning: 'reg' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/net/ethernet/mellanox/mlx5/core/en_dim.o: warning: objtool: missing symbol for section .text
drivers/net/ethernet/netronome/nfp/abm/ctrl.o: warning: objtool: missing symbol for section .text
drivers/net/ethernet/netronome/nfp/nfp_app.o: warning: objtool: missing symbol for section .text
drivers/net/wireless/ath/ath6kl/hif.o: warning: objtool: missing symbol for section .text
drivers/net/wireless/ath/ath6kl/init.o: warning: objtool: missing symbol for section .text
drivers/net/wireless/mediatek/mt76/mt76x2_eeprom.c:569:37: warning: 'data[2]' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/net/wireless/rsi/rsi_91x_sdio.c:1223:7: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/net/wireless/rsi/rsi_91x_sdio.c:237:12: warning: 'resp' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/nvdimm/label.o: warning: objtool: nd_blk_namespace_label_update()+0x1326: unreachable instruction
drivers/pinctrl/core.c:1338: error: Cannot parse struct or union!
drivers/scsi/qla2xxx/qla_nx2.c:1193:39: warning: 'agt_ctrl' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:2235:25: warning: 'read_value' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:2413:37: warning: 'r_data' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:2507:48: warning: 'c_value_r' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:3034:35: warning: 'temp' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:3084:37: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:3193:30: warning: 'r_value' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:3712:9: warning: 'spi_val' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/scsi/qla2xxx/qla_nx2.c:695:17: warning: 'value' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/tty/tty_buffer.c:170:2: error: implicit declaration of function 'printk_safe_enter'; did you mean 'printk_nmi_enter'? [-Werror=implicit-function-declaration]
drivers/tty/tty_buffer.c:172:2: error: implicit declaration of function 'printk_safe_exit'; did you mean 'printk_nmi_exit'? [-Werror=implicit-function-declaration]
drivers/xen/xen-pciback/conf_space_quirks.o: warning: objtool: missing symbol for section .text
include/linux/list.h:63:20: warning: storing the address of local variable 'wait' in '((struct list_head *)x)[1].prev' [-Wdangling-pointer=]
include/linux/list.h:63:20: warning: storing the address of local variable 'waiter' in '*(struct list_head *)((char *)sem + 8).prev' [-Wdangling-pointer=]
include/linux/printk.h:346:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
include/linux/signal.h:180:29: warning: this statement may fall through [-Wimplicit-fallthrough=]
include/linux/spinlock.h:279:3: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
include/linux/string.h:430:24: warning: '__builtin_strcpy' source argument is the same as destination [-Wrestrict]
include/scsi/scsi_cmnd.h:333:12: warning: 'scsi_cmnd' may be used uninitialized in this function [-Wmaybe-uninitialized]
init/calibrate.c:271:28: warning: no previous prototype for 'calibration_delay_done' [-Wmissing-prototypes]
kernel/time/posix-cpu-timers.c:1023:3: warning: 'now' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/debug.o: warning: objtool: missing symbol for section .text.unlikely.
mm/hugetlb_cgroup.o: warning: objtool: missing symbol for section .init.text
mm/memcontrol.c:6287: warning: bad line: | 0, otherwise.
mm/memcontrol.o: warning: objtool: missing symbol for section .text.unlikely.
mm/page_ext.o: warning: objtool: missing symbol for section .init.text
mm/page_owner.o: warning: objtool: missing symbol for section .text.unlikely.
mm/rmap.c:906:17: warning: variable 'cstart' set but not used [-Wunused-but-set-variable]
mm/rodata_test.o: warning: objtool: missing symbol for section .text
mm/swap_state.o: warning: objtool: missing symbol for section .text.unlikely.
net/9p/client.c:534:24: warning: 'type' may be used uninitialized in this function [-Wmaybe-uninitialized]
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allmodconfig
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_deinit_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_detach
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_hwdev_stop
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:no-previous-prototype-for-sss_init_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:variable-fault_level-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_init.c:error:variable-pcie_src-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_io_flush.c:error:no-previous-prototype-for-sss_hwdev_flush_io
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_mgmt_info.c:error:no-previous-prototype-for-sss_deinit_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_mgmt_info.c:error:no-previous-prototype-for-sss_init_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:error:no-previous-prototype-for-sss_sync_send_adm_msg
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_complete_adm_event
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_hwif_deinit_adm
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:error:no-previous-prototype-for-sss_hwif_init_adm
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:error:no-previous-prototype-for-sss_ceq_intr_handle
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:error:no-previous-prototype-for-sss_init_ceqe_desc
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_ctrlq_flush_sync_cmd
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_deinit_ctrlq
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_deinit_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_init_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_reinit_ctrlq_ctx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:error:no-previous-prototype-for-sss_wait_ctrlq_stop
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_alloc_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_chip_set_msix_auto_mask
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_chip_set_msix_state
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_free_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_func_type
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_glb_pf_vf_offset
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_global_func_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_pcie_itf_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_pf_id_of_vf
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_export.c:error:no-previous-prototype-for-sss_get_ppf_id
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_irq.c:error:no-previous-prototype-for-sss_deinit_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_irq.c:error:no-previous-prototype-for-sss_init_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_hwif_deinit_mbx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_hwif_init_mbx
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_init_func_mbx_msg
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:error:no-previous-prototype-for-sss_recv_mbx_aeq_handler
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_flush_mgmt_workq
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_force_complete_all
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mgmt_init.c:error:no-previous-prototype-for-sss_mgmt_msg_aeqe_handler
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_error.c:error:no-previous-prototype-for-sss_detect_pci_error
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_attach_is_enable
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_get_uld_info
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_get_uld_names
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_init_uld_lock
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_lock_uld
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:error:no-previous-prototype-for-sss_unlock_uld
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_probe.c:error:no-previous-prototype-for-sss_attach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_probe.c:error:no-previous-prototype-for-sss_pci_probe
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_adapter
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_function
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_deinit_pci_dev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_detach_all_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_detach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_dettach_uld_dev
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_pci_remove
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_remove.c:error:no-previous-prototype-for-sss_unmap_pci_bar
| |-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_shutdown.c:error:no-previous-prototype-for-sss_pci_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool.c:error:no-previous-prototype-for-sss_nic_set_ethtool_ops
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.c:error:no-previous-prototype-for-sss_nic_get_strings
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_filter.c:error:no-previous-prototype-for-sss_nic_set_rx_mode_work
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-sss_nic_release_qp_irq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_irq.c:error:no-previous-prototype-for-sss_nic_request_qp_irq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-get_nic_uld_info
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:error:no-previous-prototype-for-sss_nic_port_module_link_err
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:error:no-previous-prototype-for-sss_nic_set_netdev_ops
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_delete_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_get_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_ethtool_update_flow
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_rx_flow_rule
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_tcam
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:error:no-previous-prototype-for-sss_nic_flush_tcam_list
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_alloc_rq_res_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_free_rq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_free_rq_res_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_init_rq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_reset_rx_rss
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rx_init.c:error:no-previous-prototype-for-sss_nic_update_rx_rss
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_alloc_sq_resource
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_flush_all_sq
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_free_sq_desc_group
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_free_sq_resource
| |-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx_init.c:error:no-previous-prototype-for-sss_nic_init_all_sq
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
|-- arm64-allnoconfig
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-wait-in-((struct-list_head-)x)-.prev
| |-- include-linux-list.h:warning:storing-the-address-of-local-variable-waiter-in-(struct-list_head-)((char-)sem-).prev
| |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-001-20250705
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- drivers-tty-tty_buffer.c:error:implicit-declaration-of-function-printk_safe_enter
| |-- drivers-tty-tty_buffer.c:error:implicit-declaration-of-function-printk_safe_exit
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-001-20250905
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-kmemleak.c:error:implicit-declaration-of-function-printk_safe_enter
| |-- mm-kmemleak.c:error:implicit-declaration-of-function-printk_safe_exit
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-002-20250905
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-003-20250830
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- arm64-randconfig-003-20250905
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-blkg-not-described-in-blkcg_add_delay
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-delta-not-described-in-blkcg_add_delay
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-now-not-described-in-blkcg_add_delay
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-q-not-described-in-blkcg_schedule_throttle
| |-- block-blk-cgroup.c:warning:Function-parameter-or-member-use_memdelay-not-described-in-blkcg_schedule_throttle
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-004-20250702
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| `-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
|-- arm64-randconfig-004-20250704
| |-- drivers-net-can-usb-kvaser_usb-kvaser_usb_hydra.c:warning:new_state-may-be-used-uninitialized-in-this-function
| |-- drivers-net-ethernet-agere-et131x.c:warning:reg-may-be-used-uninitialized-in-this-function
| |-- drivers-net-wireless-mediatek-mt76-mt76x2_eeprom.c:warning:data-may-be-used-uninitialized-in-this-function
| |-- drivers-net-wireless-rsi-rsi_91x_sdio.c:warning:data-may-be-used-uninitialized-in-this-function
| |-- drivers-net-wireless-rsi-rsi_91x_sdio.c:warning:resp-may-be-used-uninitialized-in-this-function
| |-- include-scsi-scsi_cmnd.h:warning:scsi_cmnd-may-be-used-uninitialized-in-this-function
| |-- kernel-time-posix-cpu-timers.c:warning:now-may-be-used-uninitialized-in-this-function
| `-- net-9p-client.c:warning:type-may-be-used-uninitialized-in-this-function
|-- arm64-randconfig-004-20250729
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:agt_ctrl-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:c_value_r-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:data-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:r_data-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:r_value-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:read_value-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:spi_val-may-be-used-uninitialized-in-this-function
| |-- drivers-scsi-qla2xxx-qla_nx2.c:warning:temp-may-be-used-uninitialized-in-this-function
| `-- drivers-scsi-qla2xxx-qla_nx2.c:warning:value-may-be-used-uninitialized-in-this-function
|-- arm64-randconfig-004-20250903
| `-- include-linux-string.h:warning:__builtin_strcpy-source-argument-is-the-same-as-destination
|-- arm64-randconfig-004-20250905
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- include-linux-mempolicy.h:warning:__do_mbind-defined-but-not-used
| |-- include-linux-printk.h:warning:this-statement-may-fall-through
| |-- include-linux-signal.h:warning:this-statement-may-fall-through
| |-- init-calibrate.c:warning:no-previous-prototype-for-calibration_delay_done
| |-- mm-kmemleak.c:error:implicit-declaration-of-function-printk_safe_enter
| |-- mm-kmemleak.c:error:implicit-declaration-of-function-printk_safe_exit
| |-- mm-memory.c:error:implicit-declaration-of-function-hugetlb_insert_hugepage_pte_by_pa
| |-- mm-rmap.c:warning:no-previous-prototype-for-is_vma_temporary_stack
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| |-- mm-rodata_test.c:warning:no-previous-prototype-for-rodata_test
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled
|-- arm64-randconfig-r063-20250818
| `-- include-linux-spinlock.h:warning:flags-may-be-used-uninitialized-in-this-function
|-- arm64-randconfig-r121-20250728
| |-- block-blk-cgroup.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-address-spaces):
| |-- block-blk-merge.c:sparse:sparse:symbol-blk_try_req_merge-was-not-declared.-Should-it-be-static
| |-- crypto-authenc.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-authencesn.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-ccm.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-cryptd.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-echainiv.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-gcm.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-gcm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-a-got-restricted-__be64-usertype
| |-- crypto-gcm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-b-got-restricted-__be64-usertype
| |-- crypto-hmac.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-seqiv.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-shash.c:sparse:sparse:Variable-length-array-is-used.
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_debugfs.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-signed-int-noderef-asn-got-signed-int-usertype
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_debugfs.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-int-noderef-asn-got-unsigned-int-usertype
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ring.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-int-noderef-asn-got-unsigned-int-usertype
| |-- drivers-gpu-drm-amd-amdgpu-amdgpu_ttm.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-int-noderef-asn-got-unsigned-int-usertype
| |-- drivers-gpu-drm-ast-ast_fb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-gpu-drm-cirrus-cirrus_fbdev.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-gpu-drm-cirrus-cirrus_fbdev.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-char-noderef-asn-screen_base-got-void-assigned-sysram
| |-- drivers-gpu-drm-radeon-radeon_ttm.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-int-noderef-asn-got-unsigned-int-usertype
| |-- drivers-pci-controller-dwc-pcie-hisi.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-priv-got-void-noderef-asn-assigned-reg_base
| |-- drivers-pci-controller-dwc-pcie-hisi.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-noderef-asn-reg_base-got-void-priv
| |-- drivers-pci-controller-pci-xgene.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-void
| |-- drivers-pci-controller-pci-xgene.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-void-bar_addr
| |-- drivers-pci-controller-pci-xgene.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-bar_addr-got-void-noderef-asn
| |-- fs-dax.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-addressable-slot
| |-- fs-dax.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- fs-dax.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slotp-got-void
| |-- fs-fs-writeback.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- fs-fs-writeback.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-slot-got-void-noderef-asn
| |-- include-asm-generic-io.h:sparse:sparse:cast-to-restricted-__le16
| |-- include-asm-generic-io.h:sparse:sparse:cast-to-restricted-__le32
| |-- include-asm-generic-io.h:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-usertype-val-got-restricted-__le32-usertype
| |-- include-asm-generic-io.h:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-short-usertype-val-got-restricted-__le16-usertype
| |-- include-crypto-cbc.h:sparse:sparse:Variable-length-array-is-used.
| |-- include-trace-events-vmscan.h:sparse:sparse:restricted-isolate_mode_t-degrades-to-integer
| |-- init-do_mounts.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dev_name-got-char
| |-- init-do_mounts.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dev_name-got-char-name
| |-- init-do_mounts.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dir_name-got-char
| |-- init-do_mounts.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-type-got-char-fs
| |-- init-do_mounts_initrd.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dev_name-got-char
| |-- init-do_mounts_initrd.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-noderef-asn-dir_name-got-char
| |-- init-initramfs.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-char-const-noderef-asn-buf-got-char-const-p
| |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-addr-got-void-noderef-asn-mem_base
| |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-noderef-asn-mem_base-got-void
| |-- kernel-dma-coherent.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-virt_base-got-void-noderef-asn-mem_base
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-addressable-slot
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-pagep
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slotp-got-void
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-pagep-got-void-noderef-asn
| |-- mm-filemap.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-slot-got-void-noderef-asn
| |-- mm-huge_memory.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-pslot
| |-- mm-huge_memory.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-pslot-got-void-noderef-asn
| |-- mm-khugepaged.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- mm-khugepaged.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-slot-got-void-noderef-asn
| |-- mm-maccess.c:sparse:sparse:symbol-__probe_user_read-was-not-declared.-Should-it-be-static
| |-- mm-memory.c:sparse:sparse:Using-plain-integer-as-NULL-pointer
| |-- mm-migrate.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-pslot
| |-- mm-migrate.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-pslot-got-void-noderef-asn
| |-- mm-page-writeback.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-slot
| |-- mm-page-writeback.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-slot-got-void-noderef-asn
| |-- mm-truncate.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slot-got-void-addressable-slot
| |-- mm-truncate.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-slotp-got-void
| |-- mm-vmstat.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-short-noderef-usertype-asn-got-unsigned-short
| `-- mm-workingset.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-arg-got-void-noderef-asn
|-- arm64-randconfig-r121-20250729
| |-- crypto-algif_aead.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-algif_hash.c:sparse:sparse:Variable-length-array-is-used.
| |-- crypto-xcbc.c:sparse:sparse:Variable-length-array-is-used.
| |-- drivers-crypto-cavium-cpt-cptvf_main.c:sparse:sparse:symbol-cptvf_device_init-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_mbox.c:sparse:sparse:symbol-cptvf_mbox_send_ack-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_mbox.c:sparse:sparse:symbol-cptvf_mbox_send_nack-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-do_post_process-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-do_request_cleanup-was-not-declared.-Should-it-be-static
| |-- drivers-crypto-cavium-cpt-cptvf_reqmanager.c:sparse:sparse:symbol-send_cpt_command-was-not-declared.-Should-it-be-static
| |-- drivers-gpu-drm-mgag200-mgag200_cursor.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-volatile-noderef-asn-addr-got-void
| |-- drivers-gpu-drm-mgag200-mgag200_cursor.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-gpu-drm-mgag200-mgag200_fb.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-got-void
| |-- drivers-irqchip-irq-mbigen.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-chip_data-got-void-noderef-asn-base
| |-- drivers-irqchip-irq-mbigen.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-noderef-asn-base-got-void-chip_data
| |-- drivers-power-reset-xgene-reboot.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-void-csr
| |-- drivers-power-reset-xgene-reboot.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-csr-got-void-noderef-asn
| |-- drivers-tty-synclinkmp.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-asn-addr-got-unsigned-char-usertype-memory_base
| |-- fs-file.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-new_fds-got-struct-file-noderef-asn-fd
| |-- fs-proc-etmem_scan.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-void-noderef-asn-buf-got-void-buf
| |-- include-linux-bpf-cgroup.h:sparse:sparse:Using-plain-integer-as-NULL-pointer
| |-- include-trace-events-vmscan.h:sparse:sparse:cast-to-restricted-isolate_mode_t
| |-- kernel-sys.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-int-noderef-asn-noderef-asn-got-int-noderef-asn-tid_addr
| |-- kernel-trace-ftrace.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-ftrace_ops-ops-got-struct-ftrace_ops-noderef-asn-static-addressable-toplevel-ftrace_ops_list
| `-- mm-page_alloc.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-restricted-gfp_t-usertype-flags-got-unsigned-int
|-- x86_64-allnoconfig
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-allyesconfig
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-.tmp_ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-buildonly-randconfig-001-20250401
| `-- drivers-nvdimm-label.o:warning:objtool:nd_blk_namespace_label_update:unreachable-instruction
|-- x86_64-buildonly-randconfig-001-20250718
| |-- block-cmdline-parser.o:warning:objtool:missing-symbol-for-section-.text
| `-- mm-swap_state.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-001-20250827
| |-- drivers-infiniband-sw-rxe-rxe_mr.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- drivers-net-ethernet-mellanox-mlx5-core-en_dim.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-net-ethernet-netronome-nfp-abm-ctrl.o:warning:objtool:missing-symbol-for-section-.text
| `-- drivers-xen-xen-pciback-conf_space_quirks.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-001-20250905
| |-- block-bfq-cgroup.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
| |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
| |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
| |-- block-partitions-check.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-scsi_ioctl.o:warning:objtool:missing-symbol-for-section-.text
| |-- crypto-asymmetric_keys-mscode_parser.o:warning:objtool:missing-symbol-for-section-.text
| |-- crypto-sm4_generic.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-002-20250806
| |-- arch-x86-platform-uv-tlb_uv.c:warning:unused-variable-proc_uv_ptc_operations
| |-- drivers-misc-sgi-gru-gruprocfs.c:warning:unused-variable-mcs_statistics_fops
| |-- drivers-misc-sgi-gru-gruprocfs.c:warning:unused-variable-options_fops
| |-- drivers-misc-sgi-gru-gruprocfs.c:warning:unused-variable-statistics_fops
| `-- drivers-misc-sgi-gru-gruprocfs.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-002-20250827
| |-- crypto-asymmetric_keys-mscode_parser.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-media-platform-xilinx-xilinx-vip.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-net-wireless-ath-ath6kl-hif.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-net-wireless-ath-ath6kl-init.o:warning:objtool:missing-symbol-for-section-.text
| `-- mm-hugetlb_cgroup.o:warning:objtool:missing-symbol-for-section-.init.text
|-- x86_64-buildonly-randconfig-002-20250905
| |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
| |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
| |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- kernel-sched-core.c:error:use-of-undeclared-identifier-root_task_group
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| `-- mm-rmap.c:warning:variable-cstart-set-but-not-used
|-- x86_64-buildonly-randconfig-003-20250207
| `-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- x86_64-buildonly-randconfig-003-20250704
| `-- mm-page_owner.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-003-20250711
| |-- block-ioctl.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-partitions-check.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-scsi_ioctl.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-gpu-drm-amd-amdkfd-kfd_process_queue_manager.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-debug.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- mm-memcontrol.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- mm-page_ext.o:warning:objtool:missing-symbol-for-section-.init.text
| `-- mm-rodata_test.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-004-20250905
| |-- block-bfq-cgroup.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-bio-integrity.c:warning:no-previous-prototype-for-function-__bio_integrity_free
| |-- block-blk-mq-sched.c:warning:no-previous-prototype-for-function-__blk_mq_sched_dispatch_requests
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
| |-- block-genhd.c:warning:no-previous-prototype-for-function-disk_scan_partitions
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-ioremap.o:warning:objtool:missing-symbol-for-section-.text
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-memcontrol.c:warning:bad-line:otherwise.
| |-- mm-memcontrol.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- mm-page_ext.o:warning:objtool:missing-symbol-for-section-.init.text
| |-- mm-page_owner.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-swap_state.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-005-20241216
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-005-20250714
| |-- block-bfq-cgroup.o:warning:objtool:missing-symbol-for-section-.text
| |-- block-blk-mq-rdma.o:warning:objtool:missing-symbol-for-section-.text
| |-- drivers-isdn-mISDN-dsp_cmx.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| |-- drivers-isdn-mISDN-dsp_hwec.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| `-- drivers-net-can-usb-peak_usb-pcan_usb_core.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
|-- x86_64-buildonly-randconfig-005-20250806
| |-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_issue
| `-- block-blk-wbt.c:warning:no-previous-prototype-for-function-wbt_requeue
|-- x86_64-buildonly-randconfig-005-20250820
| `-- mm-early_ioremap.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-005-20250827
| |-- drivers-media-pci-cx25821-cx25821-core.o:warning:objtool:missing-symbol-for-section-.text.unlikely.
| `-- drivers-net-ethernet-netronome-nfp-nfp_app.o:warning:objtool:missing-symbol-for-section-.text
|-- x86_64-buildonly-randconfig-005-20250905
| |-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
| |-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
| |-- mm-rmap.c:warning:variable-cstart-set-but-not-used
| `-- mm-vmscan.c:error:implicit-declaration-of-function-kernel_swap_enabled-Werror-Wimplicit-function-declaration
|-- x86_64-buildonly-randconfig-006-20250620
| `-- kernel-sched-core.c:error:use-of-undeclared-identifier-root_task_group
|-- x86_64-randconfig-101-20241223
| `-- fs-ext4-mballoc.o:warning:objtool:ext4_mb_complex_scan_group:unreachable-instruction
|-- x86_64-randconfig-103-20250219
| |-- kernel-sched-debug.c:error:no-member-named-nr_wakeups_force_preferred_cpus-in-struct-dyn_affinity_stats
| `-- kernel-sched-debug.c:error:no-member-named-nr_wakeups_preferred_cpus-in-struct-dyn_affinity_stats
|-- x86_64-randconfig-103-20250305
| `-- drivers-gpu-drm-amd-amdgpu-amdgpu_ids.o:warning:objtool:amdgpu_vmid_grab:unreachable-instruction
|-- x86_64-randconfig-122-20241226
| `-- fs-debugfs-file.o:warning:objtool:full_proxy_open:unreachable-instruction
|-- x86_64-randconfig-r112-20250311
| |-- mm-debug.c:warning:format-specifies-type-int-but-the-argument-has-type-unsigned-long
| |-- mm-debug.c:warning:format-specifies-type-unsigned-long-but-the-argument-has-type-const-unsigned-long
| |-- mm-debug.c:warning:format-specifies-type-void-but-the-argument-has-type-int
| `-- mm-debug.c:warning:more-conversions-than-data-arguments
`-- x86_64-rhel-9.4-rust
|-- drivers-pinctrl-core.c:error:Cannot-parse-struct-or-union
|-- mm-hugetlb.c:warning:no-previous-prototype-for-function-free_huge_page_to_dhugetlb_pool
|-- mm-khugepaged.c:warning:Function-parameter-or-member-reliable-not-described-in-collapse_shmem
|-- mm-maccess.c:warning:no-previous-prototype-for-function-__probe_user_read
|-- mm-memcontrol.c:warning:bad-line:otherwise.
`-- mm-rmap.c:warning:variable-cstart-set-but-not-used
elapsed time: 1178m
configs tested: 16
configs skipped: 115
tested configs:
arm64 allmodconfig gcc-15.1.0
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250905 gcc-8.5.0
arm64 randconfig-002-20250905 gcc-8.5.0
arm64 randconfig-003-20250905 gcc-7.5.0
arm64 randconfig-004-20250905 gcc-8.5.0
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250905 clang-20
x86_64 buildonly-randconfig-002-20250905 clang-20
x86_64 buildonly-randconfig-003-20250905 gcc-13
x86_64 buildonly-randconfig-004-20250905 clang-20
x86_64 buildonly-randconfig-005-20250905 clang-20
x86_64 buildonly-randconfig-006-20250905 gcc-13
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10] BUILD REGRESSION e964c55e75d7789c1f1b7f1ac3ec844889ed0845
by kernel test robot 06 Sep '25
by kernel test robot 06 Sep '25
06 Sep '25
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: e964c55e75d7789c1f1b7f1ac3ec844889ed0845 !17912 net/mlx5: Check device memory pointer before usage
Error/Warning (recently discovered and may have been fixed):
https://lore.kernel.org/oe-kbuild-all/202509020441.cS6vg9iy-lkp@intel.com
../lib/gcc/aarch64-linux/5.5.0/plugin/include/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
../lib/gcc/aarch64-linux/5.5.0/plugin/include/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
../lib/gcc/aarch64-linux/5.5.0/plugin/include/gimple.h:2556:18: error: 'is_gimple_reg' was not declared in this scope; did you mean 'is_gimple_assign'?
../lib/gcc/aarch64-linux/5.5.0/plugin/include/gimple.h:2790:10: error: 'gimple_call_addr_fndecl' was not declared in this scope; did you mean 'gimple_call_set_fndecl'?
../lib/gcc/aarch64-linux/5.5.0/plugin/include/gimple.h:283:22: error: field 'call_used' has incomplete type 'pt_solution'
../lib/gcc/aarch64-linux/5.5.0/plugin/include/gimple.h:284:22: error: field 'call_clobbered' has incomplete type 'pt_solution'
block/bfq-cgroup.c:1427:6: warning: no previous prototype for 'bfqg_and_blkg_get' [-Wmissing-prototypes]
block/bfq-cgroup.c:1459:6: warning: no previous prototype for function 'bfqg_and_blkg_get' [-Wmissing-prototypes]
block/bfq-cgroup.c:692: warning: Excess function parameter 'blkcg' description in '__bfq_bic_change_cgroup'
block/bfq-cgroup.c:692: warning: Function parameter or member 'bfqg' not described in '__bfq_bic_change_cgroup'
crypto/af_alg.c:742: warning: Function parameter or member 'min' not described in 'af_alg_wait_for_data'
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:546:5: error: no previous prototype for function 'ps3_pci_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:900:5: error: no previous prototype for function 'ps3_pci_init_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_base.c:946:6: error: no previous prototype for function 'ps3_pci_init_complete_exit' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_cli_debug.c:1060:5: error: no previous prototype for function 'ps3_dump_context_show' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:41:19: error: unused function 'time_for_log' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_driver_log.c:65:19: error: unused function 'time_for_file_name' [-Werror,-Wunused-function]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:160:5: error: no previous prototype for function 'ps3_dump_file_write' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:201:5: error: no previous prototype for function 'ps3_dump_file_close' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:29:5: error: no previous prototype for function 'ps3_dump_local_time' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:51:5: error: no previous prototype for function 'ps3_dump_filename_build' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/./linux/ps3_dump.c:77:5: error: no previous prototype for function 'ps3_dump_file_open' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:132:6: error: no previous prototype for function 'ps3_trigger_irq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_complete.c:244:5: error: no previous prototype for function 'ps3_resp_status_convert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:404:6: error: no previous prototype for function 'ps3_io_recv_ok_stat_inc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_cmd_statistics.c:86:6: error: no previous prototype for function 'ps3_cmd_stat_content_clear' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_debug.c:884:5: error: no previous prototype for function 'ps3_dump_dir_length' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1582:5: error: no previous prototype for function 'ps3_scsi_private_init_pd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager.c:1664:5: error: no previous prototype for function 'ps3_scsi_private_init_vd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.c:1633:5: error: no previous prototype for function 'ps3_sas_expander_phys_refresh' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:148:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_hba' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:37:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_switch' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_adp.c:89:6: error: no previous prototype for function 'ps3_ioc_resource_prepare_raid' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioc_manager.c:308:5: error: no previous prototype for function 'ps3_hard_reset_to_ready' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_ioctl.c:786:6: error: no previous prototype for function 'ps3_clean_mgr_cmd' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:22:27: error: unused variable 'PS3_INTERRUPT_CMD_DISABLE_ALL_MASK' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:23:27: error: unused variable 'PS3_INTERRUPT_CMD_ENABLE_MSIX' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:24:27: error: unused variable 'PS3_INTERRUPT_MASK_DISABLE' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:25:27: error: unused variable 'PS3_INTERRUPT_STATUS_EXIST_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:26:27: error: unused variable 'PS3_INTERRUPT_CLEAR_IRQ' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:28:27: error: unused variable 'PS3_SSD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_irq.c:29:27: error: unused variable 'PS3_HDD_IOPS_MSIX_VECTORS' [-Werror,-Wunused-const-variable]
drivers/scsi/linkdata/ps3stor/ps3_module_para.c:610:14: error: no previous prototype for function 'ps3_cli_ver_query' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:1059:6: error: no previous prototype for function 'ps3_qos_pd_waitq_ratio_update' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2020:15: error: no previous prototype for function 'ps3_hba_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2041:6: error: no previous prototype for function 'ps3_hba_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2101:6: error: no previous prototype for function 'ps3_cmd_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:212:1: error: no previous prototype for function 'ps3_qos_cmd_waitq_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2464:6: error: no previous prototype for function 'ps3_hba_qos_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2828:6: error: no previous prototype for function 'ps3_hba_qos_vd_init' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:2937:6: error: no previous prototype for function 'ps3_hba_qos_vd_reset' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3024:6: error: no previous prototype for function 'ps3_hba_qos_waitq_poll' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3280:15: error: no previous prototype for function 'ps3_raid_qos_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3335:6: error: no previous prototype for function 'ps3_qos_mgrq_resend' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:336:15: error: no previous prototype for function 'ps3_qos_vd_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3479:6: error: no previous prototype for function 'ps3_raid_qos_waitq_notify' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:352:15: error: no previous prototype for function 'ps3_qos_exclusive_cmdword_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:364:15: error: no previous prototype for function 'ps3_qos_tg_decision' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:3822:15: error: no previous prototype for function 'ps3_raid_qos_waitq_abort' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:750:15: error: no previous prototype for function 'ps3_qos_all_pd_rc_get' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:877:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clear_all' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_qos.c:893:6: error: no previous prototype for function 'ps3_pd_quota_waitq_clean' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1174:5: error: no previous prototype for function 'ps3_range_check_and_insert' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1232:5: error: no previous prototype for function 'ps3_r1x_hash_range_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:1313:6: error: no previous prototype for function 'ps3_r1x_hash_range_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:579:5: error: no previous prototype for function 'ps3_r1x_hash_bit_check' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:679:6: error: no previous prototype for function 'ps3_r1x_conflict_queue_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:731:5: error: no previous prototype for function 'ps3_r1x_hash_bit_lock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_r1x_write_lock.c:989:6: error: no previous prototype for function 'ps3_r1x_hash_bit_unlock' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_rb_tree.c:155:6: error: no previous prototype for function 'rbtDelNodeDo' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:205:6: error: no previous prototype for function 'ps3_recovery_irq_queue_destroy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:2701:6: error: no previous prototype for function 'ps3_hard_recovery_state_finish' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:364:5: error: no previous prototype for function 'ps3_recovery_state_transfer' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:73:30: error: no previous prototype for function 'ps3_recovery_context_alloc' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:83:6: error: no previous prototype for function 'ps3_recovery_context_free' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_recovery.c:89:6: error: no previous prototype for function 'ps3_recovery_context_delete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_sas_transport.c:408:5: error: no previous prototype for function 'ps3_sas_update_phy_info' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:1111:5: error: no previous prototype for function 'ps3_wait_for_outstanding_complete' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c:877:6: error: no previous prototype for function 'ps3_set_task_manager_busy' [-Werror,-Wmissing-prototypes]
drivers/scsi/linkdata/ps3stor/ps3_scsih.c:1959:1: error: unused function 'ps3_scsih_dev_id_get' [-Werror,-Wunused-function]
mm/compaction.c:56:18: warning: 'HPAGE_FRAG_CHECK_INTERVAL_MSEC' defined but not used [-Wunused-const-variable=]
mm/filemap.c:823:14: warning: no previous prototype for function '__add_to_page_cache_locked' [-Wmissing-prototypes]
mm/filemap.c:830:14: warning: no previous prototype for '__add_to_page_cache_locked' [-Wmissing-prototypes]
mm/page_alloc.c:3480:15: warning: no previous prototype for 'should_fail_alloc_page' [-Wmissing-prototypes]
mm/page_alloc.c:6794:23: warning: no previous prototype for 'arch_memmap_init' [-Wmissing-prototypes]
Unverified Error/Warning (likely false positive, kindly check if interested):
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.o: warning: objtool: acquire_queue() falls through to next function asan.module_ctor()
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm64-allnoconfig
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-arch_memmap_init
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- arm64-randconfig-001-20250830
| `-- mm-compaction.c:warning:HPAGE_FRAG_CHECK_INTERVAL_MSEC-defined-but-not-used
|-- arm64-randconfig-002-20250321
| |-- lib-gcc-aarch64-linux-..-plugin-include-config-elfos.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-defaults.h:warning:invalid-suffix-on-literal-C-requires-a-space-between-literal-and-string-macro
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_clobbered-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:field-call_used-has-incomplete-type-pt_solution
| |-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:gimple_call_addr_fndecl-was-not-declared-in-this-scope
| `-- lib-gcc-aarch64-linux-..-plugin-include-gimple.h:error:is_gimple_reg-was-not-declared-in-this-scope
|-- arm64-randconfig-002-20250901
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_entries_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_exit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_debugfs.c:error:no-previous-prototype-for-sxe_debugfs_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_phys_id_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:no-previous-prototype-for-sxe_reg_test
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_ethtool.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_fc_autoneg_localcap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_all_ring_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_crc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_max_mem_window_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_pfc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rate_limiter_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_rx_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_data_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_desc_bw_alloc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_dcb_tx_ring_rate_factor_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_auto_clear_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_autoneg_disable_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_mac_addr_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_requested_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_high_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fc_tc_low_water_mark_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_port_mask_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rule_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_sample_rules_table_reinit
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_fnav_specific_rule_mask_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_channel_state_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_drv_status_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ack_header_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_ov_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_fw_status_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_is_fw_over_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_lock_release
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_rcv
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_data_dword_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_header_send
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_hdc_packet_send_done
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_cause_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_irq_general_reg_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_fc_autoneg_disabled
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_is_link_state_up
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_link_speed_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_max_frame_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_pad_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mac_txrx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mbx_mem_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mc_filter_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_mta_hash_table_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_nic_reset
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_no_snoop_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pcie_vt_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_read_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pending_irq_write_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pf_rst_done_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pfc_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_mac_anti_spoof_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_pool_rx_ring_drop_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_is_rx_timestamp_valid
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_rx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_systime_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_timestamp_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ptp_tx_timestamp_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rcv_msg_from_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_auto_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_key_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_reg_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rss_redir_tbl_set_all
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_off
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_cap_switch_on
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_ctrl_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_dma_lro_ctrl_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_drop_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ack_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_lro_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_mode_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_multi_ring_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_nfs_filter_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pkt_buf_size_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_queue_desc_reg_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_rx_udp_frag_checksum_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_send_msg_to_vf
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_spoof_count_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_regs_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_stats_seq_clean
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_desc_thresh_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_size_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pkt_buf_thresh_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_pool_bitmap_set
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_head_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_info_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_switch_not_polling
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_ring_tail_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_insert_get
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_tx_vlan_tag_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_add
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_del
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_uc_addr_pool_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_ack_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_req_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vf_rst_check
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_clear
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_array_write
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_filter_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_pool_filter_read
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlan_tag_strip_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vlvf_slot_find
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_ctrl_cfg
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_disable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:no-previous-prototype-for-sxe_hw_vt_pool_loopback_switch
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_hw.c:error:suggest-braces-around-empty-body-in-an-if-statement
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_dcb
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_disable_rss
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_lsc_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_mailbox_irq_handler
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_irq.c:error:no-previous-prototype-for-sxe_msi_irq_init
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_main.c:error:no-previous-prototype-for-sxe_allow_inval_mac
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_phy.c:error:no-previous-prototype-for-sxe_multispeed_sfp_link_configure
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_headers_cleanup
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_rx_proc.c:error:no-previous-prototype-for-sxe_rx_buffer_page_offset_update
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:no-previous-prototype-for-sxe_set_vf_link_enable
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_sriov.c:error:variable-ret-set-but-not-used
| |-- drivers-net-ethernet-linkdata-sxe-sxepf-sxe_xdp.c:error:no-previous-prototype-for-sxe_txrx_ring_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_32bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_36bit_counter_update
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_event_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_reset
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_ring_irq_map
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_hw_stop
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_disable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_link_state_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_mailbox_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_read
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_msg_write
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_packet_stats_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_ack_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_pf_req_irq_trigger
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_ring_irq_interval_set
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_rcv_ctl_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_desc_configure
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_rx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_specific_irq_enable
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_stats_init_value_get
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_hw.c:error:no-previous-prototype-for-sxevf_tx_ring_switch
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_rx_proc.c:error:no-previous-prototype-for-sxevf_rx_ring_buffers_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_alloc
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:no-previous-prototype-for-sxevf_tx_ring_free
| |-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-else-statement
| `-- drivers-net-ethernet-linkdata-sxevf-sxevf-sxevf_tx_proc.c:error:suggest-braces-around-empty-body-in-an-if-statement
|-- arm64-randconfig-003-20250806
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| `-- block-bfq-cgroup.c:warning:no-previous-prototype-for-bfqg_and_blkg_get
|-- x86_64-allnoconfig
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-allyesconfig
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_base.c:error:no-previous-prototype-for-function-ps3_pci_init_complete_exit-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_cli_debug.c:error:no-previous-prototype-for-function-ps3_dump_context_show-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_file_name-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_driver_log.c:error:unused-function-time_for_log-Werror-Wunused-function
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_close-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_open-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_file_write-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_filename_build-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-.-linux-ps3_dump.c:error:no-previous-prototype-for-function-ps3_dump_local_time-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_resp_status_convert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_complete.c:error:no-previous-prototype-for-function-ps3_trigger_irq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_cmd_stat_content_clear-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_cmd_statistics.c:error:no-previous-prototype-for-function-ps3_io_recv_ok_stat_inc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_debug.c:error:no-previous-prototype-for-function-ps3_dump_dir_length-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_pd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager.c:error:no-previous-prototype-for-function-ps3_scsi_private_init_vd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_device_manager_sas.c:error:no-previous-prototype-for-function-ps3_sas_expander_phys_refresh-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_hba-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_raid-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_adp.c:error:no-previous-prototype-for-function-ps3_ioc_resource_prepare_switch-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioc_manager.c:error:no-previous-prototype-for-function-ps3_hard_reset_to_ready-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_ioctl.c:error:no-previous-prototype-for-function-ps3_clean_mgr_cmd-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_HDD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CLEAR_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_DISABLE_ALL_MASK-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_CMD_ENABLE_MSIX-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_MASK_DISABLE-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_INTERRUPT_STATUS_EXIST_IRQ-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_irq.c:error:unused-variable-PS3_SSD_IOPS_MSIX_VECTORS-Werror-Wunused-const-variable
| |-- drivers-scsi-linkdata-ps3stor-ps3_module_para.c:error:no-previous-prototype-for-function-ps3_cli_ver_query-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_cmd_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_init-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_vd_reset-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_hba_qos_waitq_poll-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clean-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_pd_quota_waitq_clear_all-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_all_pd_rc_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_cmd_waitq_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_exclusive_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_mgrq_resend-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_pd_waitq_ratio_update-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_tg_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_qos_vd_cmdword_get-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_decision-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_abort-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_qos.c:error:no-previous-prototype-for-function-ps3_raid_qos_waitq_notify-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_conflict_queue_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_check-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_bit_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_lock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_r1x_hash_range_unlock-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_r1x_write_lock.c:error:no-previous-prototype-for-function-ps3_range_check_and_insert-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_rb_tree.c:error:no-previous-prototype-for-function-rbtDelNodeDo-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_hard_recovery_state_finish-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_alloc-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_delete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_context_free-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_irq_queue_destroy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_recovery.c:error:no-previous-prototype-for-function-ps3_recovery_state_transfer-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_sas_transport.c:error:no-previous-prototype-for-function-ps3_sas_update_phy_info-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_set_task_manager_busy-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsi_cmd_err.c:error:no-previous-prototype-for-function-ps3_wait_for_outstanding_complete-Werror-Wmissing-prototypes
| |-- drivers-scsi-linkdata-ps3stor-ps3_scsih.c:error:unused-function-ps3_scsih_dev_id_get-Werror-Wunused-function
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-001-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-function-bfqg_and_blkg_get
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-002-20250806
| `-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
|-- x86_64-buildonly-randconfig-002-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-function-bfqg_and_blkg_get
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-003-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-bfqg_and_blkg_get
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-arch_memmap_init
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-buildonly-randconfig-004-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-function-bfqg_and_blkg_get
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| |-- ld.lld:error:version-script-assignment-of-LINUX_2.-to-symbol-__vdso_sgx_enter_enclave-failed:symbol-not-defined
| |-- llvm-objcopy:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| |-- llvm-objdump:error:arch-x86-entry-vdso-vdso64.so.dbg:No-such-file-or-directory
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-005-20250905
| |-- crypto-af_alg.c:warning:Function-parameter-or-member-min-not-described-in-af_alg_wait_for_data
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
|-- x86_64-buildonly-randconfig-006-20250905
| |-- block-bfq-cgroup.c:warning:Excess-function-parameter-blkcg-description-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:Function-parameter-or-member-bfqg-not-described-in-__bfq_bic_change_cgroup
| |-- block-bfq-cgroup.c:warning:no-previous-prototype-for-bfqg_and_blkg_get
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-arch_memmap_init
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-defconfig
| |-- mm-filemap.c:warning:no-previous-prototype-for-__add_to_page_cache_locked
| |-- mm-page_alloc.c:warning:no-previous-prototype-for-arch_memmap_init
| `-- mm-page_alloc.c:warning:no-previous-prototype-for-should_fail_alloc_page
|-- x86_64-randconfig-123-20250722
| `-- drivers-gpu-drm-amd-amdgpu-amdgpu_amdkfd_gfx_v7.o:warning:objtool:acquire_queue-falls-through-to-next-function-asanmodule_ctor()
|-- x86_64-randconfig-161-20250906
| `-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
`-- x86_64-rhel-9.4-rust
`-- mm-filemap.c:warning:no-previous-prototype-for-function-__add_to_page_cache_locked
elapsed time: 1183m
configs tested: 16
configs skipped: 115
tested configs:
arm64 allmodconfig clang-19
arm64 allnoconfig gcc-15.1.0
arm64 randconfig-001-20250905 clang-22
arm64 randconfig-002-20250905 clang-17
arm64 randconfig-003-20250905 clang-17
arm64 randconfig-004-20250905 clang-22
x86_64 allnoconfig clang-20
x86_64 allyesconfig clang-20
x86_64 buildonly-randconfig-001-20250905 clang-20
x86_64 buildonly-randconfig-002-20250905 clang-20
x86_64 buildonly-randconfig-003-20250905 gcc-13
x86_64 buildonly-randconfig-004-20250905 clang-20
x86_64 buildonly-randconfig-005-20250905 clang-20
x86_64 buildonly-randconfig-006-20250905 gcc-13
x86_64 defconfig gcc-11
x86_64 rhel-9.4-rust clang-22
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH OLK-6.6] nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm()
by Li Lingfeng 06 Sep '25
by Li Lingfeng 06 Sep '25
06 Sep '25
From: Jeff Layton <jlayton(a)kernel.org>
mainline inclusion
from mainline-v6.17-rc1
commit 908e4ead7f757504d8b345452730636e298cbf68
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/ICWGI5
CVE: CVE-2025-38724
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
Lei Lu recently reported that nfsd4_setclientid_confirm() did not check
the return value from get_client_locked(). a SETCLIENTID_CONFIRM could
race with a confirmed client expiring and fail to get a reference. That
could later lead to a UAF.
Fix this by getting a reference early in the case where there is an
extant confirmed client. If that fails then treat it as if there were no
confirmed client found at all.
In the case where the unconfirmed client is expiring, just fail and
return the result from get_client_locked().
Reported-by: lei lu <llfamsec(a)gmail.com>
Closes: https://lore.kernel.org/linux-nfs/CAEBF3_b=UvqzNKdnfD_52L05Mqrqui9vZ2eFamgA…
Fixes: d20c11d86d8f ("nfsd: Protect session creation and client confirm using client_lock")
Cc: stable(a)vger.kernel.org
Signed-off-by: Jeff Layton <jlayton(a)kernel.org>
Signed-off-by: Chuck Lever <chuck.lever(a)oracle.com>
Signed-off-by: Li Lingfeng <lilingfeng3(a)huawei.com>
---
fs/nfsd/nfs4state.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index dfa2aa91fcac..35ff565ed9a7 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -4274,10 +4274,16 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
}
status = nfs_ok;
if (conf) {
- old = unconf;
- unhash_client_locked(old);
- nfsd4_change_callback(conf, &unconf->cl_cb_conn);
- } else {
+ if (get_client_locked(conf) == nfs_ok) {
+ old = unconf;
+ unhash_client_locked(old);
+ nfsd4_change_callback(conf, &unconf->cl_cb_conn);
+ } else {
+ conf = NULL;
+ }
+ }
+
+ if (!conf) {
old = find_confirmed_client_by_name(&unconf->cl_name, nn);
if (old) {
status = nfserr_clid_inuse;
@@ -4294,10 +4300,14 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
}
trace_nfsd_clid_replaced(&old->cl_clientid);
}
+ status = get_client_locked(unconf);
+ if (status != nfs_ok) {
+ old = NULL;
+ goto out;
+ }
move_to_confirmed(unconf);
conf = unconf;
}
- get_client_locked(conf);
spin_unlock(&nn->client_lock);
if (conf == unconf)
fsnotify_dentry(conf->cl_nfsd_info_dentry, FS_MODIFY);
--
2.46.1
2
1

[openeuler:openEuler-1.0-LTS 1740/1740] mm/page_alloc.c:3684:54: sparse: sparse: incorrect type in argument 1 (different base types)
by kernel test robot 05 Sep '25
by kernel test robot 05 Sep '25
05 Sep '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: e0480ba0432569e9691f36270fde74a39a59fb0c
commit: 9b6c51cd780588813c5d327e2a6d677d010a2b6f [1740/1740] mm: fix zoneref mapping problem in memory reliable
config: arm64-randconfig-r121-20250729 (https://download.01.org/0day-ci/archive/20250905/202509052100.LAoxUFGM-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce: (https://download.01.org/0day-ci/archive/20250905/202509052100.LAoxUFGM-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509052100.LAoxUFGM-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
mm/page_alloc.c:140:1: sparse: sparse: symbol 'pcpu_drain_mutex' was not declared. Should it be static?
mm/page_alloc.c: note: in included file (through include/linux/mm.h):
include/linux/mem_reliable.h:68:15: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:4656:13: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:4661:35: sparse: sparse: invalid assignment: |=
mm/page_alloc.c:4661:35: sparse: left side has type restricted gfp_t
mm/page_alloc.c:4661:35: sparse: right side has type unsigned int
mm/page_alloc.c:4677:35: sparse: sparse: invalid assignment: |=
mm/page_alloc.c:4677:35: sparse: left side has type restricted gfp_t
mm/page_alloc.c:4677:35: sparse: right side has type unsigned int
mm/page_alloc.c:4683:35: sparse: sparse: invalid assignment: |=
mm/page_alloc.c:4683:35: sparse: left side has type restricted gfp_t
mm/page_alloc.c:4683:35: sparse: right side has type unsigned int
mm/page_alloc.c:4698:35: sparse: sparse: invalid assignment: |=
mm/page_alloc.c:4698:35: sparse: left side has type restricted gfp_t
mm/page_alloc.c:4698:35: sparse: right side has type unsigned int
mm/page_alloc.c: note: in included file (through include/linux/mm.h):
include/linux/gfp.h:457:34: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:324:27: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:324:27: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:3683:14: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:3684:45: sparse: sparse: restricted gfp_t degrades to integer
>> mm/page_alloc.c:3684:54: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted gfp_t [usertype] flags @@ got unsigned int @@
mm/page_alloc.c:3684:54: sparse: expected restricted gfp_t [usertype] flags
mm/page_alloc.c:3684:54: sparse: got unsigned int
include/linux/gfp.h:457:34: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c:3701:14: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:457:34: sparse: sparse: restricted gfp_t degrades to integer
include/linux/gfp.h:457:34: sparse: sparse: restricted gfp_t degrades to integer
mm/page_alloc.c: In function 'mem_init_print_info':
mm/page_alloc.c:7512:27: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 36- | ^~
mm/page_alloc.c:7516:9: note: in expansion of macro 'adj_init_size'
7516 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: note: use '&__init_begin[0] <= &_sinittext[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 42- | ^~
mm/page_alloc.c:7516:9: note: in expansion of macro 'adj_init_size'
7516 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 48- | ^
mm/page_alloc.c:7516:9: note: in expansion of macro 'adj_init_size'
7516 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: note: use '&_sinittext[0] < &__init_end[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 54- | ^
mm/page_alloc.c:7516:9: note: in expansion of macro 'adj_init_size'
7516 | adj_init_size(__init_begin, __init_end, init_data_size,
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 60- | ^~
mm/page_alloc.c:7518:9: note: in expansion of macro 'adj_init_size'
7518 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: note: use '&_stext[0] <= &_sinittext[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 66- | ^~
mm/page_alloc.c:7518:9: note: in expansion of macro 'adj_init_size'
7518 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 72- | ^
mm/page_alloc.c:7518:9: note: in expansion of macro 'adj_init_size'
7518 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: note: use '&_sinittext[0] < &_etext[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 78- | ^
mm/page_alloc.c:7518:9: note: in expansion of macro 'adj_init_size'
7518 | adj_init_size(_stext, _etext, codesize, _sinittext, init_code_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 84- | ^~
mm/page_alloc.c:7519:9: note: in expansion of macro 'adj_init_size'
7519 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: note: use '&_sdata[0] <= &__init_begin[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 90- | ^~
mm/page_alloc.c:7519:9: note: in expansion of macro 'adj_init_size'
7519 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 96- | ^
mm/page_alloc.c:7519:9: note: in expansion of macro 'adj_init_size'
7519 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: note: use '&__init_begin[0] < &_edata[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 102- | ^
mm/page_alloc.c:7519:9: note: in expansion of macro 'adj_init_size'
7519 | adj_init_size(_sdata, _edata, datasize, __init_begin, init_data_size);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 108- | ^~
mm/page_alloc.c:7520:9: note: in expansion of macro 'adj_init_size'
7520 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:27: note: use '&_stext[0] <= &__start_rodata[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 114- | ^~
mm/page_alloc.c:7520:9: note: in expansion of macro 'adj_init_size'
7520 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: warning: comparison between two arrays [-Warray-compare]
7512 | if (start <= pos && pos < end && size > adj) 120- | ^
mm/page_alloc.c:7520:9: note: in expansion of macro 'adj_init_size'
7520 | adj_init_size(_stext, _etext, codesize, __start_rodata, rosize);
| ^~~~~~~~~~~~~
mm/page_alloc.c:7512:41: note: use '&__start_rodata[0] < &_etext[0]' to compare the addresses
7512 | if (start <= pos && pos < end && size > adj) 126- | ^
vim +3684 mm/page_alloc.c
3673
3674 #ifdef CONFIG_MEMORY_RELIABLE
3675 static inline void reliable_fb_find_zone(gfp_t gfp_mask,
3676 struct alloc_context *ac)
3677 {
3678 if (!reliable_allow_fb_enabled())
3679 return;
3680
3681 /* dst node don't have zone we want, fallback here */
3682 if ((gfp_mask & __GFP_THISNODE) && (ac->high_zoneidx == ZONE_NORMAL) &&
3683 (gfp_mask & ___GFP_RELIABILITY)) {
> 3684 ac->high_zoneidx = gfp_zone(gfp_mask & ~___GFP_RELIABILITY);
3685 ac->preferred_zoneref = first_zones_zonelist(
3686 ac->zonelist, ac->high_zoneidx, ac->nodemask);
3687 }
3688
3689 return;
3690 }
3691
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS 1740/1740] mm/mem_reliable.c:401:5: sparse: sparse: symbol 'reliable_pagecache_max_bytes_write' was not declared. Should it be static?
by kernel test robot 05 Sep '25
by kernel test robot 05 Sep '25
05 Sep '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 1668dbce6652e9dda648454d3f23d43f913bc9b4
commit: 6943b93b464351cbc35aa002e86bac48e08b1c3f [1740/1740] mm: add support for limiting the usage of reliable memory in pagecache
config: arm64-randconfig-r121-20250729 (https://download.01.org/0day-ci/archive/20250905/202509051719.RKG4X8Zq-lkp@…)
compiler: aarch64-linux-gcc (GCC) 15.1.0
reproduce: (https://download.01.org/0day-ci/archive/20250905/202509051719.RKG4X8Zq-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509051719.RKG4X8Zq-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
mm/mem_reliable.c:39:1: sparse: sparse: symbol 'pagecache_reliable_pages' was not declared. Should it be static?
mm/mem_reliable.c:67:14: sparse: sparse: restricted gfp_t degrades to integer
mm/mem_reliable.c:250:5: sparse: sparse: symbol 'reliable_limit_handler' was not declared. Should it be static?
mm/mem_reliable.c:323:5: sparse: sparse: symbol 'reliable_debug_handler' was not declared. Should it be static?
mm/mem_reliable.c:356:5: sparse: sparse: symbol 'reliable_reserve_size_handler' was not declared. Should it be static?
>> mm/mem_reliable.c:401:5: sparse: sparse: symbol 'reliable_pagecache_max_bytes_write' was not declared. Should it be static?
>> mm/mem_reliable.c:487:14: sparse: sparse: invalid assignment: |=
mm/mem_reliable.c:487:14: sparse: left side has type restricted gfp_t
mm/mem_reliable.c:487:14: sparse: right side has type unsigned int
mm/mem_reliable.c:491:14: sparse: sparse: invalid assignment: &=
mm/mem_reliable.c:491:14: sparse: left side has type restricted gfp_t
mm/mem_reliable.c:491:14: sparse: right side has type unsigned int
mm/mem_reliable.c:250:5: warning: no previous prototype for 'reliable_limit_handler' [-Wmissing-prototypes]
250 | int reliable_limit_handler(struct ctl_table *table, int write,
| ^~~~~~~~~~~~~~~~~~~~~~
mm/mem_reliable.c:323:5: warning: no previous prototype for 'reliable_debug_handler' [-Wmissing-prototypes]
323 | int reliable_debug_handler(struct ctl_table *table, int write,
| ^~~~~~~~~~~~~~~~~~~~~~
mm/mem_reliable.c:356:5: warning: no previous prototype for 'reliable_reserve_size_handler' [-Wmissing-prototypes]
356 | int reliable_reserve_size_handler(struct ctl_table *table, int write,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/mem_reliable.c:401:5: warning: no previous prototype for 'reliable_pagecache_max_bytes_write' [-Wmissing-prototypes]
401 | int reliable_pagecache_max_bytes_write(struct ctl_table *table, int write,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/reliable_pagecache_max_bytes_write +401 mm/mem_reliable.c
400
> 401 int reliable_pagecache_max_bytes_write(struct ctl_table *table, int write,
402 void __user *buffer, size_t *length, loff_t *ppos)
403 {
404 unsigned long old_value = reliable_pagecache_max_bytes;
405 int ret;
406
407 ret = proc_doulongvec_minmax(table, write, buffer, length, ppos);
408 if (!ret && write) {
409 if (reliable_pagecache_max_bytes > total_reliable_mem_sz()) {
410 reliable_pagecache_max_bytes = old_value;
411 return -EINVAL;
412 }
413 }
414
415 return ret;
416 }
417
418 static struct ctl_table reliable_ctl_table[] = {
419 {
420 .procname = "task_reliable_limit",
421 .data = &task_reliable_limit,
422 .maxlen = sizeof(task_reliable_limit),
423 .mode = 0644,
424 .proc_handler = reliable_limit_handler,
425 },
426 {
427 .procname = "reliable_debug",
428 .data = &mem_reliable_ctrl_bits,
429 .maxlen = sizeof(mem_reliable_ctrl_bits),
430 .mode = 0600,
431 .proc_handler = reliable_debug_handler,
432 },
433 {
434 .procname = "reliable_reserve_size",
435 .data = &sysctl_reliable_reserve_size,
436 .maxlen = sizeof(sysctl_reliable_reserve_size),
437 .mode = 0644,
438 .proc_handler = reliable_reserve_size_handler,
439 },
440 #ifdef CONFIG_SHMEM
441 {
442 .procname = "shmem_reliable_bytes_limit",
443 .data = &sysctl_shmem_reliable_bytes_limit,
444 .maxlen = sizeof(sysctl_shmem_reliable_bytes_limit),
445 .mode = 0644,
446 .proc_handler = reliable_shmem_bytes_limit_handler,
447 },
448 #endif
449 {
450 .procname = "reliable_pagecache_max_bytes",
451 .data = &reliable_pagecache_max_bytes,
452 .maxlen = sizeof(reliable_pagecache_max_bytes),
453 .mode = 0644,
454 .proc_handler = reliable_pagecache_max_bytes_write,
455 .extra1 = &zero,
456 },
457 {}
458 };
459
460 static struct ctl_table reliable_dir_table[] = {
461 {
462 .procname = "vm",
463 .maxlen = 0,
464 .mode = 0555,
465 .child = reliable_ctl_table,
466 },
467 {}
468 };
469
470 void page_cache_prepare_alloc(gfp_t *gfp)
471 {
472 long nr_reliable = 0;
473 int cpu;
474
475 if (!mem_reliable_is_enabled())
476 return;
477
478 for_each_possible_cpu(cpu)
479 nr_reliable += this_cpu_read(pagecache_reliable_pages);
480
481 if (nr_reliable < 0)
482 goto no_reliable;
483
484 if (nr_reliable > reliable_pagecache_max_bytes >> PAGE_SHIFT)
485 goto no_reliable;
486
> 487 *gfp |= ___GFP_RELIABILITY;
488 return;
489
490 no_reliable:
491 *gfp &= ~___GFP_RELIABILITY;
492 }
493
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0