Message ID | 20220125232525.GA80228@embeddedor (mailing list archive) |
---|---|
State | Mainlined |
Commit | ee8ed0141d532d662407f70d65111a42fe2addae |
Delegated to: | Gustavo A. R. Silva |
Headers | show |
Series | [next] comedi: das16: Use struct_size() helper in comedi_alloc_spriv() | expand |
On 25/01/2022 23:25, Gustavo A. R. Silva wrote: > Make use of the struct_size() helper instead of an open-coded version, > in order to avoid any potential type mistakes or integer overflows that, > in the worst scenario, could lead to heap overflows. > > Also, address the following sparse warnings: > drivers/comedi/drivers/das16.c:964:45: warning: using sizeof on a flexible structure > drivers/comedi/drivers/das16.c:998:45: warning: using sizeof on a flexible structure > > Link: https://github.com/KSPP/linux/issues/174 > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> > --- > drivers/comedi/drivers/das16.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/comedi/drivers/das16.c b/drivers/comedi/drivers/das16.c > index 937a69ce0977..728dc02156c8 100644 > --- a/drivers/comedi/drivers/das16.c > +++ b/drivers/comedi/drivers/das16.c > @@ -961,7 +961,7 @@ static const struct comedi_lrange *das16_ai_range(struct comedi_device *dev, > > /* allocate single-range range table */ > lrange = comedi_alloc_spriv(s, > - sizeof(*lrange) + sizeof(*krange)); > + struct_size(lrange, range, 1)); > if (!lrange) > return &range_unknown; > > @@ -995,7 +995,7 @@ static const struct comedi_lrange *das16_ao_range(struct comedi_device *dev, > > /* allocate single-range range table */ > lrange = comedi_alloc_spriv(s, > - sizeof(*lrange) + sizeof(*krange)); > + struct_size(lrange, range, 1)); > if (!lrange) > return &range_unknown; > Looks like a nice tidy-up, thanks! Reviewed-by: Ian Abbott <abbotti@mev.co.uk> (Note, I do not have anywhere to commit it, personally.)
diff --git a/drivers/comedi/drivers/das16.c b/drivers/comedi/drivers/das16.c index 937a69ce0977..728dc02156c8 100644 --- a/drivers/comedi/drivers/das16.c +++ b/drivers/comedi/drivers/das16.c @@ -961,7 +961,7 @@ static const struct comedi_lrange *das16_ai_range(struct comedi_device *dev, /* allocate single-range range table */ lrange = comedi_alloc_spriv(s, - sizeof(*lrange) + sizeof(*krange)); + struct_size(lrange, range, 1)); if (!lrange) return &range_unknown; @@ -995,7 +995,7 @@ static const struct comedi_lrange *das16_ao_range(struct comedi_device *dev, /* allocate single-range range table */ lrange = comedi_alloc_spriv(s, - sizeof(*lrange) + sizeof(*krange)); + struct_size(lrange, range, 1)); if (!lrange) return &range_unknown;
Make use of the struct_size() helper instead of an open-coded version, in order to avoid any potential type mistakes or integer overflows that, in the worst scenario, could lead to heap overflows. Also, address the following sparse warnings: drivers/comedi/drivers/das16.c:964:45: warning: using sizeof on a flexible structure drivers/comedi/drivers/das16.c:998:45: warning: using sizeof on a flexible structure Link: https://github.com/KSPP/linux/issues/174 Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> --- drivers/comedi/drivers/das16.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)