Re: [PATCH v2] staging: pi433: add mutex fixing concurrency issues.

From: Hugo Lefeuvre
Date: Tue Jun 12 2018 - 21:15:46 EST


> > case PI433_IOC_WR_TX_CFG:
> > if (copy_from_user(&instance->tx_cfg, argp,
> > sizeof(struct pi433_tx_cfg)))
> > return -EFAULT;
> > break;
>
> Btw, it looks so wrong to me that we copy partial data to
> &instance->tx_cfg... I'd really prefer copying it to a tmp buffer and
> then verifying it's corrent then memcpy()ing it to &instance->tx_cfg.

AFAIK this piece of code is not supposed to check passed tx config.
These checks are realised later by rf69_set_tx_cfg (called by
pi433_tx_thread) after the config has been written to the fifo by
pi433_write.

What kind of checks do you want to perform exactly ?

But, right, I prefer the idea of the temporary buffer too, and seeing the
rest of kernel code it seems to be the usual way to go.

Regards,
Hugo

--
Hugo Lefeuvre (hle) | www.owl.eu.com
4096/ 9C4F C8BF A4B0 8FC5 48EB 56B8 1962 765B B9A8 BACA

Attachment: signature.asc
Description: PGP signature