lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202406112309.8GiDUvIM-lkp@intel.com>
Date: Wed, 12 Jun 2024 00:12:27 +0800
From: kernel test robot <lkp@...el.com>
To: Karan Tilak Kumar <kartilak@...co.com>, sebaddel@...co.com
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev, arulponn@...co.com,
	djhawar@...co.com, gcboffa@...co.com, mkai2@...co.com,
	satishkh@...co.com, jejb@...ux.ibm.com, martin.petersen@...cle.com,
	linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
	Karan Tilak Kumar <kartilak@...co.com>
Subject: Re: [PATCH 03/14] scsi: fnic: Add support for fabric based solicited
 requests and responses

Hi Karan,

kernel test robot noticed the following build warnings:

[auto build test WARNING on mkp-scsi/for-next]
[also build test WARNING on jejb-scsi/for-next linus/master v6.10-rc3 next-20240611]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Karan-Tilak-Kumar/scsi-fnic-Replace-shost_printk-with-pr_info-pr_err/20240611-060227
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
patch link:    https://lore.kernel.org/r/20240610215100.673158-4-kartilak%40cisco.com
patch subject: [PATCH 03/14] scsi: fnic: Add support for fabric based solicited requests and responses
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20240611/202406112309.8GiDUvIM-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240611/202406112309.8GiDUvIM-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406112309.8GiDUvIM-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/scsi/fnic/fdls_disc.c:894:10: warning: variable 'reason_code' set but not used [-Wunused-but-set-variable]
     894 |         uint8_t reason_code;
         |                 ^
>> drivers/scsi/fnic/fdls_disc.c:1009:26: warning: variable 'els_rjt' set but not used [-Wunused-but-set-variable]
    1009 |         struct fc_els_reject_s *els_rjt;
         |                                 ^
>> drivers/scsi/fnic/fdls_disc.c:1520:11: warning: variable 's_id' set but not used [-Wunused-but-set-variable]
    1520 |         uint32_t s_id = 0;
         |                  ^
>> drivers/scsi/fnic/fdls_disc.c:1521:11: warning: variable 'd_id' set but not used [-Wunused-but-set-variable]
    1521 |         uint32_t d_id = 0;
         |                  ^
   drivers/scsi/fnic/fdls_disc.c:627:13: warning: unused function 'fnic_fdls_start_flogi' [-Wunused-function]
     627 | static void fnic_fdls_start_flogi(struct fnic_iport_s *iport)
         |             ^~~~~~~~~~~~~~~~~~~~~
   5 warnings generated.


vim +/els_rjt +1009 drivers/scsi/fnic/fdls_disc.c

  1000	
  1001	static void
  1002	fdls_process_flogi_rsp(struct fnic_iport_s *iport, struct fc_hdr_s *fchdr,
  1003						   void *rx_frame)
  1004	{
  1005		struct fnic_fdls_fabric_s *fabric = &iport->fabric;
  1006		struct fc_els_s *flogi_rsp = (struct fc_els_s *) fchdr;
  1007		uint8_t *fcid;
  1008		int rdf_size;
> 1009		struct fc_els_reject_s *els_rjt;
  1010		uint8_t fcmac[6] = { 0x0E, 0XFC, 0x00, 0x00, 0x00, 0x00 };
  1011		struct fnic *fnic = iport->fnic;
  1012	
  1013		FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1014					 "0x%x: FDLS processing FLOGI response", iport->fcid);
  1015	
  1016		if (fdls_get_state(fabric) != FDLS_STATE_FABRIC_FLOGI) {
  1017			FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1018						 "FLOGI response received in state (%d). Dropping frame",
  1019						 fdls_get_state(fabric));
  1020			return;
  1021		}
  1022	
  1023		switch (flogi_rsp->command) {
  1024		case FC_LS_ACC:
  1025			if (iport->fabric.timer_pending) {
  1026				FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1027							 "iport fcid: 0x%x Canceling fabric disc timer\n",
  1028							 iport->fcid);
  1029				fnic_del_fabric_timer_sync();
  1030			}
  1031	
  1032			iport->fabric.timer_pending = 0;
  1033			iport->fabric.retry_counter = 0;
  1034			fcid = FNIC_GET_D_ID(fchdr);
  1035			iport->fcid = ntoh24(fcid);
  1036			FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1037						 "0x%x: FLOGI response accepted", iport->fcid);
  1038	
  1039			/* Learn the Service Params */
  1040			rdf_size = ntohs(flogi_rsp->u.csp_flogi.b2b_rdf_size);
  1041			if ((rdf_size >= FNIC_MIN_DATA_FIELD_SIZE)
  1042				&& (rdf_size < FNIC_FC_MAX_PAYLOAD_LEN))
  1043				iport->max_payload_size = MIN(rdf_size,
  1044									  iport->max_payload_size);
  1045	
  1046			FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1047						 "max_payload_size from fabric: %d set: %d", rdf_size,
  1048						 iport->max_payload_size);
  1049	
  1050			iport->r_a_tov = ntohl(flogi_rsp->u.csp_flogi.r_a_tov);
  1051			iport->e_d_tov = ntohl(flogi_rsp->u.csp_flogi.e_d_tov);
  1052	
  1053			if (flogi_rsp->u.csp_flogi.features & FNIC_FC_EDTOV_NSEC)
  1054				iport->e_d_tov = iport->e_d_tov / FNIC_NSEC_TO_MSEC;
  1055	
  1056			FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1057						 "From fabric: R_A_TOV: %d E_D_TOV: %d",
  1058						 iport->r_a_tov, iport->e_d_tov);
  1059	
  1060			if (IS_FNIC_FCP_INITIATOR(fnic)) {
  1061				fc_host_fabric_name(iport->fnic->lport->host) =
  1062					get_unaligned_be64(&flogi_rsp->node_name);
  1063				fc_host_port_id(iport->fnic->lport->host) = iport->fcid;
  1064			}
  1065	
  1066			fnic_fdls_learn_fcoe_macs(iport, rx_frame, fcid);
  1067	
  1068			memcpy(&fcmac[3], fcid, 3);
  1069			FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1070				 "Adding vNIC device MAC addr: %02x:%02x:%02x:%02x:%02x:%02x",
  1071				 fcmac[0], fcmac[1], fcmac[2], fcmac[3], fcmac[4],
  1072				 fcmac[5]);
  1073			vnic_dev_add_addr(iport->fnic->vdev, fcmac);
  1074	
  1075			if (fdls_get_state(fabric) == FDLS_STATE_FABRIC_FLOGI) {
  1076				fnic_fdls_start_plogi(iport);
  1077				FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1078							 "FLOGI response received. Starting PLOGI");
  1079			} else {
  1080				/* From FDLS_STATE_FABRIC_FLOGI state fabric can only go to
  1081				 * FDLS_STATE_LINKDOWN
  1082				 * state, hence we don't have to worry about undoing:
  1083				 * the fnic_fdls_register_portid and vnic_dev_add_addr
  1084				 */
  1085				FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1086					 "FLOGI response received in state (%d). Dropping frame",
  1087					 fdls_get_state(fabric));
  1088			}
  1089			break;
  1090	
  1091		case FC_LS_REJ:
  1092			els_rjt = (struct fc_els_reject_s *) fchdr;
  1093			if (fabric->retry_counter < iport->max_flogi_retries) {
  1094				FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1095					 "FLOGI returned FC_LS_REJ BUSY. Retry from timer routine %p",
  1096					 iport);
  1097	
  1098				/* Retry Flogi again from the timer routine. */
  1099				fabric->flags |= FNIC_FDLS_RETRY_FRAME;
  1100	
  1101			} else {
  1102				FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1103						 "FLOGI returned FC_LS_REJ. Halting discovery %p", iport);
  1104				if (iport->fabric.timer_pending) {
  1105					FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1106								 "iport 0x%p Canceling fabric disc timer\n",
  1107								 iport);
  1108					fnic_del_fabric_timer_sync();
  1109				}
  1110				fabric->timer_pending = 0;
  1111				fabric->retry_counter = 0;
  1112			}
  1113			break;
  1114	
  1115		default:
  1116			FNIC_FCS_DBG(KERN_INFO, fnic->lport->host, fnic->fnic_num,
  1117						 "FLOGI response not accepted: 0x%x",
  1118						 flogi_rsp->command);
  1119			break;
  1120		}
  1121	}
  1122	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ