Message ID | 20240619-garmin_gps_counted_by-v2-2-f82f10ebbf28@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | df8c0b8a03e871431587a13a6765cb4c601e1573 |
Headers | show |
Series | USB: serial: garmin_gps: annotate struct garmin_packet with __counted_by | expand |
On 19/06/24 21:42, Javier Carrasco wrote: > Use the struct_size macro to calculate the size of the pkt, which > includes a trailing flexible array. > > Suggested-by: Nathan Chancellor <nathan@kernel.org> > Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Thanks -- Gustavo > --- > drivers/usb/serial/garmin_gps.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c > index 57df6ad183ff..6d6ec7eed87c 100644 > --- a/drivers/usb/serial/garmin_gps.c > +++ b/drivers/usb/serial/garmin_gps.c > @@ -267,8 +267,7 @@ static int pkt_add(struct garmin_data *garmin_data_p, > > /* process only packets containing data ... */ > if (data_length) { > - pkt = kmalloc(sizeof(struct garmin_packet)+data_length, > - GFP_ATOMIC); > + pkt = kmalloc(struct_size(pkt, data, data_length), GFP_ATOMIC); > if (!pkt) > return 0; > >
On Wed, Jun 19, 2024 at 09:42:45PM +0200, Javier Carrasco wrote: > Use the struct_size macro to calculate the size of the pkt, which > includes a trailing flexible array. > > Suggested-by: Nathan Chancellor <nathan@kernel.org> > Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> Reviewed-by: Kees Cook <kees@kernel.org>
diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c index 57df6ad183ff..6d6ec7eed87c 100644 --- a/drivers/usb/serial/garmin_gps.c +++ b/drivers/usb/serial/garmin_gps.c @@ -267,8 +267,7 @@ static int pkt_add(struct garmin_data *garmin_data_p, /* process only packets containing data ... */ if (data_length) { - pkt = kmalloc(sizeof(struct garmin_packet)+data_length, - GFP_ATOMIC); + pkt = kmalloc(struct_size(pkt, data, data_length), GFP_ATOMIC); if (!pkt) return 0;
Use the struct_size macro to calculate the size of the pkt, which includes a trailing flexible array. Suggested-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> --- drivers/usb/serial/garmin_gps.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)