lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Tue, 30 Jun 2020 10:48:21 -0700
From:   Guenter Roeck <>
To:     Ingo Molnar <>
Cc:     Peter Zijlstra <>,
        Juri Lelli <>,
        Vincent Guittot <>,, Guenter Roeck <>
Subject: [PATCH v2] sched: Declare sched_rt_bandwidth_account() in include file

gcc reports:

kernel/sched/rt.c:626:6: warning:
		no previous prototype for ‘sched_rt_bandwidth_account’

Let's declare it, and remove the declaration from the source file
where it is called.

Fixes: faa5993736d9 ("sched/deadline: Prevent rt_time growth to infinity")
Signed-off-by: Guenter Roeck <>
v2: sched_rt_bandwidth_account() is declared and used unconditionally.

 kernel/sched/deadline.c | 2 --
 kernel/sched/sched.h    | 4 +++-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index f63f337c7147..68587e72182d 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -1131,8 +1131,6 @@ int dl_runtime_exceeded(struct sched_dl_entity *dl_se)
 	return (dl_se->runtime <= 0);
-extern bool sched_rt_bandwidth_account(struct rt_rq *rt_rq);
  * This function implements the GRUB accounting rule:
  * according to the GRUB reclaiming algorithm, the runtime is
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 877fb08eb1b0..82d4754a0e0e 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -317,6 +317,8 @@ bool __dl_overflow(struct dl_bw *dl_b, int cpus, u64 old_bw, u64 new_bw)
 	       dl_b->bw * cpus < dl_b->total_bw - old_bw + new_bw;
+struct rt_rq;
 extern void init_dl_bw(struct dl_bw *dl_b);
 extern int  sched_dl_global_validate(void);
 extern void sched_dl_do_global(void);
@@ -328,6 +330,7 @@ extern bool dl_param_changed(struct task_struct *p, const struct sched_attr *att
 extern int  dl_task_can_attach(struct task_struct *p, const struct cpumask *cs_cpus_allowed);
 extern int  dl_cpuset_cpumask_can_shrink(const struct cpumask *cur, const struct cpumask *trial);
 extern bool dl_cpu_busy(unsigned int cpu);
+extern bool sched_rt_bandwidth_account(struct rt_rq *rt_rq);
@@ -335,7 +338,6 @@ extern bool dl_cpu_busy(unsigned int cpu);
 #include <linux/psi.h>
 struct cfs_rq;
-struct rt_rq;
 extern struct list_head task_groups;

Powered by blists - more mailing lists