Re: [PATCH net-next] ethtool: copy reglen to userspace

From: Michal Kubecek
Date: Thu May 30 2019 - 02:52:24 EST


On Wed, May 29, 2019 at 10:17:44PM -0700, David Miller wrote:
> From: Vivien Didelot <vivien.didelot@xxxxxxxxx>
> Date: Tue, 28 May 2019 16:58:48 -0400
>
> > ethtool_get_regs() allocates a buffer of size reglen obtained from
> > ops->get_regs_len(), thus only this value must be used when copying
> > the buffer back to userspace. Also no need to check regbuf twice.
> >
> > Signed-off-by: Vivien Didelot <vivien.didelot@xxxxxxxxx>
>
> Hmmm, can't regs.len be modified by the driver potentially?

The driver certainly shouldn't raise it as that could result in kernel
writing past the buffer provided by userspace. (I'll check some drivers
to see if they truncate the dump or return an error if regs.len from
userspace is insufficient.) And lowering it would be also wrong as that
would mean dump would be shorter than what ops->get_regs_len() returned.

Michal Kubecek