From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8029FC4167B for ; Fri, 8 Dec 2023 15:41:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1574403AbjLHPk7 (ORCPT ); Fri, 8 Dec 2023 10:40:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54014 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233617AbjLHPk4 (ORCPT ); Fri, 8 Dec 2023 10:40:56 -0500 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4EC2310EB for ; Fri, 8 Dec 2023 07:41:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1702050060; x=1733586060; h=date:from:to:cc:subject:message-id:mime-version; bh=ytgz0mpL+6lejy8F4sFHhys4vbo1P2vx2vpT6QcIsrY=; b=LIGLm4AEczT+TnV2iwzKm0Ptuf3FEmRCWY8IY7Yf7H2gxGj3tAfQtUsV cYUiWfH9iFufvXGr0wRFZ3iKy9vA7xhCKem8TF+IloOWQqG4WgDtUFdvk k+KPv8KTej9Agwa1Rons9BsShlVsGY5R7n/NjuXQQhNwOOJ0Wq5uLALyn 9gE8OweVXYcX2ODZe+vM8nbX9ytWuKJh7EJHcMpEqTSVl0KqXhorKchcp TfvnBFBFdw6xZAcnHo/FhXiNB1OsatvA50Y40UUIdLfCHs69ihFpnt9j+ Bf7rZyDc6YGsU8VR5oU5bWtcrhMQq4OkXhYTtXjnqoquXx+kfYGTYFgi7 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10918"; a="1276353" X-IronPort-AV: E=Sophos;i="6.04,261,1695711600"; d="scan'208";a="1276353" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Dec 2023 07:41:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,261,1695711600"; d="scan'208";a="20136876" Received: from lkp-server02.sh.intel.com (HELO b07ab15da5fe) ([10.239.97.151]) by orviesa001.jf.intel.com with ESMTP; 08 Dec 2023 07:40:59 -0800 Received: from kbuild by b07ab15da5fe with local (Exim 4.96) (envelope-from ) id 1rBcyG-000Dub-0F; Fri, 08 Dec 2023 15:40:56 +0000 Date: Fri, 8 Dec 2023 23:40:14 +0800 From: kernel test robot To: Vineet Gupta Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org Subject: arch/arc/kernel/signal.c:77:31: sparse: sparse: incorrect type in argument 1 (different address spaces) Message-ID: <202312082320.VDN5A9hb-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 5e3f5b81de80c98338bcb47c233aebefee5a4801 commit: 96f1b00138cb8f04c742c82d0a7c460b2202e887 ARCv2: save ABI registers across signal handling date: 2 years, 6 months ago config: arc-randconfig-r111-20231107 (https://download.01.org/0day-ci/archive/20231208/202312082320.VDN5A9hb-lkp@intel.com/config) compiler: arceb-elf-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20231208/202312082320.VDN5A9hb-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 | Closes: https://lore.kernel.org/oe-kbuild-all/202312082320.VDN5A9hb-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> arch/arc/kernel/signal.c:77:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got struct user_regs_arcv2 * @@ arch/arc/kernel/signal.c:77:31: sparse: expected void [noderef] __user *to arch/arc/kernel/signal.c:77:31: sparse: got struct user_regs_arcv2 * >> arch/arc/kernel/signal.c:88:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got struct user_regs_arcv2 * @@ arch/arc/kernel/signal.c:88:41: sparse: expected void const [noderef] __user *from arch/arc/kernel/signal.c:88:41: sparse: got struct user_regs_arcv2 * >> arch/arc/kernel/signal.c:134:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sigcontext *mctx @@ got struct sigcontext [noderef] __user * @@ arch/arc/kernel/signal.c:134:42: sparse: expected struct sigcontext *mctx arch/arc/kernel/signal.c:134:42: sparse: got struct sigcontext [noderef] __user * arch/arc/kernel/signal.c:153:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sigcontext *mctx @@ got struct sigcontext [noderef] __user * @@ arch/arc/kernel/signal.c:153:45: sparse: expected struct sigcontext *mctx arch/arc/kernel/signal.c:153:45: sparse: got struct sigcontext [noderef] __user * vim +77 arch/arc/kernel/signal.c 63 64 static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs) 65 { 66 int err = 0; 67 #ifndef CONFIG_ISA_ARCOMPACT 68 struct user_regs_arcv2 v2abi; 69 70 v2abi.r30 = regs->r30; 71 #ifdef CONFIG_ARC_HAS_ACCL_REGS 72 v2abi.r58 = regs->r58; 73 v2abi.r59 = regs->r59; 74 #else 75 v2abi.r58 = v2abi.r59 = 0; 76 #endif > 77 err = __copy_to_user(&mctx->v2abi, &v2abi, sizeof(v2abi)); 78 #endif 79 return err; 80 } 81 82 static int restore_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs) 83 { 84 int err = 0; 85 #ifndef CONFIG_ISA_ARCOMPACT 86 struct user_regs_arcv2 v2abi; 87 > 88 err = __copy_from_user(&v2abi, &mctx->v2abi, sizeof(v2abi)); 89 90 regs->r30 = v2abi.r30; 91 #ifdef CONFIG_ARC_HAS_ACCL_REGS 92 regs->r58 = v2abi.r58; 93 regs->r59 = v2abi.r59; 94 #endif 95 #endif 96 return err; 97 } 98 99 static int 100 stash_usr_regs(struct rt_sigframe __user *sf, struct pt_regs *regs, 101 sigset_t *set) 102 { 103 int err; 104 struct user_regs_struct uregs; 105 106 uregs.scratch.bta = regs->bta; 107 uregs.scratch.lp_start = regs->lp_start; 108 uregs.scratch.lp_end = regs->lp_end; 109 uregs.scratch.lp_count = regs->lp_count; 110 uregs.scratch.status32 = regs->status32; 111 uregs.scratch.ret = regs->ret; 112 uregs.scratch.blink = regs->blink; 113 uregs.scratch.fp = regs->fp; 114 uregs.scratch.gp = regs->r26; 115 uregs.scratch.r12 = regs->r12; 116 uregs.scratch.r11 = regs->r11; 117 uregs.scratch.r10 = regs->r10; 118 uregs.scratch.r9 = regs->r9; 119 uregs.scratch.r8 = regs->r8; 120 uregs.scratch.r7 = regs->r7; 121 uregs.scratch.r6 = regs->r6; 122 uregs.scratch.r5 = regs->r5; 123 uregs.scratch.r4 = regs->r4; 124 uregs.scratch.r3 = regs->r3; 125 uregs.scratch.r2 = regs->r2; 126 uregs.scratch.r1 = regs->r1; 127 uregs.scratch.r0 = regs->r0; 128 uregs.scratch.sp = regs->sp; 129 130 err = __copy_to_user(&(sf->uc.uc_mcontext.regs.scratch), &uregs.scratch, 131 sizeof(sf->uc.uc_mcontext.regs.scratch)); 132 133 if (is_isa_arcv2()) > 134 err |= save_arcv2_regs(&(sf->uc.uc_mcontext), regs); 135 136 err |= __copy_to_user(&sf->uc.uc_sigmask, set, sizeof(sigset_t)); 137 138 return err ? -EFAULT : 0; 139 } 140 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki