Re: [PATCH 5/5] staging: r8188eu: Use vsprintf extension %phCX to format a copy_to_user string
From: Joe Perches
Date: Fri Aug 27 2021 - 11:52:42 EST
On Fri, 2021-08-27 at 17:27 +0200, Greg Kroah-Hartman wrote:
> On Fri, Aug 27, 2021 at 08:23:31AM -0700, Joe Perches wrote:
> > On Fri, 2021-08-27 at 10:42 +0200, Greg Kroah-Hartman wrote:
> > > On Thu, Aug 26, 2021 at 11:43:05AM -0700, Joe Perches wrote:
> > > > This reduces object size without changing the string content.
> > > > diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging/r8188eu/os_dep/ioctl_linux.c
> > The copy_to_user bit (2nd diff block) is nominally an ABI and is upper case.
> > IMO at a minimum, it's bad form to change it.
> > @@ -3075,8 +3073,7 @@ static int rtw_p2p_get_go_device_address(struct net_device *dev,
> > if (!blnMatch)
> > sprintf(go_devadd_str, "\n\ndev_add = NULL");
> > else
> > - sprintf(go_devadd_str, "\ndev_add =%.2X:%.2X:%.2X:%.2X:%.2X:%.2X",
> > - attr_content, attr_content, attr_content, attr_content, attr_content, attr_content);
> > + sprintf(go_devadd_str, "\ndev_add =%6phCX", attr_content);
> > if (copy_to_user(wrqu->data.pointer, go_devadd_str, 10 + 17))
> > return -EFAULT;
> That looks like a horrible driver-specific api
Horrible could be used to describe most realtek code in the kernel.
> that no one will really
> be using and will be removed from the tree soon. So it can be changed,
> no need to worry about any "compatibility" issues here.
Fine with me too. I just did it for completeness.