All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Javed Hasan <jhasan@marvell.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Himanshu Madhani <himanshu.madhani@oracle.com>
Subject: drivers/scsi/libfc/fc_encode.h:357:30: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 62 and 126
Date: Sun, 16 Mar 2025 11:15:33 +0800	[thread overview]
Message-ID: <202503161152.kWMMG1BA-lkp@intel.com> (raw)

Hi Javed,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   eb88e6bfbc0a975e08a18c39d1138d3e6cdc00a5
commit: 49d3e5996155a3067782748b0c4edf0309e951b6 scsi: fc: FDMI enhancement
date:   3 years, 9 months ago
config: csky-buildonly-randconfig-r001-20230204 (https://download.01.org/0day-ci/archive/20250316/202503161152.kWMMG1BA-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 12.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250316/202503161152.kWMMG1BA-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503161152.kWMMG1BA-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/scsi/libfc/fc_elsct.c:18:
   drivers/scsi/libfc/fc_encode.h: In function 'fc_ct_ns_fill':
   drivers/scsi/libfc/fc_encode.h:153:17: warning: 'strncpy' output may be truncated copying between 0 and 255 bytes from a string of length 255 [-Wstringop-truncation]
     153 |                 strncpy(ct->payload.snn.fr_name,
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     154 |                         fc_host_symbolic_name(lport->host), len);
         |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/scsi/libfc/fc_encode.h:143:17: warning: 'strncpy' output may be truncated copying between 0 and 255 bytes from a string of length 255 [-Wstringop-truncation]
     143 |                 strncpy(ct->payload.spn.fr_name,
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     144 |                         fc_host_symbolic_name(lport->host), len);
         |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/scsi/libfc/fc_encode.h: In function 'fc_ct_ms_fill.constprop':
>> drivers/scsi/libfc/fc_encode.h:357:30: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 62 and 126 [-Wformat-truncation=]
     357 |                         "%s v%s",
         |                              ^~
     358 |                         init_utsname()->sysname,
     359 |                         init_utsname()->release);
         |                         ~~~~~~~~~~~~~~~~~~~~~~~
   drivers/scsi/libfc/fc_encode.h:355:17: note: 'snprintf' output between 3 and 131 bytes into a destination of size 128
     355 |                 snprintf((char *)&entry->value,
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     356 |                         FC_FDMI_HBA_ATTR_OSNAMEVERSION_LEN,
         |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     357 |                         "%s v%s",
         |                         ~~~~~~~~~
     358 |                         init_utsname()->sysname,
         |                         ~~~~~~~~~~~~~~~~~~~~~~~~
     359 |                         init_utsname()->release);
         |                         ~~~~~~~~~~~~~~~~~~~~~~~~

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for LOCKDEP
   Depends on [n]: DEBUG_KERNEL [=y] && LOCK_DEBUGGING_SUPPORT [=y] && (FRAME_POINTER [=n] || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
   Selected by [y]:
   - LOCK_STAT [=y] && DEBUG_KERNEL [=y] && LOCK_DEBUGGING_SUPPORT [=y]
   - DEBUG_LOCK_ALLOC [=y] && DEBUG_KERNEL [=y] && LOCK_DEBUGGING_SUPPORT [=y]


vim +357 drivers/scsi/libfc/fc_encode.h

8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  175  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  176  /**
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  177   * fc_ct_ms_fill() - Fill in a mgmt service request frame
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  178   * @lport: local port.
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  179   * @fc_id: FC_ID of non-destination rport for GPN_ID and similar inquiries.
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  180   * @fp: frame to contain payload.
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  181   * @op: CT opcode.
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  182   * @r_ctl: pointer to FC header R_CTL.
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  183   * @fh_type: pointer to FC-4 type.
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  184   */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  185  static inline int fc_ct_ms_fill(struct fc_lport *lport,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  186  		      u32 fc_id, struct fc_frame *fp,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  187  		      unsigned int op, enum fc_rctl *r_ctl,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  188  		      enum fc_fh_type *fh_type)
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  189  {
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  190  	struct fc_ct_req *ct;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  191  	size_t len;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  192  	struct fc_fdmi_attr_entry *entry;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  193  	struct fs_fdmi_attrs *hba_attrs;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  194  	int numattrs = 0;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  195  	struct fc_host_attrs *fc_host = shost_to_fc_host(lport->host);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  196  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  197  	switch (op) {
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  198  	case FC_FDMI_RHBA:
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  199  		numattrs = 11;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  200  		len = sizeof(struct fc_fdmi_rhba);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  201  		len -= sizeof(struct fc_fdmi_attr_entry);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  202  		len += (numattrs * FC_FDMI_ATTR_ENTRY_HEADER_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  203  		len += FC_FDMI_HBA_ATTR_NODENAME_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  204  		len += FC_FDMI_HBA_ATTR_MANUFACTURER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  205  		len += FC_FDMI_HBA_ATTR_SERIALNUMBER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  206  		len += FC_FDMI_HBA_ATTR_MODEL_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  207  		len += FC_FDMI_HBA_ATTR_MODELDESCR_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  208  		len += FC_FDMI_HBA_ATTR_HARDWAREVERSION_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  209  		len += FC_FDMI_HBA_ATTR_DRIVERVERSION_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  210  		len += FC_FDMI_HBA_ATTR_OPTIONROMVERSION_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  211  		len += FC_FDMI_HBA_ATTR_FIRMWAREVERSION_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  212  		len += FC_FDMI_HBA_ATTR_OSNAMEVERSION_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  213  		len += FC_FDMI_HBA_ATTR_MAXCTPAYLOAD_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  214  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  215  		if (fc_host->fdmi_version == FDMI_V2) {
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  216  			numattrs += 7;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  217  			len += FC_FDMI_HBA_ATTR_NODESYMBLNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  218  			len += FC_FDMI_HBA_ATTR_VENDORSPECIFICINFO_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  219  			len += FC_FDMI_HBA_ATTR_NUMBEROFPORTS_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  220  			len += FC_FDMI_HBA_ATTR_FABRICNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  221  			len += FC_FDMI_HBA_ATTR_BIOSVERSION_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  222  			len += FC_FDMI_HBA_ATTR_BIOSSTATE_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  223  			len += FC_FDMI_HBA_ATTR_VENDORIDENTIFIER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  224  		}
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  225  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  226  		ct = fc_ct_hdr_fill(fp, op, len, FC_FST_MGMT,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  227  				FC_FDMI_SUBTYPE);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  228  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  229  		/* HBA Identifier */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  230  		put_unaligned_be64(lport->wwpn, &ct->payload.rhba.hbaid.id);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  231  		/* Number of Ports - always 1 */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  232  		put_unaligned_be32(1, &ct->payload.rhba.port.numport);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  233  		/* Port Name */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  234  		put_unaligned_be64(lport->wwpn,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  235  				   &ct->payload.rhba.port.port[0].portname);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  236  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  237  		/* HBA Attributes */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  238  		put_unaligned_be32(numattrs,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  239  				   &ct->payload.rhba.hba_attrs.numattrs);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  240  		hba_attrs = &ct->payload.rhba.hba_attrs;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  241  		entry = (struct fc_fdmi_attr_entry *)hba_attrs->attr;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  242  		/* NodeName*/
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  243  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  244  		len += FC_FDMI_HBA_ATTR_NODENAME_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  245  		put_unaligned_be16(FC_FDMI_HBA_ATTR_NODENAME,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  246  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  247  		put_unaligned_be16(len, &entry->len);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  248  		put_unaligned_be64(lport->wwnn,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  249  				   (__be64 *)&entry->value[0]);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  250  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  251  		/* Manufacturer */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  252  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  253  					FC_FDMI_HBA_ATTR_NODENAME_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  254  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  255  		len += FC_FDMI_HBA_ATTR_MANUFACTURER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  256  		put_unaligned_be16(FC_FDMI_HBA_ATTR_MANUFACTURER,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  257  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  258  		put_unaligned_be16(len, &entry->len);
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  259  		fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  260  			fc_host_manufacturer(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  261  			FC_FDMI_HBA_ATTR_MANUFACTURER_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  262  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  263  		/* SerialNumber */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  264  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  265  					FC_FDMI_HBA_ATTR_MANUFACTURER_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  266  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  267  		len += FC_FDMI_HBA_ATTR_SERIALNUMBER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  268  		put_unaligned_be16(FC_FDMI_HBA_ATTR_SERIALNUMBER,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  269  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  270  		put_unaligned_be16(len, &entry->len);
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  271  		fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  272  			fc_host_serial_number(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  273  			FC_FDMI_HBA_ATTR_SERIALNUMBER_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  274  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  275  		/* Model */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  276  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  277  					FC_FDMI_HBA_ATTR_SERIALNUMBER_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  278  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  279  		len += FC_FDMI_HBA_ATTR_MODEL_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  280  		put_unaligned_be16(FC_FDMI_HBA_ATTR_MODEL,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  281  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  282  		put_unaligned_be16(len, &entry->len);
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  283  		fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  284  			fc_host_model(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  285  			FC_FDMI_HBA_ATTR_MODEL_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  286  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  287  		/* Model Description */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  288  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  289  					FC_FDMI_HBA_ATTR_MODEL_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  290  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  291  		len += FC_FDMI_HBA_ATTR_MODELDESCR_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  292  		put_unaligned_be16(FC_FDMI_HBA_ATTR_MODELDESCRIPTION,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  293  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  294  		put_unaligned_be16(len, &entry->len);
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  295  		fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  296  			fc_host_model_description(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  297  			FC_FDMI_HBA_ATTR_MODELDESCR_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  298  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  299  		/* Hardware Version */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  300  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  301  					FC_FDMI_HBA_ATTR_MODELDESCR_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  302  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  303  		len += FC_FDMI_HBA_ATTR_HARDWAREVERSION_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  304  		put_unaligned_be16(FC_FDMI_HBA_ATTR_HARDWAREVERSION,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  305  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  306  		put_unaligned_be16(len, &entry->len);
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  307  		fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  308  			fc_host_hardware_version(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  309  			FC_FDMI_HBA_ATTR_HARDWAREVERSION_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  310  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  311  		/* Driver Version */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  312  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  313  					FC_FDMI_HBA_ATTR_HARDWAREVERSION_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  314  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  315  		len += FC_FDMI_HBA_ATTR_DRIVERVERSION_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  316  		put_unaligned_be16(FC_FDMI_HBA_ATTR_DRIVERVERSION,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  317  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  318  		put_unaligned_be16(len, &entry->len);
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  319  		fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  320  			fc_host_driver_version(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  321  			FC_FDMI_HBA_ATTR_DRIVERVERSION_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  322  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  323  		/* OptionROM Version */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  324  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  325  					FC_FDMI_HBA_ATTR_DRIVERVERSION_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  326  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  327  		len += FC_FDMI_HBA_ATTR_OPTIONROMVERSION_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  328  		put_unaligned_be16(FC_FDMI_HBA_ATTR_OPTIONROMVERSION,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  329  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  330  		put_unaligned_be16(len, &entry->len);
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  331  		fc_ct_ms_fill_attr(entry,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  332  			"unknown",
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  333  			FC_FDMI_HBA_ATTR_OPTIONROMVERSION_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  334  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  335  		/* Firmware Version */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  336  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  337  					FC_FDMI_HBA_ATTR_OPTIONROMVERSION_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  338  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  339  		len += FC_FDMI_HBA_ATTR_FIRMWAREVERSION_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  340  		put_unaligned_be16(FC_FDMI_HBA_ATTR_FIRMWAREVERSION,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  341  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  342  		put_unaligned_be16(len, &entry->len);
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  343  		fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  344  			fc_host_firmware_version(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  345  			FC_FDMI_HBA_ATTR_FIRMWAREVERSION_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  346  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  347  		/* OS Name and Version */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  348  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  349  					FC_FDMI_HBA_ATTR_FIRMWAREVERSION_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  350  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  351  		len += FC_FDMI_HBA_ATTR_OSNAMEVERSION_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  352  		put_unaligned_be16(FC_FDMI_HBA_ATTR_OSNAMEVERSION,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  353  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  354  		put_unaligned_be16(len, &entry->len);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  355  		snprintf((char *)&entry->value,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  356  			FC_FDMI_HBA_ATTR_OSNAMEVERSION_LEN,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22 @357  			"%s v%s",
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  358  			init_utsname()->sysname,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  359  			init_utsname()->release);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  360  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  361  		/* Max CT payload */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  362  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  363  					FC_FDMI_HBA_ATTR_OSNAMEVERSION_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  364  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  365  		len += FC_FDMI_HBA_ATTR_MAXCTPAYLOAD_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  366  		put_unaligned_be16(FC_FDMI_HBA_ATTR_MAXCTPAYLOAD,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  367  				&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  368  		put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  369  		put_unaligned_be32(fc_host_max_ct_payload(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  370  				&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  371  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  372  		if (fc_host->fdmi_version == FDMI_V2) {
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  373  			/* Node symbolic name */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  374  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  375  					FC_FDMI_HBA_ATTR_MAXCTPAYLOAD_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  376  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  377  			len += FC_FDMI_HBA_ATTR_NODESYMBLNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  378  			put_unaligned_be16(FC_FDMI_HBA_ATTR_NODESYMBLNAME,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  379  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  380  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  381  			fc_ct_ms_fill_attr(entry,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  382  					fc_host_symbolic_name(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  383  					FC_FDMI_HBA_ATTR_NODESYMBLNAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  384  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  385  			/* Vendor specific info */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  386  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  387  					FC_FDMI_HBA_ATTR_NODESYMBLNAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  388  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  389  			len += FC_FDMI_HBA_ATTR_VENDORSPECIFICINFO_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  390  			put_unaligned_be16(FC_FDMI_HBA_ATTR_VENDORSPECIFICINFO,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  391  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  392  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  393  			put_unaligned_be32(0,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  394  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  395  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  396  			/* Number of ports */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  397  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  398  					FC_FDMI_HBA_ATTR_VENDORSPECIFICINFO_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  399  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  400  			len += FC_FDMI_HBA_ATTR_NUMBEROFPORTS_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  401  			put_unaligned_be16(FC_FDMI_HBA_ATTR_NUMBEROFPORTS,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  402  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  403  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  404  			put_unaligned_be32(fc_host_num_ports(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  405  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  406  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  407  			/* Fabric name */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  408  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  409  					FC_FDMI_HBA_ATTR_NUMBEROFPORTS_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  410  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  411  			len += FC_FDMI_HBA_ATTR_FABRICNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  412  			put_unaligned_be16(FC_FDMI_HBA_ATTR_FABRICNAME,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  413  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  414  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  415  			put_unaligned_be64(fc_host_fabric_name(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  416  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  417  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  418  			/* BIOS version */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  419  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  420  					FC_FDMI_HBA_ATTR_FABRICNAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  421  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  422  			len += FC_FDMI_HBA_ATTR_BIOSVERSION_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  423  			put_unaligned_be16(FC_FDMI_HBA_ATTR_BIOSVERSION,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  424  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  425  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  426  			fc_ct_ms_fill_attr(entry,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  427  					fc_host_bootbios_version(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  428  					FC_FDMI_HBA_ATTR_BIOSVERSION_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  429  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  430  			/* BIOS state */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  431  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  432  					FC_FDMI_HBA_ATTR_BIOSVERSION_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  433  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  434  			len += FC_FDMI_HBA_ATTR_BIOSSTATE_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  435  			put_unaligned_be16(FC_FDMI_HBA_ATTR_BIOSSTATE,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  436  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  437  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  438  			put_unaligned_be32(fc_host_bootbios_state(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  439  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  440  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  441  			/* Vendor identifier  */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  442  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  443  					FC_FDMI_HBA_ATTR_BIOSSTATE_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  444  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  445  			len += FC_FDMI_HBA_ATTR_VENDORIDENTIFIER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  446  			put_unaligned_be16(FC_FDMI_HBA_ATTR_VENDORIDENTIFIER,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  447  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  448  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  449  			fc_ct_ms_fill_attr(entry,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  450  					fc_host_vendor_identifier(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  451  					FC_FDMI_HBA_ATTR_VENDORIDENTIFIER_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  452  		}
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  453  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  454  		break;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  455  	case FC_FDMI_RPA:
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  456  		numattrs = 6;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  457  		len = sizeof(struct fc_fdmi_rpa);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  458  		len -= sizeof(struct fc_fdmi_attr_entry);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  459  		len += (numattrs * FC_FDMI_ATTR_ENTRY_HEADER_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  460  		len += FC_FDMI_PORT_ATTR_FC4TYPES_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  461  		len += FC_FDMI_PORT_ATTR_SUPPORTEDSPEED_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  462  		len += FC_FDMI_PORT_ATTR_CURRENTPORTSPEED_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  463  		len += FC_FDMI_PORT_ATTR_MAXFRAMESIZE_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  464  		len += FC_FDMI_PORT_ATTR_OSDEVICENAME_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  465  		len += FC_FDMI_PORT_ATTR_HOSTNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  466  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  467  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  468  		if (fc_host->fdmi_version == FDMI_V2) {
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  469  			numattrs += 10;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  470  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  471  			len += FC_FDMI_PORT_ATTR_NODENAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  472  			len += FC_FDMI_PORT_ATTR_PORTNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  473  			len += FC_FDMI_PORT_ATTR_SYMBOLICNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  474  			len += FC_FDMI_PORT_ATTR_PORTTYPE_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  475  			len += FC_FDMI_PORT_ATTR_SUPPORTEDCLASSSRVC_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  476  			len += FC_FDMI_PORT_ATTR_FABRICNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  477  			len += FC_FDMI_PORT_ATTR_CURRENTFC4TYPE_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  478  			len += FC_FDMI_PORT_ATTR_PORTSTATE_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  479  			len += FC_FDMI_PORT_ATTR_DISCOVEREDPORTS_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  480  			len += FC_FDMI_PORT_ATTR_PORTID_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  481  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  482  		}
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  483  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  484  		ct = fc_ct_hdr_fill(fp, op, len, FC_FST_MGMT,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  485  				    FC_FDMI_SUBTYPE);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  486  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  487  		/* Port Name */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  488  		put_unaligned_be64(lport->wwpn,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  489  				   &ct->payload.rpa.port.portname);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  490  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  491  		/* Port Attributes */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  492  		put_unaligned_be32(numattrs,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  493  				   &ct->payload.rpa.hba_attrs.numattrs);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  494  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  495  		hba_attrs = &ct->payload.rpa.hba_attrs;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  496  		entry = (struct fc_fdmi_attr_entry *)hba_attrs->attr;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  497  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  498  		/* FC4 types */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  499  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  500  		len += FC_FDMI_PORT_ATTR_FC4TYPES_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  501  		put_unaligned_be16(FC_FDMI_PORT_ATTR_FC4TYPES,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  502  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  503  		put_unaligned_be16(len, &entry->len);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  504  		memcpy(&entry->value, fc_host_supported_fc4s(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  505  		       FC_FDMI_PORT_ATTR_FC4TYPES_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  506  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  507  		/* Supported Speed */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  508  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  509  					FC_FDMI_PORT_ATTR_FC4TYPES_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  510  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  511  		len += FC_FDMI_PORT_ATTR_SUPPORTEDSPEED_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  512  		put_unaligned_be16(FC_FDMI_PORT_ATTR_SUPPORTEDSPEED,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  513  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  514  		put_unaligned_be16(len, &entry->len);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  515  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  516  		put_unaligned_be32(fc_host_supported_speeds(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  517  				   &entry->value);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  518  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  519  		/* Current Port Speed */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  520  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  521  					FC_FDMI_PORT_ATTR_SUPPORTEDSPEED_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  522  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  523  		len += FC_FDMI_PORT_ATTR_CURRENTPORTSPEED_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  524  		put_unaligned_be16(FC_FDMI_PORT_ATTR_CURRENTPORTSPEED,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  525  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  526  		put_unaligned_be16(len, &entry->len);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  527  		put_unaligned_be32(lport->link_speed,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  528  				   &entry->value);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  529  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  530  		/* Max Frame Size */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  531  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  532  					FC_FDMI_PORT_ATTR_CURRENTPORTSPEED_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  533  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  534  		len += FC_FDMI_PORT_ATTR_MAXFRAMESIZE_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  535  		put_unaligned_be16(FC_FDMI_PORT_ATTR_MAXFRAMESIZE,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  536  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  537  		put_unaligned_be16(len, &entry->len);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  538  		put_unaligned_be32(fc_host_maxframe_size(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  539  				   &entry->value);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  540  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  541  		/* OS Device Name */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  542  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  543  					FC_FDMI_PORT_ATTR_MAXFRAMESIZE_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  544  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  545  		len += FC_FDMI_PORT_ATTR_OSDEVICENAME_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  546  		put_unaligned_be16(FC_FDMI_PORT_ATTR_OSDEVICENAME,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  547  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  548  		put_unaligned_be16(len, &entry->len);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  549  		/* Use the sysfs device name */
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  550  		fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  551  			dev_name(&lport->host->shost_gendev),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  552  			strnlen(dev_name(&lport->host->shost_gendev),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  553  				FC_FDMI_PORT_ATTR_HOSTNAME_LEN));
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  554  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  555  		/* Host Name */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  556  		entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  557  					FC_FDMI_PORT_ATTR_OSDEVICENAME_LEN);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  558  		len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  559  		len += FC_FDMI_PORT_ATTR_HOSTNAME_LEN;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  560  		put_unaligned_be16(FC_FDMI_PORT_ATTR_HOSTNAME,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  561  				   &entry->type);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  562  		put_unaligned_be16(len, &entry->len);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  563  		if (strlen(fc_host_system_hostname(lport->host)))
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  564  			fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  565  				fc_host_system_hostname(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  566  				strnlen(fc_host_system_hostname(lport->host),
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  567  					FC_FDMI_PORT_ATTR_HOSTNAME_LEN));
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  568  		else
8fd9efca86d083b drivers/scsi/libfc/fc_encode.h Arnd Bergmann 2020-10-26  569  			fc_ct_ms_fill_attr(entry,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  570  				init_utsname()->nodename,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  571  				FC_FDMI_PORT_ATTR_HOSTNAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  572  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  573  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  574  		if (fc_host->fdmi_version == FDMI_V2) {
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  575  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  576  			/* Node name */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  577  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  578  					FC_FDMI_PORT_ATTR_HOSTNAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  579  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  580  			len += FC_FDMI_PORT_ATTR_NODENAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  581  			put_unaligned_be16(FC_FDMI_PORT_ATTR_NODENAME,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  582  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  583  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  584  			put_unaligned_be64(fc_host_node_name(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  585  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  586  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  587  			/* Port name  */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  588  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  589  					FC_FDMI_PORT_ATTR_NODENAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  590  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  591  			len += FC_FDMI_PORT_ATTR_PORTNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  592  			put_unaligned_be16(FC_FDMI_PORT_ATTR_PORTNAME,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  593  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  594  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  595  			put_unaligned_be64(lport->wwpn,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  596  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  597  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  598  			/* Port symbolic name */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  599  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  600  					FC_FDMI_PORT_ATTR_PORTNAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  601  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  602  			len += FC_FDMI_PORT_ATTR_SYMBOLICNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  603  			put_unaligned_be16(FC_FDMI_PORT_ATTR_SYMBOLICNAME,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  604  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  605  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  606  			fc_ct_ms_fill_attr(entry,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  607  					fc_host_symbolic_name(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  608  					FC_FDMI_PORT_ATTR_SYMBOLICNAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  609  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  610  			/* Port type */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  611  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  612  					FC_FDMI_PORT_ATTR_SYMBOLICNAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  613  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  614  			len += FC_FDMI_PORT_ATTR_PORTTYPE_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  615  			put_unaligned_be16(FC_FDMI_PORT_ATTR_PORTTYPE,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  616  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  617  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  618  			put_unaligned_be32(fc_host_port_type(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  619  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  620  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  621  			/* Supported class of service */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  622  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  623  					FC_FDMI_PORT_ATTR_PORTTYPE_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  624  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  625  			len += FC_FDMI_PORT_ATTR_SUPPORTEDCLASSSRVC_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  626  			put_unaligned_be16(FC_FDMI_PORT_ATTR_SUPPORTEDCLASSSRVC,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  627  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  628  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  629  			put_unaligned_be32(fc_host_supported_classes(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  630  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  631  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  632  			/* Port Fabric name */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  633  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  634  					FC_FDMI_PORT_ATTR_SUPPORTEDCLASSSRVC_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  635  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  636  			len += FC_FDMI_PORT_ATTR_FABRICNAME_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  637  			put_unaligned_be16(FC_FDMI_PORT_ATTR_FABRICNAME,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  638  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  639  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  640  			put_unaligned_be64(fc_host_fabric_name(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  641  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  642  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  643  			/* Port active FC-4 */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  644  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  645  					FC_FDMI_PORT_ATTR_FABRICNAME_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  646  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  647  			len += FC_FDMI_PORT_ATTR_CURRENTFC4TYPE_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  648  			put_unaligned_be16(FC_FDMI_PORT_ATTR_CURRENTFC4TYPE,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  649  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  650  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  651  			memcpy(&entry->value, fc_host_active_fc4s(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  652  					FC_FDMI_PORT_ATTR_CURRENTFC4TYPE_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  653  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  654  			/* Port state */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  655  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  656  					FC_FDMI_PORT_ATTR_CURRENTFC4TYPE_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  657  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  658  			len += FC_FDMI_PORT_ATTR_PORTSTATE_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  659  			put_unaligned_be16(FC_FDMI_PORT_ATTR_PORTSTATE,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  660  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  661  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  662  			put_unaligned_be32(fc_host_port_state(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  663  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  664  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  665  			/* Discovered ports */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  666  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  667  					FC_FDMI_PORT_ATTR_PORTSTATE_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  668  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  669  			len += FC_FDMI_PORT_ATTR_DISCOVEREDPORTS_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  670  			put_unaligned_be16(FC_FDMI_PORT_ATTR_DISCOVEREDPORTS,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  671  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  672  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  673  			put_unaligned_be32(fc_host_num_discovered_ports(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  674  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  675  
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  676  			/* Port ID */
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  677  			entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  678  					FC_FDMI_PORT_ATTR_DISCOVEREDPORTS_LEN);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  679  			len = FC_FDMI_ATTR_ENTRY_HEADER_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  680  			len += FC_FDMI_PORT_ATTR_PORTID_LEN;
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  681  			put_unaligned_be16(FC_FDMI_PORT_ATTR_PORTID,
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  682  					&entry->type);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  683  			put_unaligned_be16(len, &entry->len);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  684  			put_unaligned_be32(fc_host_port_id(lport->host),
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  685  					&entry->value);
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  686  		}
82897fefab6811d drivers/scsi/libfc/fc_encode.h Javed Hasan   2021-06-03  687  
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  688  		break;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  689  	case FC_FDMI_DPRT:
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  690  		len = sizeof(struct fc_fdmi_dprt);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  691  		ct = fc_ct_hdr_fill(fp, op, len, FC_FST_MGMT,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  692  				    FC_FDMI_SUBTYPE);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  693  		/* Port Name */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  694  		put_unaligned_be64(lport->wwpn,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  695  				   &ct->payload.dprt.port.portname);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  696  		break;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  697  	case FC_FDMI_DHBA:
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  698  		len = sizeof(struct fc_fdmi_dhba);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  699  		ct = fc_ct_hdr_fill(fp, op, len, FC_FST_MGMT,
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  700  				    FC_FDMI_SUBTYPE);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  701  		/* HBA Identifier */
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  702  		put_unaligned_be64(lport->wwpn, &ct->payload.dhba.hbaid.id);
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  703  		break;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  704  	default:
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  705  		return -EINVAL;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  706  	}
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  707  	*r_ctl = FC_RCTL_DD_UNSOL_CTL;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  708  	*fh_type = FC_TYPE_CT;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  709  	return 0;
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  710  }
d78c317f6cd701b include/scsi/fc_encode.h       Neerav Parikh 2012-01-22  711  

:::::: The code at line 357 was first introduced by commit
:::::: d78c317f6cd701bda9f6dbfbfbcba72f39dd6ad7 [SCSI] libfc: Add support for FDMI

:::::: TO: Neerav Parikh <neerav.parikh@intel.com>
:::::: CC: James Bottomley <JBottomley@Parallels.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2025-03-16  3:16 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-16  3:15 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-05  9:58 drivers/scsi/libfc/fc_encode.h:357:30: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 62 and 126 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202503161152.kWMMG1BA-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=himanshu.madhani@oracle.com \
    --cc=jhasan@marvell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.