> > 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

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.


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

Attachment: signature.asc
Description: PGP signature

Kernelnewbies mailing list

Reply via email to