Re: [PATCH v3 2/4] target: don't assume t10_wwn.vendor is null terminated

2018-11-20 Thread David Disseldorp
On Tue, 20 Nov 2018 08:49:24 -0800, Christoph Hellwig wrote:

> This could use a little more explanation, the code doesn't just
> add a little if but also changes the existing case.  Also where
> can't it be null currently?

I'll add an explanation in the next round. This patch shouldn't cause
any change in behaviour. The vendor string is currently always NULL
terminated, but won't be once patch 3/4 is applied, hence the need to
add the maximum string width specifier.

Thanks for the feedback.


Re: [PATCH v3 2/4] target: don't assume t10_wwn.vendor is null terminated

2018-11-20 Thread Christoph Hellwig
This could use a little more explanation, the code doesn't just
add a little if but also changes the existing case.  Also where
can't it be null currently?


[PATCH v3 2/4] target: don't assume t10_wwn.vendor is null terminated

2018-11-19 Thread David Disseldorp
Signed-off-by: David Disseldorp 
---
 drivers/target/target_core_stat.c | 11 +--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/target/target_core_stat.c 
b/drivers/target/target_core_stat.c
index f0db91ebd735..89f35167f036 100644
--- a/drivers/target/target_core_stat.c
+++ b/drivers/target/target_core_stat.c
@@ -804,10 +804,17 @@ static ssize_t target_stat_transport_dev_name_show(struct 
config_item *item,
if (dev) {
wwn = >t10_wwn;
/* scsiTransportDevName */
-   ret = snprintf(page, PAGE_SIZE, "%s+%s\n",
+   if (strlen(wwn->unit_serial)) {
+   ret = snprintf(page, PAGE_SIZE, "%s+%s\n",
+   tpg->se_tpg_tfo->tpg_get_wwn(tpg),
+   wwn->unit_serial);
+   } else {
+   ret = snprintf(page, PAGE_SIZE, "%s+%."
+   __stringify(INQUIRY_VENDOR_IDENTIFIER_LEN)
+   "s\n",
tpg->se_tpg_tfo->tpg_get_wwn(tpg),
-   (strlen(wwn->unit_serial)) ? wwn->unit_serial :
wwn->vendor);
+   }
}
rcu_read_unlock();
return ret;
-- 
2.13.7