timer_list: Guard procfs specific code [Linux 4.9.187]

This Linux kernel change "timer_list: Guard procfs specific code" is included in the Linux 4.9.187 release. This change is authored by Nathan Huckleberry <nhuck [at] google.com> on Fri Jun 14 11:16:04 2019 -0700. The commit for this change in Linux stable tree is 8cc6df3 (patch) which is from upstream commit a931477. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream a931477.

timer_list: Guard procfs specific code

[ Upstream commit a9314773a91a1d3b36270085246a6715a326ff00 ]

With CONFIG_PROC_FS=n the following warning is emitted:

kernel/time/timer_list.c:361:36: warning: unused variable
'timer_list_sops' [-Wunused-const-variable]
   static const struct seq_operations timer_list_sops = {

Add #ifdef guard around procfs specific code.

Signed-off-by: Nathan Huckleberry <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Reviewed-by: Nick Desaulniers <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Link: https://github.com/ClangBuiltLinux/linux/issues/534
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Sasha Levin <[email protected]>

There are 36 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 kernel/time/timer_list.c | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/kernel/time/timer_list.c b/kernel/time/timer_list.c
index 1407ed2..b7c5d23 100644
--- a/kernel/time/timer_list.c
+++ b/kernel/time/timer_list.c
@@ -299,23 +299,6 @@ static inline void timer_list_header(struct seq_file *m, u64 now)
    SEQ_printf(m, "\n");
 }

-static int timer_list_show(struct seq_file *m, void *v)
-{
-   struct timer_list_iter *iter = v;
-
-   if (iter->cpu == -1 && !iter->second_pass)
-       timer_list_header(m, iter->now);
-   else if (!iter->second_pass)
-       print_cpu(m, iter->cpu, iter->now);
-#ifdef CONFIG_GENERIC_CLOCKEVENTS
-   else if (iter->cpu == -1 && iter->second_pass)
-       timer_list_show_tickdevices_header(m);
-   else
-       print_tickdevice(m, tick_get_device(iter->cpu), iter->cpu);
-#endif
-   return 0;
-}
-
 void sysrq_timer_list_show(void)
 {
    u64 now = ktime_to_ns(ktime_get());
@@ -334,6 +317,24 @@ void sysrq_timer_list_show(void)
    return;
 }

+#ifdef CONFIG_PROC_FS
+static int timer_list_show(struct seq_file *m, void *v)
+{
+   struct timer_list_iter *iter = v;
+
+   if (iter->cpu == -1 && !iter->second_pass)
+       timer_list_header(m, iter->now);
+   else if (!iter->second_pass)
+       print_cpu(m, iter->cpu, iter->now);
+#ifdef CONFIG_GENERIC_CLOCKEVENTS
+   else if (iter->cpu == -1 && iter->second_pass)
+       timer_list_show_tickdevices_header(m);
+   else
+       print_tickdevice(m, tick_get_device(iter->cpu), iter->cpu);
+#endif
+   return 0;
+}
+
 static void *move_iter(struct timer_list_iter *iter, loff_t offset)
 {
    for (; offset; offset--) {
@@ -405,3 +406,4 @@ static int __init init_timer_list_procfs(void)
    return 0;
 }
 __initcall(init_timer_list_procfs);
+#endif

Leave a Reply

Your email address will not be published. Required fields are marked *