Re: [char-misc-next 1/2] mei: add check for offline bit in every register access

From: Greg Kroah-Hartman
Date: Sat Oct 21 2023 - 17:05:48 EST


On Wed, Oct 18, 2023 at 01:10:23PM +0300, Tomas Winkler wrote:
> From: Vitaly Lubart <vitaly.lubart@xxxxxxxxx>
>
> Added check for offline in every register access function.
> When offline bit is set the driver should not access any mei hw.
>
> Signed-off-by: Vitaly Lubart <vitaly.lubart@xxxxxxxxx>
> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx>
> ---
> drivers/misc/mei/hw-me.c | 154 +++++++++++++++++++++++++++++++++++++--
> 1 file changed, 146 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/misc/mei/hw-me.c b/drivers/misc/mei/hw-me.c
> index d11a0740b47c96c33591e69a..565da19bb980c845bc2cf3ed 100644
> --- a/drivers/misc/mei/hw-me.c
> +++ b/drivers/misc/mei/hw-me.c
> @@ -58,6 +58,9 @@ static inline void mei_me_reg_write(const struct mei_me_hw *hw,
> */
> static inline u32 mei_me_mecbrw_read(const struct mei_device *dev)
> {
> + if (dev->dev->offline)
> + return 0;
> +

What prevents this bit from being set right after you check for it?
Same for all of the checks in this patch, this feels like you are trying
to paper over a removal without proper locking and error handling.

thanks,

greg k-h