Re: [PATCH -v2 2/2] printk: Add kernel parameter to control writes to /dev/kmsg

From: Borislav Petkov
Date: Fri Jul 01 2016 - 05:17:23 EST


On Fri, Jul 01, 2016 at 11:04:13AM +0200, Ingo Molnar wrote:

...

> So the most robust way to define such bitfields is via a pattern like this:
>
> enum devkmsg_log_bits {
> __DEVKMSG_LOG_BIT_ON,
> __DEVKMSG_LOG_BIT_OFF,
> __DEVKMSG_LOG_BIT_LOCK,
> };
>
> enum devkmsg_log_masks {
> DEVKMSG_LOG_MASK_ON = BIT(__DEVKMSG_LOG_BIT_ON),
> DEVKMSG_LOG_MASK_OFF = BIT(__DEVKMSG_LOG_BIT_OFF),
> DEVKMSG_LOG_MASK_LOCK = BIT(__DEVKMSG_LOG_BIT_LOCK),

Agreed with so far, I'd only drop the "_MASK" thing and make it even
easier on the eyes:

enum devkmsg_log_state {
DEVKMSG_LOG_ON = BIT(__DEVKMSG_LOG_BIT_ON),
DEVKMSG_LOG_OFF = BIT(__DEVKMSG_LOG_BIT_OFF),
DEVKMSG_LOCK = BIT(__DEVKMSG_LOG_BIT_LOCK),
};

Now this makes the checking code even more readable!

if (devkmsg_log & DEVKMSG_LOCK) {

and

if (devkmsg_log & DEVKMSG_LOG_OFF)

and

if ((system_state != SYSTEM_BOOTING) && (!(devkmsg_log & DEVKMSG_LOG_ON)) {


And this way you can read it straight-away as english text.

:-)))

Thanks.

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.