On Fri, Sep 09, 2022 at 06:38:33AM +0000, Winkler, Tomas wrote:
> > 
> > On Thu, Sep 08, 2022 at 05:16:02PM -0700, Daniele Ceraolo Spurio wrote:
> > > +static ssize_t mei_pxp_gsc_command(struct device *dev, u8 client_id,
> > u32 fence_id,
> > > +                            struct scatterlist *sg_in, size_t 
> > > total_in_len,
> > > +                            struct scatterlist *sg_out)
> > > +{
> > > + struct mei_cl_device *cldev;
> > > +
> > > + if (!dev || !sg_in || !sg_out)
> > > +         return -EINVAL;
> > 
> > How can these ever be NULL?  Doesn't the core control this, so why would
> > that happen?
> This is any interface function between modules, I think it is not healthy to 
> take assumptions here about how caller
> behaves, this is not an inner functions. This is important even for catching 
> programmatical mistakes. 

It is a static function being called from a framework.  Enforce this in
the framework, don't sprinkle this stuff everywhere, the kernel is NOT
defensive about internal users like this otherwise it will overwhelm
every function call.

thanks,

greg k-h

Reply via email to