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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7E89CD1288 for ; Wed, 3 Apr 2024 21:14:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4F4366B008C; Wed, 3 Apr 2024 17:14:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4A4486B0092; Wed, 3 Apr 2024 17:14:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 36C026B0093; Wed, 3 Apr 2024 17:14:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 134716B008C for ; Wed, 3 Apr 2024 17:14:20 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id BE8C980851 for ; Wed, 3 Apr 2024 21:14:19 +0000 (UTC) X-FDA: 81969473838.14.B531621 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.13]) by imf28.hostedemail.com (Postfix) with ESMTP id 6ACE4C0007 for ; Wed, 3 Apr 2024 21:14:16 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=kHELJtXd; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf28.hostedemail.com: domain of lkp@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712178857; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=PFtAm248aWScBe4kBPNPgPvQTcJanKoONVPQAgwKqtM=; b=DRJGZYzHXqyQCPyf7OPfKH9kervh+35fvT40FIHPwso8aDSc3UuEzdczSzO8OdxVKsZf0j J17/MM4X/D7cTioP84JmtKB2K+4sYLC0dUryyVol9QHy0AXtf61dROvwKf2pHpwgTmUkD8 RSo5dsgNMBGXmc5wEQlWAjiKm19pJcw= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=kHELJtXd; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf28.hostedemail.com: domain of lkp@intel.com designates 192.198.163.13 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712178857; a=rsa-sha256; cv=none; b=Jw6w7fatloJ51grk6IChODOp2xmbtnv3YB2yUbg+/9TSW85E8p0Pt/aEMkJhdsgnrM4e1O edO6rB6k+bgPw0XCpq435caRCLfm5ljGXSasqUJ88zfi6tccsXx7UY6vFhh8JfIeaCLlrt sRUMxA1o75se7VMyfSazfs6wOUbh/BE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1712178856; x=1743714856; h=date:from:to:cc:subject:message-id:mime-version; bh=7U4GiAot20x+hk7iK7iK9G0gRNDJmXo0/gZEDdyKTLA=; b=kHELJtXdUJ51Qj4RozMXGbTdnTvRiwciOTw2T9ntYQ6G26A+Hp6zm1JK EgLiSvEsAgTVPcfc7iUYLGFzKfTwvdQW58JQX1Z+94xE67Cc2J7342V5b G+JHiVX4LALk+Ca4C5GBcVeyhIKPQCG9XsLmA13OSpC58JK2L4IUAKiIV B/D2kMa+PICPq9lPacGkq66mrG3UMXqpomAuaSoAYuyam3GLk89Rv49Lm M677o+CcsoM6ZeDkwA6fyIvJLRrfNO/M3TiU5+4ipK9IgzSr+Wd381WtQ n9ARdw4cFQr4pqIse92O51VRZlUjkAbiw6ow/B2OC93jzoQOkOfbxgcME A==; X-CSE-ConnectionGUID: ZcE9JyxYQNyrC7knVNB8OA== X-CSE-MsgGUID: 0PwPOOFFQ+SE5JROPQKI/Q== X-IronPort-AV: E=McAfee;i="6600,9927,11033"; a="10405495" X-IronPort-AV: E=Sophos;i="6.07,178,1708416000"; d="scan'208";a="10405495" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Apr 2024 14:14:14 -0700 X-CSE-ConnectionGUID: t0sq+c2ZQquPfwd6L+m96Q== X-CSE-MsgGUID: O+f5/54JQzWHXm9g2T28DA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,178,1708416000"; d="scan'208";a="23061760" Received: from lkp-server01.sh.intel.com (HELO e61807b1d151) ([10.239.97.150]) by fmviesa003.fm.intel.com with ESMTP; 03 Apr 2024 14:14:13 -0700 Received: from kbuild by e61807b1d151 with local (Exim 4.96) (envelope-from ) id 1rs7vu-0000F0-2q; Wed, 03 Apr 2024 21:14:10 +0000 Date: Thu, 4 Apr 2024 05:13:20 +0800 From: kernel test robot To: "Paul E. McKenney" Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, Linux Memory Management List Subject: [linux-next:master 2524/3504] kernel/locking/rtmutex.c:218:9: error: incompatible pointer to integer conversion passing 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') to parameter of type 'uintptr_t' (aka 'unsigned long') Message-ID: <202404040526.GVzaL2io-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Queue-Id: 6ACE4C0007 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: kkrj9yn59pxwja5f8bo5o55a4y5w5f4o X-HE-Tag: 1712178856-250234 X-HE-Meta: U2FsdGVkX19eXtbLozDksBuUf04D8ZMU3gobSpNbyXgtP7ynyQTWwnDYT5j/4lRbY6tPgvLxpND7Zg1gUu2KuqPnMEqyMIMnLgmCfDRDn7YN4riaWymTOAlfYL9ZAwhQvDq7TN3AZJao/W3YPa3C4xOy8hOxXiSWSa4aJDPA7GXUsk9NYV6Vvma1qi1hgiS9bhjOqBZdGqChBoVc26tMMDF+Zd9SQM553WCvL4K5LxpCHkTuW+iEs/yYU0nK0j/gxUaDlTwSsJMGLGHGX5OPrE9HZo2gdae9CR+O9OjMLASZiESyU00o66P6cKa/qpopx034pQWoY4AcYV4hjsJ9js6aPCW47PnrDsCrVm+Fe57hTHp8w//VAapNYc6IsuMKc+SKqW7NBrS0osMhgWxRKGgJMdxvvtQZi+xQnUkjzZECIuk7+jW5xHwBM1k2ogHBBdKunpuBRCEPTmsFsCeQr9K1UB7KIxfteBE12zLQL+NM/tw43lt8R7zfYQtnMRuJQe0UOkcNRkE4/rv3N0ERon3M2NkJmFVC3DKYNqfJH8/prwNjS4ui+dRD/ePkb2ClFFHnQJHV4KKE4pUmyrODf4Oaw82V0ej7JfA0Dn6gMFvVz0H2gYCO2y1ANMzv+CodoQUF5jWv82Bnp+rNxpTl/QcampYMWReUGVpXAjfNPI5OrgD4XilwL75pCFaq+YtZ6UsJWB6luwFFqksgDSJO1yrpCVVZsf1ozUdD1Rfb8eLSAeAf5Pe2ll1MGIbPhVL4KVU+m2x+JgIsg1ga04BXuJ46V/KdbusQ5/xOxFaMRkiYw9V1WdAe3jMGqjjRwo5bNSKhArggPp4Egn4qrCCJJVNAlQySQmE7cqPpRzt1Nzu4gv+iJh6+LhpnPttA19ST87KvVwHHNpFu4xieCttmYzgiqIB2AbMo9nupCbRQz8wQ7m61CuqKQxdDvE/tf8QDzhjjLW8m5dyrJ48gR4V 3VuNqYZK eiyj7jyIKFZnsTJBjVl0kUZCZqWepOQv+peLl/Wzn7AFxB3pfZYos1eRC9a9T92DiJrh/LoNxrKqvzbE2SNWtYlbktnqs6VFFoI96MA3sA4PBlVNDWFGofelFNZiwjk8qAhqLdrgbZFK6Vy93/e4uYqLDbd9Yz4K4KBsMsWCp/6WLKpUu4UMz8zzJx+22QDoYEjevp0rtHUcr55xxjiF4fM5wkmzK/Hv6wzTWpJwoeyLlVCJUXKJ13AeODpoXoU3vPOA4Kzu9psPZ6ETDcnjGBnVxggfCdX/t3kvTh/Jw2422VPb9yiigqDLTRAgcMTmuKov0dWAZjTChqOahfsA0x3CIr4//c3UNxrcAcsjF7RHJk0Ecxh15QrFAo0B8uEETf/Z6 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 727900b675b749c40ba1f6669c7ae5eb7eb8e837 commit: df35ee400e06b23ecd44fdb66451a5343932f834 [2524/3504] riscv: Emulate one-byte and two-byte cmpxchg config: riscv-nommu_virt_defconfig (https://download.01.org/0day-ci/archive/20240404/202404040526.GVzaL2io-lkp@intel.com/config) compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 546dc2245ffc4cccd0b05b58b7a5955e355a3b27) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240404/202404040526.GVzaL2io-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/202404040526.GVzaL2io-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from kernel/locking/rtmutex_api.c:9: >> kernel/locking/rtmutex.c:218:9: error: incompatible pointer to integer conversion passing 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') to parameter of type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 218 | return try_cmpxchg_acquire(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4889:2: note: expanded from macro 'try_cmpxchg_acquire' 4889 | raw_try_cmpxchg_acquire(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:210:9: note: expanded from macro 'raw_try_cmpxchg_acquire' 210 | ___r = raw_cmpxchg_acquire((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:65:29: note: expanded from macro 'raw_cmpxchg_acquire' 65 | #define raw_cmpxchg_acquire arch_cmpxchg_acquire | ^ arch/riscv/include/asm/cmpxchg.h:264:23: note: expanded from macro 'arch_cmpxchg_acquire' 264 | (__typeof__(*(ptr))) __cmpxchg_acquire((ptr), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | _o_, _n_, sizeof(*(ptr))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/cmpxchg.h:225:48: note: expanded from macro '__cmpxchg_acquire' 225 | __ret = cmpxchg_emu_u8((volatile u8 *)__ptr, __old, __new); \ | ^~~~~ include/linux/cmpxchg-emu.h:13:52: note: passing argument to parameter 'old' here 13 | uintptr_t cmpxchg_emu_u8(volatile u8 *p, uintptr_t old, uintptr_t new); | ^ In file included from kernel/locking/rtmutex_api.c:9: >> kernel/locking/rtmutex.c:218:9: error: incompatible pointer to integer conversion passing 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') to parameter of type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 218 | return try_cmpxchg_acquire(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4889:2: note: expanded from macro 'try_cmpxchg_acquire' 4889 | raw_try_cmpxchg_acquire(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:210:9: note: expanded from macro 'raw_try_cmpxchg_acquire' 210 | ___r = raw_cmpxchg_acquire((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:65:29: note: expanded from macro 'raw_cmpxchg_acquire' 65 | #define raw_cmpxchg_acquire arch_cmpxchg_acquire | ^ arch/riscv/include/asm/cmpxchg.h:264:23: note: expanded from macro 'arch_cmpxchg_acquire' 264 | (__typeof__(*(ptr))) __cmpxchg_acquire((ptr), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | _o_, _n_, sizeof(*(ptr))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/cmpxchg.h:225:55: note: expanded from macro '__cmpxchg_acquire' 225 | __ret = cmpxchg_emu_u8((volatile u8 *)__ptr, __old, __new); \ | ^~~~~ include/linux/cmpxchg-emu.h:13:67: note: passing argument to parameter 'new' here 13 | uintptr_t cmpxchg_emu_u8(volatile u8 *p, uintptr_t old, uintptr_t new); | ^ In file included from kernel/locking/rtmutex_api.c:9: >> kernel/locking/rtmutex.c:218:9: error: incompatible integer to pointer conversion assigning to 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') from 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 218 | return try_cmpxchg_acquire(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4889:2: note: expanded from macro 'try_cmpxchg_acquire' 4889 | raw_try_cmpxchg_acquire(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:210:9: note: expanded from macro 'raw_try_cmpxchg_acquire' 210 | ___r = raw_cmpxchg_acquire((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:65:29: note: expanded from macro 'raw_cmpxchg_acquire' 65 | #define raw_cmpxchg_acquire arch_cmpxchg_acquire | ^ arch/riscv/include/asm/cmpxchg.h:264:23: note: expanded from macro 'arch_cmpxchg_acquire' 264 | (__typeof__(*(ptr))) __cmpxchg_acquire((ptr), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | _o_, _n_, sizeof(*(ptr))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/cmpxchg.h:225:9: note: expanded from macro '__cmpxchg_acquire' 225 | __ret = cmpxchg_emu_u8((volatile u8 *)__ptr, __old, __new); \ | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from kernel/locking/rtmutex_api.c:9: >> kernel/locking/rtmutex.c:218:9: error: incompatible pointer to integer conversion passing 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') to parameter of type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 218 | return try_cmpxchg_acquire(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4889:2: note: expanded from macro 'try_cmpxchg_acquire' 4889 | raw_try_cmpxchg_acquire(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:210:9: note: expanded from macro 'raw_try_cmpxchg_acquire' 210 | ___r = raw_cmpxchg_acquire((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:65:29: note: expanded from macro 'raw_cmpxchg_acquire' 65 | #define raw_cmpxchg_acquire arch_cmpxchg_acquire | ^ arch/riscv/include/asm/cmpxchg.h:264:23: note: expanded from macro 'arch_cmpxchg_acquire' 264 | (__typeof__(*(ptr))) __cmpxchg_acquire((ptr), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | _o_, _n_, sizeof(*(ptr))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/cmpxchg.h:229:50: note: expanded from macro '__cmpxchg_acquire' 229 | __ret = cmpxchg_emu_u16((volatile u16 *)__ptr, __old, __new); \ | ^~~~~ include/linux/cmpxchg-emu.h:14:54: note: passing argument to parameter 'old' here 14 | uintptr_t cmpxchg_emu_u16(volatile u16 *p, uintptr_t old, uintptr_t new); | ^ In file included from kernel/locking/rtmutex_api.c:9: >> kernel/locking/rtmutex.c:218:9: error: incompatible pointer to integer conversion passing 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') to parameter of type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 218 | return try_cmpxchg_acquire(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4889:2: note: expanded from macro 'try_cmpxchg_acquire' 4889 | raw_try_cmpxchg_acquire(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:210:9: note: expanded from macro 'raw_try_cmpxchg_acquire' 210 | ___r = raw_cmpxchg_acquire((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:65:29: note: expanded from macro 'raw_cmpxchg_acquire' 65 | #define raw_cmpxchg_acquire arch_cmpxchg_acquire | ^ arch/riscv/include/asm/cmpxchg.h:264:23: note: expanded from macro 'arch_cmpxchg_acquire' 264 | (__typeof__(*(ptr))) __cmpxchg_acquire((ptr), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | _o_, _n_, sizeof(*(ptr))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/cmpxchg.h:229:57: note: expanded from macro '__cmpxchg_acquire' 229 | __ret = cmpxchg_emu_u16((volatile u16 *)__ptr, __old, __new); \ | ^~~~~ include/linux/cmpxchg-emu.h:14:69: note: passing argument to parameter 'new' here 14 | uintptr_t cmpxchg_emu_u16(volatile u16 *p, uintptr_t old, uintptr_t new); | ^ In file included from kernel/locking/rtmutex_api.c:9: >> kernel/locking/rtmutex.c:218:9: error: incompatible integer to pointer conversion assigning to 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') from 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 218 | return try_cmpxchg_acquire(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4889:2: note: expanded from macro 'try_cmpxchg_acquire' 4889 | raw_try_cmpxchg_acquire(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:210:9: note: expanded from macro 'raw_try_cmpxchg_acquire' 210 | ___r = raw_cmpxchg_acquire((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:65:29: note: expanded from macro 'raw_cmpxchg_acquire' 65 | #define raw_cmpxchg_acquire arch_cmpxchg_acquire | ^ arch/riscv/include/asm/cmpxchg.h:264:23: note: expanded from macro 'arch_cmpxchg_acquire' 264 | (__typeof__(*(ptr))) __cmpxchg_acquire((ptr), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | _o_, _n_, sizeof(*(ptr))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/cmpxchg.h:229:9: note: expanded from macro '__cmpxchg_acquire' 229 | __ret = cmpxchg_emu_u16((volatile u16 *)__ptr, __old, __new); \ | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from kernel/locking/rtmutex_api.c:9: kernel/locking/rtmutex.c:230:9: error: incompatible pointer to integer conversion passing 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') to parameter of type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 230 | return try_cmpxchg_release(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4899:2: note: expanded from macro 'try_cmpxchg_release' 4899 | raw_try_cmpxchg_release(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:228:9: note: expanded from macro 'raw_try_cmpxchg_release' 228 | ___r = raw_cmpxchg_release((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:77:29: note: expanded from macro 'raw_cmpxchg_release' 77 | #define raw_cmpxchg_release arch_cmpxchg_release | ^ arch/riscv/include/asm/cmpxchg.h:316:23: note: expanded from macro 'arch_cmpxchg_release' 316 | (__typeof__(*(ptr))) __cmpxchg_release((ptr), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 317 | _o_, _n_, sizeof(*(ptr))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/cmpxchg.h:277:48: note: expanded from macro '__cmpxchg_release' 277 | __ret = cmpxchg_emu_u8((volatile u8 *)__ptr, __old, __new); \ | ^~~~~ include/linux/cmpxchg-emu.h:13:52: note: passing argument to parameter 'old' here 13 | uintptr_t cmpxchg_emu_u8(volatile u8 *p, uintptr_t old, uintptr_t new); | ^ In file included from kernel/locking/rtmutex_api.c:9: kernel/locking/rtmutex.c:230:9: error: incompatible pointer to integer conversion passing 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') to parameter of type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 230 | return try_cmpxchg_release(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4899:2: note: expanded from macro 'try_cmpxchg_release' 4899 | raw_try_cmpxchg_release(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:228:9: note: expanded from macro 'raw_try_cmpxchg_release' 228 | ___r = raw_cmpxchg_release((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:77:29: note: expanded from macro 'raw_cmpxchg_release' 77 | #define raw_cmpxchg_release arch_cmpxchg_release | ^ arch/riscv/include/asm/cmpxchg.h:316:23: note: expanded from macro 'arch_cmpxchg_release' 316 | (__typeof__(*(ptr))) __cmpxchg_release((ptr), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 317 | _o_, _n_, sizeof(*(ptr))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/cmpxchg.h:277:55: note: expanded from macro '__cmpxchg_release' 277 | __ret = cmpxchg_emu_u8((volatile u8 *)__ptr, __old, __new); \ | ^~~~~ include/linux/cmpxchg-emu.h:13:67: note: passing argument to parameter 'new' here 13 | uintptr_t cmpxchg_emu_u8(volatile u8 *p, uintptr_t old, uintptr_t new); | ^ In file included from kernel/locking/rtmutex_api.c:9: kernel/locking/rtmutex.c:230:9: error: incompatible integer to pointer conversion assigning to 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') from 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 230 | return try_cmpxchg_release(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4899:2: note: expanded from macro 'try_cmpxchg_release' 4899 | raw_try_cmpxchg_release(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:228:9: note: expanded from macro 'raw_try_cmpxchg_release' 228 | ___r = raw_cmpxchg_release((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:77:29: note: expanded from macro 'raw_cmpxchg_release' 77 | #define raw_cmpxchg_release arch_cmpxchg_release | ^ arch/riscv/include/asm/cmpxchg.h:316:23: note: expanded from macro 'arch_cmpxchg_release' 316 | (__typeof__(*(ptr))) __cmpxchg_release((ptr), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 317 | _o_, _n_, sizeof(*(ptr))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/cmpxchg.h:277:9: note: expanded from macro '__cmpxchg_release' 277 | __ret = cmpxchg_emu_u8((volatile u8 *)__ptr, __old, __new); \ | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from kernel/locking/rtmutex_api.c:9: kernel/locking/rtmutex.c:230:9: error: incompatible pointer to integer conversion passing 'typeof (*(((__ai_ptr))))' (aka 'struct task_struct *') to parameter of type 'uintptr_t' (aka 'unsigned long') [-Wint-conversion] 230 | return try_cmpxchg_release(&lock->owner, &old, new); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-instrumented.h:4899:2: note: expanded from macro 'try_cmpxchg_release' 4899 | raw_try_cmpxchg_release(__ai_ptr, __ai_oldp, __VA_ARGS__); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:228:9: note: expanded from macro 'raw_try_cmpxchg_release' 228 | ___r = raw_cmpxchg_release((_ptr), ___o, (_new)); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/atomic/atomic-arch-fallback.h:77:29: note: expanded from macro 'raw_cmpxchg_release' 77 | #define raw_cmpxchg_release arch_cmpxchg_release vim +218 kernel/locking/rtmutex.c 23f78d4a03c53c kernel/rtmutex.c Ingo Molnar 2006-06-27 208 bd197234b0a616 kernel/rtmutex.c Thomas Gleixner 2007-06-17 209 /* cede88418b385b kernel/locking/rtmutex.c Sebastian Andrzej Siewior 2015-02-25 210 * We can speed up the acquire/release, if there's no debugging state to be cede88418b385b kernel/locking/rtmutex.c Sebastian Andrzej Siewior 2015-02-25 211 * set up. bd197234b0a616 kernel/rtmutex.c Thomas Gleixner 2007-06-17 212 */ cede88418b385b kernel/locking/rtmutex.c Sebastian Andrzej Siewior 2015-02-25 213 #ifndef CONFIG_DEBUG_RT_MUTEXES 830e6acc8a1caf kernel/locking/rtmutex.c Peter Zijlstra 2021-08-15 214 static __always_inline bool rt_mutex_cmpxchg_acquire(struct rt_mutex_base *lock, 785159301bedea kernel/locking/rtmutex.c Sebastian Andrzej Siewior 2021-08-15 215 struct task_struct *old, 785159301bedea kernel/locking/rtmutex.c Sebastian Andrzej Siewior 2021-08-15 216 struct task_struct *new) 785159301bedea kernel/locking/rtmutex.c Sebastian Andrzej Siewior 2021-08-15 217 { 709e0b62869f62 kernel/locking/rtmutex.c Thomas Gleixner 2021-08-15 @218 return try_cmpxchg_acquire(&lock->owner, &old, new); 785159301bedea kernel/locking/rtmutex.c Sebastian Andrzej Siewior 2021-08-15 219 } 785159301bedea kernel/locking/rtmutex.c Sebastian Andrzej Siewior 2021-08-15 220 :::::: The code at line 218 was first introduced by commit :::::: 709e0b62869f625afd18edd79f190c38cb39dfb2 locking/rtmutex: Switch to from cmpxchg_*() to try_cmpxchg_*() :::::: TO: Thomas Gleixner :::::: CC: Ingo Molnar -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki