Messages in this thread | | | Date | Sat, 14 Nov 2020 15:46:41 +0000 | From | Jonathan Cameron <> | Subject | Re: [PATCH v2 1/4] device: provide devm_krealloc_array() |
| |
On Mon, 2 Nov 2020 15:22:25 +0100 Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > When allocating an array of elements, users should check for > multiplication overflow or preferably use one of the provided helpers > like: devm_kmalloc_array(). > > This provides devm_krealloc_array() for users who want to reallocate > managed arrays. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+CC Greg KH.
As this is going into a very generic place I'd like a relevant ack. That file is a bit of a wild west for acks, but Greg seems most appropriate person.
So Greg, any comments on this one?
Thanks,
Jonathan
> --- > include/linux/device.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/include/linux/device.h b/include/linux/device.h > index 5ed101be7b2e..e77203faea55 100644 > --- a/include/linux/device.h > +++ b/include/linux/device.h > @@ -226,6 +226,17 @@ static inline void *devm_kmalloc_array(struct device *dev, > > return devm_kmalloc(dev, bytes, flags); > } > +static inline void * > +devm_krealloc_array(struct device *dev, void *ptr, size_t new_n, > + size_t new_size, gfp_t gfp) > +{ > + size_t bytes; > + > + if (unlikely(check_mul_overflow(new_n, new_size, &bytes))) > + return NULL; > + > + return devm_krealloc(dev, ptr, bytes, gfp); > +} > static inline void *devm_kcalloc(struct device *dev, > size_t n, size_t size, gfp_t flags) > {
| |