[scsi:misc 62/294] drivers/scsi/qla2xxx/qla_edif.c:713:45: warning: taking address of packed member 'u' of class or structure 'auth_complete_cmd' may result in an unaligned pointer value
From: kernel test robot <hidden>
Date: 2021-08-29 03:45:58
Also in:
linux-scsi, oe-kbuild-all
Hi Quinn, FYI, the error/warning still remains. tree: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git misc head: 9b5ac8ab4e8bf5636d1d425aee68ddf45af12057 commit: 8a4bb2c1dd623b5a71609de5b04ef3b5086b0a3e [62/294] scsi: qla2xxx: edif: Add authentication pass + fail bsgs config: i386-randconfig-a002-20210829 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 4e1a164d7bd53653f79decc121afe784d2fde0a7) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git/commit/?id=8a4bb2c1dd623b5a71609de5b04ef3b5086b0a3e git remote add scsi https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git git fetch --no-tags scsi misc git checkout 8a4bb2c1dd623b5a71609de5b04ef3b5086b0a3e # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All warnings (new ones prefixed by >>): clang-14: warning: optimization flag '-falign-jumps=0' is not supported [-Wignored-optimization-argument] In file included from drivers/scsi/qla2xxx/qla_edif.c:6: In file included from drivers/scsi/qla2xxx/qla_def.h:12: In file included from include/linux/module.h:14: In file included from include/linux/buildid.h:5: In file included from include/linux/mm_types.h:9: In file included from include/linux/spinlock.h:51: In file included from include/linux/preempt.h:78: In file included from arch/x86/include/asm/preempt.h:7: In file included from include/linux/thread_info.h:60: arch/x86/include/asm/thread_info.h:172:13: warning: calling '__builtin_frame_address' with a nonzero argument is unsafe [-Wframe-address] oldframe = __builtin_frame_address(1); ^~~~~~~~~~~~~~~~~~~~~~~~~~ arch/x86/include/asm/thread_info.h:174:11: warning: calling '__builtin_frame_address' with a nonzero argument is unsafe [-Wframe-address] frame = __builtin_frame_address(2); ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/qla2xxx/qla_edif.c:463:6: warning: no previous prototype for function 'qla2x00_release_all_sadb' [-Wmissing-prototypes] void qla2x00_release_all_sadb(struct scsi_qla_host *vha, struct fc_port *fcport) ^ drivers/scsi/qla2xxx/qla_edif.c:463:1: note: declare 'static' if the function is not intended to be used outside of this translation unit void qla2x00_release_all_sadb(struct scsi_qla_host *vha, struct fc_port *fcport) ^ static
quoted
drivers/scsi/qla2xxx/qla_edif.c:713:45: warning: taking address of packed member 'u' of class or structure 'auth_complete_cmd' may result in an unaligned pointer value [-Waddress-of-packed-member]
fcport = qla2x00_find_fcport_by_pid(vha, &appplogiok.u.d_id);
^~~~~~~~~~~~~~~~~
drivers/scsi/qla2xxx/qla_edif.c:822:45: warning: taking address of packed member 'u' of class or structure 'auth_complete_cmd' may result in an unaligned pointer value [-Waddress-of-packed-member]
fcport = qla2x00_find_fcport_by_pid(vha, &appplogifail.u.d_id);
^~~~~~~~~~~~~~~~~~~
drivers/scsi/qla2xxx/qla_edif.c:1306:44: warning: taking address of packed member 'port_id' of class or structure 'qla_sa_update_frame' may result in an unaligned pointer value [-Waddress-of-packed-member]
fcport = qla2x00_find_fcport_by_pid(vha, &sa_frame.port_id);
^~~~~~~~~~~~~~~~
6 warnings generated.
vim +713 drivers/scsi/qla2xxx/qla_edif.c
682
683 /**
684 * qla_edif_app_authok - authentication by app succeeded. Driver can proceed
685 * with prli
686 * @vha: host adapter pointer
687 * @bsg_job: user request
688 */
689 static int
690 qla_edif_app_authok(scsi_qla_host_t *vha, struct bsg_job *bsg_job)
691 {
692 int32_t rval = 0;
693 struct auth_complete_cmd appplogiok;
694 struct app_plogi_reply appplogireply = {0};
695 struct fc_bsg_reply *bsg_reply = bsg_job->reply;
696 fc_port_t *fcport = NULL;
697 port_id_t portid = {0};
698
699 sg_copy_to_buffer(bsg_job->request_payload.sg_list,
700 bsg_job->request_payload.sg_cnt, &appplogiok,
701 sizeof(struct auth_complete_cmd));
702
703 switch (appplogiok.type) {
704 case PL_TYPE_WWPN:
705 fcport = qla2x00_find_fcport_by_wwpn(vha,
706 appplogiok.u.wwpn, 0);
707 if (!fcport)
708 ql_dbg(ql_dbg_edif, vha, 0x911d,
709 "%s wwpn lookup failed: %8phC\n",
710 __func__, appplogiok.u.wwpn);
711 break;
712 case PL_TYPE_DID:
> 713 fcport = qla2x00_find_fcport_by_pid(vha, &appplogiok.u.d_id);
714 if (!fcport)
715 ql_dbg(ql_dbg_edif, vha, 0x911d,
716 "%s d_id lookup failed: %x\n", __func__,
717 portid.b24);
718 break;
719 default:
720 ql_dbg(ql_dbg_edif, vha, 0x911d,
721 "%s undefined type: %x\n", __func__,
722 appplogiok.type);
723 break;
724 }
725
726 if (!fcport) {
727 SET_DID_STATUS(bsg_reply->result, DID_ERROR);
728 goto errstate_exit;
729 }
730
731 /*
732 * if port is online then this is a REKEY operation
733 * Only do sa update checking
734 */
735 if (atomic_read(&fcport->state) == FCS_ONLINE) {
736 ql_dbg(ql_dbg_edif, vha, 0x911d,
737 "%s Skipping PRLI complete based on rekey\n", __func__);
738 appplogireply.prli_status = 1;
739 SET_DID_STATUS(bsg_reply->result, DID_OK);
740 qla_edif_app_chk_sa_update(vha, fcport, &appplogireply);
741 goto errstate_exit;
742 }
743
744 /* make sure in AUTH_PENDING or else reject */
745 if (fcport->disc_state != DSC_LOGIN_AUTH_PEND) {
746 ql_dbg(ql_dbg_edif, vha, 0x911e,
747 "%s wwpn %8phC is not in auth pending state (%x)\n",
748 __func__, fcport->port_name, fcport->disc_state);
749 SET_DID_STATUS(bsg_reply->result, DID_OK);
750 appplogireply.prli_status = 0;
751 goto errstate_exit;
752 }
753
754 SET_DID_STATUS(bsg_reply->result, DID_OK);
755 appplogireply.prli_status = 1;
756 if (!(fcport->edif.rx_sa_set && fcport->edif.tx_sa_set)) {
757 ql_dbg(ql_dbg_edif, vha, 0x911e,
758 "%s: wwpn %8phC Both SA indexes has not been SET TX %d, RX %d.\n",
759 __func__, fcport->port_name, fcport->edif.tx_sa_set,
760 fcport->edif.rx_sa_set);
761 SET_DID_STATUS(bsg_reply->result, DID_OK);
762 appplogireply.prli_status = 0;
763 goto errstate_exit;
764
765 } else {
766 ql_dbg(ql_dbg_edif, vha, 0x911e,
767 "%s wwpn %8phC Both SA(s) updated.\n", __func__,
768 fcport->port_name);
769 fcport->edif.rx_sa_set = fcport->edif.tx_sa_set = 0;
770 fcport->edif.rx_sa_pending = fcport->edif.tx_sa_pending = 0;
771 }
772
773 if (qla_ini_mode_enabled(vha)) {
774 ql_dbg(ql_dbg_edif, vha, 0x911e,
775 "%s AUTH complete - RESUME with prli for wwpn %8phC\n",
776 __func__, fcport->port_name);
777 qla_edif_reset_auth_wait(fcport, DSC_LOGIN_PEND, 1);
778 qla24xx_post_prli_work(vha, fcport);
779 }
780
781 errstate_exit:
782 bsg_job->reply_len = sizeof(struct fc_bsg_reply);
783 sg_copy_from_buffer(bsg_job->reply_payload.sg_list,
784 bsg_job->reply_payload.sg_cnt, &appplogireply,
785 sizeof(struct app_plogi_reply));
786
787 return rval;
788 }
789
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Attachments
- .config.gz [application/gzip] 43213 bytes