2018-02-20 22:56:16

by Brian Belleville

[permalink] [raw]
Subject: [PATCH] floppy: Don't print kernel addresses to log in show_floppy

Outputting kernel addresses will reveal the locations of kernel code
and data. Change the cases in show_floppy that print
fd_timer.work.func and fd_timeout.work.func to use the %pf format
specifier, which will print the symbol name, like what is done for the
other function pointers printed by show_floppy. No longer output the
value of cont. The variable cont is a pointer that can hold the
address of kernel global variables.

Signed-off-by: Brian Belleville <[email protected]>
---
drivers/block/floppy.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index eae484a..e29d417 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -1819,15 +1819,14 @@ static void show_floppy(void)
if (work_pending(&floppy_work))
pr_info("floppy_work.func=%pf\n", floppy_work.func);
if (delayed_work_pending(&fd_timer))
- pr_info("delayed work.function=%p expires=%ld\n",
+ pr_info("delayed work.function=%pf expires=%ld\n",
fd_timer.work.func,
fd_timer.timer.expires - jiffies);
if (delayed_work_pending(&fd_timeout))
- pr_info("timer_function=%p expires=%ld\n",
+ pr_info("timer_function=%pf expires=%ld\n",
fd_timeout.work.func,
fd_timeout.timer.expires - jiffies);

- pr_info("cont=%p\n", cont);
pr_info("current_req=%p\n", current_req);
pr_info("command_status=%d\n", command_status);
pr_info("\n");
--
2.7.4



2018-02-21 14:59:30

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] floppy: Don't print kernel addresses to log in show_floppy

On Wed, Feb 21, 2018 at 12:54 AM, Brian Belleville <[email protected]> wrote:
> Outputting kernel addresses will reveal the locations of kernel code
> and data. Change the cases in show_floppy that print
> fd_timer.work.func and fd_timeout.work.func to use the %pf format
> specifier, which will print the symbol name, like what is done for the
> other function pointers printed by show_floppy. No longer output the
> value of cont. The variable cont is a pointer that can hold the
> address of kernel global variables.

Perhaps you missed %px introduction and hashing pointers otherwise.

OTOH I don't give a crap about floppy.

--
With Best Regards,
Andy Shevchenko