LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] scsi: libosd: Remove VLA usage
@ 2018-05-02 22:55 Kees Cook
  2018-05-13  9:04 ` Boaz Harrosh
  2018-05-15  2:33 ` Martin K. Petersen
  0 siblings, 2 replies; 3+ messages in thread
From: Kees Cook @ 2018-05-02 22:55 UTC (permalink / raw)
  To: Martin K. Petersen
  Cc: Boaz Harrosh, James E.J. Bottomley, linux-scsi, linux-kernel

On the quest to remove all VLAs from the kernel[1] this rearranges the
code to avoid a VLA warning under -Wvla (gcc doesn't recognize "const"
variables as not triggering VLA creation). Additionally cleans up variable
naming to avoid 80 character column limit.

[1] https://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com

Signed-off-by: Kees Cook <keescook@chromium.org>
---
 drivers/scsi/osd/osd_initiator.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/scsi/osd/osd_initiator.c b/drivers/scsi/osd/osd_initiator.c
index e18877177f1b..917a86a2ae8c 100644
--- a/drivers/scsi/osd/osd_initiator.c
+++ b/drivers/scsi/osd/osd_initiator.c
@@ -1842,14 +1842,14 @@ int osd_req_decode_sense_full(struct osd_request *or,
 		case osd_sense_response_integrity_check:
 		{
 			struct osd_sense_response_integrity_check_descriptor
-				*osricd = cur_descriptor;
-			const unsigned len =
-					  sizeof(osricd->integrity_check_value);
-			char key_dump[len*4 + 2]; /* 2nibbles+space+ASCII */
-
-			hex_dump_to_buffer(osricd->integrity_check_value, len,
-				       32, 1, key_dump, sizeof(key_dump), true);
-			OSD_SENSE_PRINT2("response_integrity [%s]\n", key_dump);
+				*d = cur_descriptor;
+			/* 2nibbles+space+ASCII */
+			char dump[sizeof(d->integrity_check_value) * 4 + 2];
+
+			hex_dump_to_buffer(d->integrity_check_value,
+					sizeof(d->integrity_check_value),
+					32, 1, dump, sizeof(dump), true);
+			OSD_SENSE_PRINT2("response_integrity [%s]\n", dump);
 		}
 		case osd_sense_attribute_identification:
 		{
-- 
2.17.0


-- 
Kees Cook
Pixel Security

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] scsi: libosd: Remove VLA usage
  2018-05-02 22:55 [PATCH] scsi: libosd: Remove VLA usage Kees Cook
@ 2018-05-13  9:04 ` Boaz Harrosh
  2018-05-15  2:33 ` Martin K. Petersen
  1 sibling, 0 replies; 3+ messages in thread
From: Boaz Harrosh @ 2018-05-13  9:04 UTC (permalink / raw)
  To: Kees Cook, Martin K. Petersen
  Cc: James E.J. Bottomley, linux-scsi, linux-kernel

On 03/05/18 01:55, Kees Cook wrote:
> On the quest to remove all VLAs from the kernel[1] this rearranges the
> code to avoid a VLA warning under -Wvla (gcc doesn't recognize "const"
> variables as not triggering VLA creation). Additionally cleans up variable
> naming to avoid 80 character column limit.
> 
> [1] https://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.com
> 

ACK-BY: Boaz Harrosh <ooo@electrozaur.com>

> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---
>  drivers/scsi/osd/osd_initiator.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/scsi/osd/osd_initiator.c b/drivers/scsi/osd/osd_initiator.c
> index e18877177f1b..917a86a2ae8c 100644
> --- a/drivers/scsi/osd/osd_initiator.c
> +++ b/drivers/scsi/osd/osd_initiator.c
> @@ -1842,14 +1842,14 @@ int osd_req_decode_sense_full(struct osd_request *or,
>  		case osd_sense_response_integrity_check:
>  		{
>  			struct osd_sense_response_integrity_check_descriptor
> -				*osricd = cur_descriptor;
> -			const unsigned len =
> -					  sizeof(osricd->integrity_check_value);
> -			char key_dump[len*4 + 2]; /* 2nibbles+space+ASCII */
> -
> -			hex_dump_to_buffer(osricd->integrity_check_value, len,
> -				       32, 1, key_dump, sizeof(key_dump), true);
> -			OSD_SENSE_PRINT2("response_integrity [%s]\n", key_dump);
> +				*d = cur_descriptor;
> +			/* 2nibbles+space+ASCII */
> +			char dump[sizeof(d->integrity_check_value) * 4 + 2];
> +
> +			hex_dump_to_buffer(d->integrity_check_value,
> +					sizeof(d->integrity_check_value),
> +					32, 1, dump, sizeof(dump), true);
> +			OSD_SENSE_PRINT2("response_integrity [%s]\n", dump);
>  		}
>  		case osd_sense_attribute_identification:
>  		{
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] scsi: libosd: Remove VLA usage
  2018-05-02 22:55 [PATCH] scsi: libosd: Remove VLA usage Kees Cook
  2018-05-13  9:04 ` Boaz Harrosh
@ 2018-05-15  2:33 ` Martin K. Petersen
  1 sibling, 0 replies; 3+ messages in thread
From: Martin K. Petersen @ 2018-05-15  2:33 UTC (permalink / raw)
  To: Kees Cook
  Cc: Martin K. Petersen, Boaz Harrosh, James E.J. Bottomley,
	linux-scsi, linux-kernel


Kees,

> On the quest to remove all VLAs from the kernel[1] this rearranges the
> code to avoid a VLA warning under -Wvla (gcc doesn't recognize "const"
> variables as not triggering VLA creation). Additionally cleans up variable
> naming to avoid 80 character column limit.

Applied to 4.18/scsi-queue. Thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-05-15  2:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-02 22:55 [PATCH] scsi: libosd: Remove VLA usage Kees Cook
2018-05-13  9:04 ` Boaz Harrosh
2018-05-15  2:33 ` Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).