scsi: target: consistently null-terminate t10_wwn strings
authorDavid Disseldorp <ddiss@suse.de>
Wed, 5 Dec 2018 12:18:35 +0000 (13:18 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 8 Dec 2018 02:54:33 +0000 (21:54 -0500)
commitb2da4abf26e859c6c17b49f6f728db0eaab9bc4a
treed0050f258c6d6b707be82218373d9d96f0d609d6
parent0de263577de5d5e052be5f4f93334e63cc8a7f0b
scsi: target: consistently null-terminate t10_wwn strings

In preparation for supporting user provided vendor strings, add an extra
byte to the vendor, model and revision arrays in struct t10_wwn. This
ensures that the full INQUIRY data can be carried in the arrays along with
a null-terminator.

Change a number of array readers and writers so that they account for
explicit null-termination:

- The pscsi_set_inquiry_info() and emulate_model_alias_store() codepaths
  don't currently explicitly null-terminate; fix this.

- Existing t10_wwn field dumps use for-loops which step over
  null-terminators for right-padding.
  + Use printf with width specifiers instead.

Signed-off-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_configfs.c
drivers/target/target_core_device.c
drivers/target/target_core_pscsi.c
drivers/target/target_core_spc.c
drivers/target/target_core_stat.c
include/target/target_core_base.h