lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ba61fb6349e8ca708b92cd869ccf3d1b33d4f39c.camel@microchip.com>
Date:   Mon, 5 Sep 2022 03:43:59 +0000
From:   <Tharunkumar.Pasumarthi@...rochip.com>
To:     <andriy.shevchenko@...ux.intel.com>
CC:     <rafal@...ecki.pl>, <wsa@...nel.org>, <krzk@...nel.org>,
        <sven@...npeter.dev>, <robh@...nel.org>,
        <jarkko.nikula@...ux.intel.com>, <semen.protsenko@...aro.org>,
        <jsd@...ihalf.com>, <linux-kernel@...r.kernel.org>,
        <UNGLinuxDriver@...rochip.com>, <linux-i2c@...r.kernel.org>,
        <olof@...om.net>, <arnd@...db.de>
Subject: Re: [PATCH v2 i2c-master] i2c: microchip: pci1xxxx: Add driver for
 I2C host controller in multifunction endpoint of pci1xxxx switch

On Fri, 2022-09-02 at 17:08 +0300, Andy Shevchenko wrote:
> > > > +             if (buf)
> > > > +                     memcpy_toio((i2c->i2c_base + SMBUS_MST_BUF), buf,
> > > > transferlen);
> > > 
> > > Why do you need buf checks? Is your code can shoot itself in the foot?
> > 
> > Yes, buf will be passed as NULL in some cases. So, this check is required.
> 
> Can you show an excerpt of the caller which passes NULL?

During I2C read, for writing just the client address without passing any other
data, the buf pointer is set as NULL in pci1xxxx_i2c_buffer_write API in the
"pci1xxxx_i2c_read" function

> > > Each long sleep (20 ms is quite long) has to be explained. But this entire
> > > loop
> > > looks like a band-aid of lack of IRQ or so. Why do you need to poll?
> > 
> > This handling takes care of special case when system is put to suspend when
> > i2c
> > transfer is progress in driver. We will wait until transfer completes.
> 
> This should be at least a comment in the code.

Okay, I will add comment.
> > 

> > > You can't mix devm_ and non-devm_ in such manner. It's asking for troubles
> > > at
> > > ->remove() or unbind stages.
> > 
> > I am not getting this comment. Can you kindly explain more.
> > 
> > > > +             return ret;
> 
> Explanations [1] & [2]. Example how to workaround [3].
> 
> [1]: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1949091.html
> [2]: https://lore.kernel.org/all/YXktrG1LhK5tj2uF@smile.fi.intel.com/
> [3]: https://www.spinics.net/lists/kernel/msg4433985.html

Okay. I will update code as per this logic in the upcoming version of the patch.

> > > After fixing above, convert the error messages to use
> > > 
> > >         return dev_err_probe(...);
> > > 
> > > pattern.
> > 
> > Okay.
> 
> Will be result of above fix.

Okay

> > > 
> > > This will be gone.
> > 
> > I am not getting this comment also.
> 
> See above.

Okay




Thanks,
Tharun Kumar P

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ