[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YXktrG1LhK5tj2uF@smile.fi.intel.com>
Date: Wed, 27 Oct 2021 13:45:00 +0300
From: Andy Shevchenko <andriy.shevchenko@...el.com>
To: Chen Yu <yu.c.chen@...el.com>
Cc: linux-acpi@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Ard Biesheuvel <ardb@...nel.org>, Len Brown <lenb@...nel.org>,
Ashok Raj <ashok.raj@...el.com>,
Mike Rapoport <rppt@...nel.org>,
Aubrey Li <aubrey.li@...el.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 3/4] drivers/acpi: Introduce Platform Firmware Runtime
Update Telemetry
On Wed, Oct 27, 2021 at 03:08:05PM +0800, Chen Yu wrote:
> Platform Firmware Runtime Update(PFRU) Telemetry Service is part of RoT
> (Root of Trust), which allows PFRU handler and other PFRU drivers to
> produce telemetry data to upper layer OS consumer at runtime.
>
> The linux provides interfaces for the user to query the parameters of
Linux kernel
> telemetry data, and the user could read out the telemetry data
> accordingly.
>
> The corresponding userspace tool and man page will be introduced at
> tools/power/acpi/pfru.
...
> +#include <linux/acpi.h>
> +#include <linux/device.h>
> +#include <linux/err.h>
> +#include <linux/errno.h>
> +#include <linux/file.h>
> +#include <linux/fs.h>
> +#include <linux/miscdevice.h>
> +#include <linux/module.h>
> +#include <linux/mm.h>
> +#include <linux/platform_device.h>
> +#include <linux/string.h>
> +#include <linux/uaccess.h>
> +#include <linux/uio.h>
> +#include <linux/uuid.h>
+ blank line?
> +#include <uapi/linux/pfru.h>
...
> +static DEFINE_IDA(pfru_log_ida);
Do you need any mutex against operations on IDA? (I don't remember
if it incorporates any synchronization primitives).
...
Looking into the code I have feelings of déjà-vu. Has it really had
nothing in common with the previous patch?
...
> +static int valid_log_level(int level)
> +{
> + return level == LOG_ERR || level == LOG_WARN ||
> + level == LOG_INFO || level == LOG_VERB;
Indentation.
> +}
...
This ordering in ->probe() is not okay:
devm_*()
non-devm_*()
devm_*()
non-devm_*()
One mustn't interleave these. The allowed are:
Case 1:
non-devm_*()
Case 2:
devm_*()
Case 3:
devm_*()
non-devm_*()
Otherwise in ->remove() you have wrong release ordering which may hide
subtle bugs.
Above comment is applicable to the other patch as well as some comments
from there are applicable here.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists