Re: [PATCH 02/04] s390: bus_id -> dev_set_name() changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 02, 2008 at 04:07:42PM -0700, Greg KH wrote:
> On Thu, Jul 03, 2008 at 02:14:01AM +0400, Anton Vorontsov wrote:
> > On Wed, Jul 02, 2008 at 08:48:11AM -0700, Greg KH wrote:
> > > From: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
> > > 
> > > Convert most s390 users setting bus_id to dev_set_name().
> > > css and ccw busses are deferred since they need some special
> > > treatment.
> > > 
> > > Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
> > > Cc: Kay Sievers <kay.sievers@xxxxxxxx>
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
> > > 
> > > ---
> > >  drivers/s390/block/dcssblk.c |    2 +-
> > >  drivers/s390/char/vmlogrdr.c |    3 +--
> > >  drivers/s390/cio/ccwgroup.c  |    3 +--
> > >  drivers/s390/cio/chp.c       |    3 +--
> > >  drivers/s390/cio/css.c       |    4 ++--
> > >  drivers/s390/crypto/ap_bus.c |    4 ++--
> > >  drivers/s390/net/netiucv.c   |    2 +-
> > >  drivers/s390/s390_rdev.c     |    2 +-
> > >  drivers/s390/scsi/zfcp_aux.c |   23 ++++++++---------------
> > >  9 files changed, 18 insertions(+), 28 deletions(-)
> > > 
> > > --- a/drivers/s390/block/dcssblk.c
> > > +++ b/drivers/s390/block/dcssblk.c
> > > @@ -349,7 +349,7 @@ dcssblk_add_store(struct device *dev, st
> > >  	}
> > >  
> > >  	strcpy(dev_info->segment_name, local_buf);
> > > -	strlcpy(dev_info->dev.bus_id, local_buf, BUS_ID_SIZE);
> > > +	dev_set_name(&dev_info->dev, local_buf);
> > 
> > As I see it, dev_set_name accepts printf like string, so this
> > dev_set_name is quite dangerous (since local_buf is formed
> > by the module param), no?
> 
> So you would rather see:
> 	dev_set_name(&dev_info->dev, "%s", local_buf);
> 
> instead?

Yep.

There is another occurrence of "feels dangerous" construction in this
patch, namely

> --- a/drivers/s390/char/vmlogrdr.c
> +++ b/drivers/s390/char/vmlogrdr.c
> @@ -738,8 +738,7 @@ static int vmlogrdr_register_device(stru
> 
> 	dev = kzalloc(sizeof(struct device), GFP_KERNEL);
> 	if (dev) {
> -		snprintf(dev->bus_id, BUS_ID_SIZE, "%s",
> -			 priv->internal_name);
> +		dev_set_name(dev, priv->internal_name);

But in fact here it is safe, since the driver defines internal_name
to be either "logrec", "account" or "symptom". No % symbols.

-- 
Anton Vorontsov
email: cbouatmailru@xxxxxxxxx
irc://irc.freenode.net/bd2
--
To unsubscribe from this list: send the line "unsubscribe linux-s390" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux