The target lun sysfs entry contains the contents of an 8 byte LUN id
formatted as hex. Because a field width is not specified for each byte,
the resulting string is variable length and impossible for userspace to
unambiguously parse. Fix this by using a field width of 2 for each byte
so that the string can be parsed correctly.

Signed-off-by: Ross Lagerwall <ross.lagerw...@citrix.com>
---
 drivers/firmware/iscsi_ibft.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/iscsi_ibft.c b/drivers/firmware/iscsi_ibft.c
index ab3aa3983833..5900edcb6334 100644
--- a/drivers/firmware/iscsi_ibft.c
+++ b/drivers/firmware/iscsi_ibft.c
@@ -371,7 +371,7 @@ static ssize_t ibft_attr_show_target(void *data, int type, 
char *buf)
                break;
        case ISCSI_BOOT_TGT_LUN:
                for (i = 0; i < 8; i++)
-                       str += sprintf(str, "%x", (u8)tgt->lun[i]);
+                       str += sprintf(str, "%02x", (u8)tgt->lun[i]);
                str += sprintf(str, "\n");
                break;
        case ISCSI_BOOT_TGT_NIC_ASSOC:
-- 
2.17.2

Reply via email to