Re: [PATCH v28 11/12] LRNG - add interface for gathering of raw entropy

From: Stephan Mueller
Date: Thu Jan 16 2020 - 01:44:52 EST


Am Donnerstag, 16. Januar 2020, 01:18:18 CET schrieb Randy Dunlap:

Hi Randy,

> On 1/15/20 2:35 AM, Stephan Müller wrote:
> > CC: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
> > CC: "Alexander E. Patrakov" <patrakov@xxxxxxxxx>
> > CC: "Ahmed S. Darwish" <darwish.07@xxxxxxxxx>
> > CC: "Theodore Y. Ts'o" <tytso@xxxxxxx>
> > CC: Willy Tarreau <w@xxxxxx>
> > CC: Matthew Garrett <mjg59@xxxxxxxxxxxxx>
> > CC: Vito Caputo <vcaputo@xxxxxxxxxxx>
> > CC: Andreas Dilger <adilger.kernel@xxxxxxxxx>
> > CC: Jan Kara <jack@xxxxxxx>
> > CC: Ray Strode <rstrode@xxxxxxxxxx>
> > CC: William Jon McCann <mccann@xxxxxxx>
> > CC: zhangjs <zachary@xxxxxxxxxxxxxxxx>
> > CC: Andy Lutomirski <luto@xxxxxxxxxx>
> > CC: Florian Weimer <fweimer@xxxxxxxxxx>
> > CC: Lennart Poettering <mzxreary@xxxxxxxxxxx>
> > CC: Nicolai Stange <nstange@xxxxxxx>
> > Reviewed-by: Roman Drahtmueller <draht@xxxxxxxxxxxxxx>
> > Tested-by: Roman Drahtmüller <draht@xxxxxxxxxxxxxx>
> > Tested-by: Marcelo Henrique Cerri <marcelo.cerri@xxxxxxxxxxxxx>
> > Tested-by: Neil Horman <nhorman@xxxxxxxxxx>
> > Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx>
> > ---
> >
> > drivers/char/lrng/Kconfig | 16 ++
> > drivers/char/lrng/Makefile | 1 +
> > drivers/char/lrng/lrng_testing.c | 271 +++++++++++++++++++++++++++++++
> > 3 files changed, 288 insertions(+)
> > create mode 100644 drivers/char/lrng/lrng_testing.c
> >
> > diff --git a/drivers/char/lrng/lrng_testing.c
> > b/drivers/char/lrng/lrng_testing.c new file mode 100644
> > index 000000000000..0e287eccd622
> > --- /dev/null
> > +++ b/drivers/char/lrng/lrng_testing.c
> > @@ -0,0 +1,271 @@
> > +// SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
> > +/*
> > + * Linux Random Number Generator (LRNG) Raw entropy collection tool
> > + *
> > + * Copyright (C) 2019 - 2020, Stephan Mueller <smueller@xxxxxxxxxx>
> > + */
> > +
> > +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
> > +
> > +#include <linux/atomic.h>
> > +#include <linux/bug.h>
> > +#include <linux/debugfs.h>
> > +#include <linux/module.h>
> > +#include <linux/sched.h>
> > +#include <linux/sched/signal.h>
> > +#include <linux/slab.h>
> > +#include <linux/string.h>
> > +#include <linux/types.h>
> > +#include <linux/uaccess.h>
> > +#include <linux/workqueue.h>
> > +#include <asm/errno.h>
> > +
> > +#include "lrng_internal.h"
> > +
> > +#define LRNG_TESTING_RINGBUFFER_SIZE 1024
> > +#define LRNG_TESTING_RINGBUFFER_MASK (LRNG_TESTING_RINGBUFFER_SIZE - 1)
> > +
> > +static u32 lrng_testing_rb[LRNG_TESTING_RINGBUFFER_SIZE];
> > +static u32 lrng_rb_reader = 0;
> > +static u32 lrng_rb_writer = 0;
> > +static atomic_t lrng_testing_enabled = ATOMIC_INIT(0);
> > +
> > +static DECLARE_WAIT_QUEUE_HEAD(lrng_raw_read_wait);
> > +static DEFINE_SPINLOCK(lrng_raw_lock);
> > +
> > +/*
> > + * 0 ==> No boot test, gathering of runtime data allowed
> > + * 1 ==> Boot test enabled and ready for collecting data, gathering
> > runtime + * data is disabled
> > + * 2 ==> Boot test completed and disabled, gathering of runtime data is
> > + * disabled
> > + */
> > +static u32 boot_test = 0;
> > +module_param(boot_test, uint, 0644);
> > +MODULE_PARM_DESC(boot_test, "Enable gathering boot time entropy of the
> > first" + " entropy events");
>
> One line for the string, please.

may I ask the question whether this should be done for all lines with printk
statements? As checkpatch.pl will complain if you have lines larger than 80
chars and complains about line-broken printk statements, I am always unsure
which way to go.

All printk statements in the patch series have line-broken printk statements.

Ciao
Stephan