* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
@ 2023-01-20 8:14 kernel test robot
2023-01-20 21:41 ` Miguel Ojeda
0 siblings, 1 reply; 12+ messages in thread
From: kernel test robot @ 2023-01-20 8:14 UTC (permalink / raw)
Cc: oe-kbuild-all, llvm
In-Reply-To: <20230119174036.64046-4-wedsonaf@gmail.com>
References: <20230119174036.64046-4-wedsonaf@gmail.com>
TO: Wedson Almeida Filho <wedsonaf@gmail.com>
TO: rust-for-linux@vger.kernel.org
CC: Miguel Ojeda <ojeda@kernel.org>
CC: Alex Gaynor <alex.gaynor@gmail.com>
CC: Boqun Feng <boqun.feng@gmail.com>
CC: Gary Guo <gary@garyguo.net>
CC: "Björn Roy Baron" <bjorn3_gh@protonmail.com>
CC: linux-kernel@vger.kernel.org
CC: Wedson Almeida Filho <wedsonaf@gmail.com>
Hi Wedson,
I love your patch! Perhaps something to improve:
[auto build test WARNING on rust/rust-next]
[cannot apply to linus/master v6.2-rc4]
[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/Wedson-Almeida-Filho/rust-types-introduce-ForeignOwnable/20230120-014303
base: https://github.com/Rust-for-Linux/linux rust-next
patch link: https://lore.kernel.org/r/20230119174036.64046-4-wedsonaf%40gmail.com
patch subject: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20230120/202301201612.50oSpQHu-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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://github.com/intel-lab-lkp/linux/commit/cffa09c8cb193d9d6c04fc467ea764429ede780c
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Wedson-Almeida-Filho/rust-types-introduce-ForeignOwnable/20230120-014303
git checkout cffa09c8cb193d9d6c04fc467ea764429ede780c
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3x_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_6lruvecNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3x_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_6lruvecNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3y_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13per_cpu_pagesNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3y_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13per_cpu_pagesNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3z_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_16per_cpu_nodestatNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3z_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_16per_cpu_nodestatNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3A_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_4zoneNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3A_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_4zoneNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3C_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_8zonelistNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3C_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_8zonelistNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3D_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_14deferred_splitNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3D_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_14deferred_splitNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3E_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_11pglist_dataNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3E_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_11pglist_dataNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3F_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_10mhp_paramsNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3F_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_10mhp_paramsNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3I_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_12cpu_topologyNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3I_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_12cpu_topologyNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3J_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_19x86_legacy_featuresNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3J_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_19x86_legacy_featuresNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3K_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_16x86_platform_opsNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3K_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_16x86_platform_opsNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3U_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_25local_apic__bindgen_ty_20NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3U_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_25local_apic__bindgen_ty_20NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3Y_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_25local_apic__bindgen_ty_29NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3Y_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_25local_apic__bindgen_ty_29NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs47_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_11physid_maskNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs47_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_11physid_maskNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs48_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_15percpu_ref_dataNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs48_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_15percpu_ref_dataNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs4b_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13___va_list_tagNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs4b_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13___va_list_tagNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1v_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_30mpx_bndcsr_state__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1t_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_11reg_512_bitNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsN_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_31edd_device_params__bindgen_ty_2NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs2R_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_25arch_uprobe__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs46_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_10local_apicNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1u_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13reg_1024_byteNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXss_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_16static_key_falseNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXsr_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_15static_key_trueNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXst_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_21__ddebug__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1p_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_26fxregs_state__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs19_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_25__fpstate_64__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs17_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_25__fpstate_32__bindgen_ty_2NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsa_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_32ftrace_branch_data__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1p_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_26fxregs_state__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsx_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_12__ddebug_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs20_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20optimistic_spin_nodeNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2m_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_10ma_topiaryNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs27_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_7rb_nodeNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsh_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_15callthunk_sitesNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs2t_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_15uprobe_consumerNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2H_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_10rcu_cblistNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs27_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_7rb_nodeNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2M_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_14notifier_blockNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1m_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_15tracepoint_funcNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2U_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_39uprobe_task__bindgen_ty_1__bindgen_ty_2NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1Q_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_16preempt_notifierNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs32_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_46page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1p_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_26fxregs_state__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsK_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_27restart_block__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3c_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_18page__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3g_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_47folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1p_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_26fxregs_state__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3j_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_19folio__bindgen_ty_2NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3i_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_19folio__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3l_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_19folio__bindgen_ty_3NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs3i_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_19folio__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3v_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_18vm_special_mappingNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs2t_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_15uprobe_consumerNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsf_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_10hlist_nodeNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsg_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_13callback_headNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsj_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_9qspinlockNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1T_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_32___call_single_node__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsk_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_21qrwlock__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1T_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_32___call_single_node__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsl_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_7qrwlockNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsm_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_12raw_spinlockNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1T_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_32___call_single_node__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXso_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_9va_formatNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsp_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_24static_key__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsy_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_32ddebug_class_param__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXse_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_10hlist_headNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsH_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_55restart_block__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsM_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_31edd_device_params__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsA_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_29static_call_key__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs11_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_7pv_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsd_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_9list_headNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1e_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_17msr__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1f_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_3msrNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1k_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_17trace_print_flagsNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1l_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_21trace_print_flags_u64NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1R_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_10llist_headNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1S_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_10llist_nodeNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsi_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB5_23qspinlock__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1T_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_32___call_single_node__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1W_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_22spinlock__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1T_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_32___call_single_node__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1X_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_8rwlock_tNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs28_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_7rb_rootNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2f_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13maple_topiaryNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2g_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_24maple_tree__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1T_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_32___call_single_node__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2y_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_19system_counterval_tNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2P_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_17raw_notifier_headNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2S_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_25arch_uprobe__bindgen_ty_2NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2Y_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13uprobes_stateNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs31_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_60page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1h_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13msr_regs_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs33_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_46page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs35_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_46page__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs39_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_46page__bindgen_ty_1__bindgen_ty_6__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3b_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_32page__bindgen_ty_1__bindgen_ty_7NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3d_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_18page__bindgen_ty_2NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1T_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_32___call_single_node__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3f_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_61folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1h_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13msr_regs_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3B_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_7zonerefNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1h_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13msr_regs_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3G_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_11mem_sectionNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3H_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_15scale_freq_dataNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs1j_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_10saved_msrsNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3W_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_39local_apic__bindgen_ty_29__bindgen_ty_1NtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs10_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_20paravirt_callee_saveNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs4a_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_10percpu_refNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0: data relocation to !ENDBR: _RNvXs15_NtCs3XUU1alqrUZ_8bindings12bindings_rawNtB6_13math_emu_infoNtNtCs3yuwAp0waWO_4core7default7Default7default+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXNtCsfATHBUcknU9_6kernel9allocatorNtB2_15KernelAllocatorNtNtNtCs3yuwAp0waWO_4core5alloc6global11GlobalAlloc5alloc+0x0: data relocation to !ENDBR: _RNvXNtCsfATHBUcknU9_6kernel9allocatorNtB2_15KernelAllocatorNtNtNtCs3yuwAp0waWO_4core5alloc6global11GlobalAlloc5alloc+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXNtCsfATHBUcknU9_6kernel9allocatorNtB2_15KernelAllocatorNtNtNtCs3yuwAp0waWO_4core5alloc6global11GlobalAlloc7dealloc+0x0: data relocation to !ENDBR: _RNvXNtCsfATHBUcknU9_6kernel9allocatorNtB2_15KernelAllocatorNtNtNtCs3yuwAp0waWO_4core5alloc6global11GlobalAlloc7dealloc+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+__rust_realloc+0x0: data relocation to !ENDBR: __rust_realloc+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+__rust_alloc_zeroed+0x0: data relocation to !ENDBR: __rust_alloc_zeroed+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvMNtCsfATHBUcknU9_6kernel5errorNtB2_5Error15to_kernel_errno+0x0: data relocation to !ENDBR: _RNvMNtCsfATHBUcknU9_6kernel5errorNtB2_5Error15to_kernel_errno+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs0_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtNtBO_3num5error15TryFromIntErrorE4from+0x0: data relocation to !ENDBR: _RNvXs0_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtNtBO_3num5error15TryFromIntErrorE4from+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtNtBO_3str5error9Utf8ErrorE4from+0x0: data relocation to !ENDBR: _RNvXs1_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtNtBO_3str5error9Utf8ErrorE4from+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs2_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtCsdvv6pRyacSq_5alloc11collections15TryReserveErrorE4from+0x0: data relocation to !ENDBR: _RNvXs2_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtCsdvv6pRyacSq_5alloc11collections15TryReserveErrorE4from+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs3_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtNtBO_5alloc6layout11LayoutErrorE4from+0x0: data relocation to !ENDBR: _RNvXs3_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtNtBO_5alloc6layout11LayoutErrorE4from+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs5_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtBM_10InfallibleE4from+0x0: data relocation to !ENDBR: _RNvXs5_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtBM_10InfallibleE4from+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+rust_fmt_argument+0x0: data relocation to !ENDBR: rust_fmt_argument+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvNtNtCsfATHBUcknU9_6kernel5print14format_strings8generate+0x0: data relocation to !ENDBR: _RNvNtNtCsfATHBUcknU9_6kernel5print14format_strings8generate+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvNtCsfATHBUcknU9_6kernel5print11call_printk+0x0: data relocation to !ENDBR: _RNvNtCsfATHBUcknU9_6kernel5print11call_printk+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvNtCsfATHBUcknU9_6kernel5print16call_printk_cont+0x0: data relocation to !ENDBR: _RNvNtCsfATHBUcknU9_6kernel5print16call_printk_cont+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvMs_NtCsfATHBUcknU9_6kernel3strNtB4_4CStr19from_bytes_with_nul+0x0: data relocation to !ENDBR: _RNvMs_NtCsfATHBUcknU9_6kernel3strNtB4_4CStr19from_bytes_with_nul+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs0_NtCsfATHBUcknU9_6kernel3strNtB5_4CStrNtNtCs3yuwAp0waWO_4core3fmt7Display3fmt+0x0: data relocation to !ENDBR: _RNvXs0_NtCsfATHBUcknU9_6kernel3strNtB5_4CStrNtNtCs3yuwAp0waWO_4core3fmt7Display3fmt+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs1_NtCsfATHBUcknU9_6kernel3strNtB5_4CStrNtNtCs3yuwAp0waWO_4core3fmt5Debug3fmt+0x0: data relocation to !ENDBR: _RNvXs1_NtCsfATHBUcknU9_6kernel3strNtB5_4CStrNtNtCs3yuwAp0waWO_4core3fmt5Debug3fmt+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs8_NtCsfATHBUcknU9_6kernel3strNtB5_12RawFormatterNtNtCs3yuwAp0waWO_4core3fmt5Write9write_str+0x0: data relocation to !ENDBR: _RNvXs8_NtCsfATHBUcknU9_6kernel3strNtB5_12RawFormatterNtNtCs3yuwAp0waWO_4core3fmt5Write9write_str+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsa_NtCsfATHBUcknU9_6kernel3strNtB5_9FormatterNtNtNtCs3yuwAp0waWO_4core3ops5deref5Deref5deref+0x0: data relocation to !ENDBR: _RNvXsa_NtCsfATHBUcknU9_6kernel3strNtB5_9FormatterNtNtNtCs3yuwAp0waWO_4core3ops5deref5Deref5deref+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsb_NtCsfATHBUcknU9_6kernel3strNtB5_9FormatterNtNtCs3yuwAp0waWO_4core3fmt5Write9write_str+0x0: data relocation to !ENDBR: _RNvXsb_NtCsfATHBUcknU9_6kernel3strNtB5_9FormatterNtNtCs3yuwAp0waWO_4core3fmt5Write9write_str+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvMsc_NtCsfATHBUcknU9_6kernel3strNtB5_7CString12try_from_fmt+0x0: data relocation to !ENDBR: _RNvMsc_NtCsfATHBUcknU9_6kernel3strNtB5_7CString12try_from_fmt+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXsd_NtCsfATHBUcknU9_6kernel3strNtB5_7CStringNtNtNtCs3yuwAp0waWO_4core3ops5deref5Deref5deref+0x0: data relocation to !ENDBR: _RNvXsd_NtCsfATHBUcknU9_6kernel3strNtB5_7CStringNtNtNtCs3yuwAp0waWO_4core3ops5deref5Deref5deref+0x0
>> vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs_NtCsfATHBUcknU9_6kernel5typesuNtB4_14ForeignOwnable12into_foreign+0x0: data relocation to !ENDBR: _RNvXs_NtCsfATHBUcknU9_6kernel5typesuNtB4_14ForeignOwnable12into_foreign+0x0
>> vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs_NtCsfATHBUcknU9_6kernel5typesuNtB4_14ForeignOwnable12from_foreign+0x0: data relocation to !ENDBR: _RNvXs_NtCsfATHBUcknU9_6kernel5typesuNtB4_14ForeignOwnable12from_foreign+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvMs_CsfATHBUcknU9_6kernelNtB4_10ThisModule8from_ptr+0x0: data relocation to !ENDBR: _RNvMs_CsfATHBUcknU9_6kernelNtB4_10ThisModule8from_ptr+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+rust_begin_unwind+0x0: data relocation to !ENDBR: rust_begin_unwind+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+__rg_alloc+0x0: data relocation to !ENDBR: __rg_alloc+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+__rg_dealloc+0x0: data relocation to !ENDBR: __rg_dealloc+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+__rg_realloc+0x0: data relocation to !ENDBR: __rg_realloc+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+__rg_alloc_zeroed+0x0: data relocation to !ENDBR: __rg_alloc_zeroed+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXse_NtCsfATHBUcknU9_6kernel3strNtB5_16CStrConvertErrorNtNtCs3yuwAp0waWO_4core3fmt5Debug3fmt+0x0: data relocation to !ENDBR: _RNvXse_NtCsfATHBUcknU9_6kernel3strNtB5_16CStrConvertErrorNtNtCs3yuwAp0waWO_4core3fmt5Debug3fmt+0x0
>> vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs_NtCsfATHBUcknU9_6kernel5typesuNtB4_14ForeignOwnable6borrow+0x0: data relocation to !ENDBR: _RNvXs_NtCsfATHBUcknU9_6kernel5typesuNtB4_14ForeignOwnable12from_foreign+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+__rust_alloc+0x0: data relocation to !ENDBR: __rg_alloc+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+__rust_dealloc+0x0: data relocation to !ENDBR: __rg_dealloc+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs_NtCsfATHBUcknU9_6kernel5errorNtB4_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtBN_5alloc10AllocErrorE4from+0x0: data relocation to !ENDBR: _RNvXs3_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtNtBO_5alloc6layout11LayoutErrorE4from+0x0
vmlinux.o: warning: objtool: ___ksymtab_gpl+_RNvXs4_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtBO_3fmt5ErrorE4from+0x0: data relocation to !ENDBR: _RNvXs0_NtCsfATHBUcknU9_6kernel5errorNtB5_5ErrorINtNtCs3yuwAp0waWO_4core7convert4FromNtNtNtBO_3num5error15TryFromIntErrorE4from+0x0
objdump-func vmlinux.o ___ksymtab_gpl:
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-20 8:14 [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type kernel test robot
@ 2023-01-20 21:41 ` Miguel Ojeda
2023-01-21 2:42 ` Philip Li
0 siblings, 1 reply; 12+ messages in thread
From: Miguel Ojeda @ 2023-01-20 21:41 UTC (permalink / raw)
To: kernel test robot, Yujie Liu
Cc: oe-kbuild-all, llvm, Alex Gaynor, Wedson Almeida Filho,
Boqun Feng, Gary Guo, Björn Roy Baron
Hi kernel test robot, Yujie,
On Fri, Jan 20, 2023 at 9:15 AM kernel test robot <lkp@intel.com> wrote:
>
> config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20230120/202301201612.50oSpQHu-lkp@intel.com/config)
Could you please disable `CONFIG_RETPOLINE` and
`CONFIG_X86_KERNEL_IBT` for the Rust config? (e.g. like in KernelCI
https://github.com/kernelci/kernelci-core/blob/main/config/core/build-configs.yaml#L410)
We are discussing whether to add a `depends on !` or other approaches
on the kernel side, which may make that redundant, but meanwhile it
would be great if you could update the config.
Thanks!
Cheers,
Miguel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-20 21:41 ` Miguel Ojeda
@ 2023-01-21 2:42 ` Philip Li
2023-01-21 11:15 ` Miguel Ojeda
0 siblings, 1 reply; 12+ messages in thread
From: Philip Li @ 2023-01-21 2:42 UTC (permalink / raw)
To: Miguel Ojeda
Cc: kernel test robot, Yujie Liu, oe-kbuild-all, llvm, Alex Gaynor,
Wedson Almeida Filho, Boqun Feng, Gary Guo, Björn Roy Baron
On Fri, Jan 20, 2023 at 10:41:39PM +0100, Miguel Ojeda wrote:
> Hi kernel test robot, Yujie,
>
> On Fri, Jan 20, 2023 at 9:15 AM kernel test robot <lkp@intel.com> wrote:
> >
> > config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20230120/202301201612.50oSpQHu-lkp@intel.com/config)
>
> Could you please disable `CONFIG_RETPOLINE` and
> `CONFIG_X86_KERNEL_IBT` for the Rust config? (e.g. like in KernelCI
Got it Miguel, we will disable them for rust related configs.
> https://github.com/kernelci/kernelci-core/blob/main/config/core/build-configs.yaml#L410)
>
> We are discussing whether to add a `depends on !` or other approaches
> on the kernel side, which may make that redundant, but meanwhile it
> would be great if you could update the config.
thanks, we will do it asap.
>
> Thanks!
>
> Cheers,
> Miguel
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-21 2:42 ` Philip Li
@ 2023-01-21 11:15 ` Miguel Ojeda
2023-01-21 12:55 ` Philip Li
0 siblings, 1 reply; 12+ messages in thread
From: Miguel Ojeda @ 2023-01-21 11:15 UTC (permalink / raw)
To: Philip Li
Cc: kernel test robot, Yujie Liu, oe-kbuild-all, llvm, Alex Gaynor,
Wedson Almeida Filho, Boqun Feng, Gary Guo, Björn Roy Baron
On Sat, Jan 21, 2023 at 3:43 AM Philip Li <philip.li@intel.com> wrote:
>
> Got it Miguel, we will disable them for rust related configs.
>
> thanks, we will do it asap.
Thanks Philip for the quick reply! (and sorry, I should have Cc'd you too!)
Cheers,
Miguel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-21 11:15 ` Miguel Ojeda
@ 2023-01-21 12:55 ` Philip Li
0 siblings, 0 replies; 12+ messages in thread
From: Philip Li @ 2023-01-21 12:55 UTC (permalink / raw)
To: Miguel Ojeda
Cc: kernel test robot, Yujie Liu, oe-kbuild-all, llvm, Alex Gaynor,
Wedson Almeida Filho, Boqun Feng, Gary Guo, Björn Roy Baron
On Sat, Jan 21, 2023 at 12:15:58PM +0100, Miguel Ojeda wrote:
> On Sat, Jan 21, 2023 at 3:43 AM Philip Li <philip.li@intel.com> wrote:
> >
> > Got it Miguel, we will disable them for rust related configs.
> >
> > thanks, we will do it asap.
>
> Thanks Philip for the quick reply! (and sorry, I should have Cc'd you too!)
You are welcome, and thanks for the input that we are not aware of.
BTW: It's ok not to Cc me explicitly, as lkp@intel.com account is the mail for
0-day ci team and the whole team is monitoring this to address the feedbacks.
>
> Cheers,
> Miguel
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/5] rust: types: introduce `ScopeGuard`
@ 2023-01-19 17:40 Wedson Almeida Filho
2023-01-19 17:40 ` [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type Wedson Almeida Filho
0 siblings, 1 reply; 12+ messages in thread
From: Wedson Almeida Filho @ 2023-01-19 17:40 UTC (permalink / raw)
To: rust-for-linux
Cc: Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, linux-kernel, Wedson Almeida Filho
This allows us to run some code when the guard is dropped (e.g.,
implicitly when it goes out of scope). We can also prevent the
guard from running by calling its `dismiss()` method.
Signed-off-by: Wedson Almeida Filho <wedsonaf@gmail.com>
---
rust/kernel/types.rs | 127 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 126 insertions(+), 1 deletion(-)
diff --git a/rust/kernel/types.rs b/rust/kernel/types.rs
index e84e51ec9716..f0ad4472292d 100644
--- a/rust/kernel/types.rs
+++ b/rust/kernel/types.rs
@@ -2,7 +2,132 @@
//! Kernel types.
-use core::{cell::UnsafeCell, mem::MaybeUninit};
+use alloc::boxed::Box;
+use core::{
+ cell::UnsafeCell,
+ mem::MaybeUninit,
+ ops::{Deref, DerefMut},
+};
+
+/// Runs a cleanup function/closure when dropped.
+///
+/// The [`ScopeGuard::dismiss`] function prevents the cleanup function from running.
+///
+/// # Examples
+///
+/// In the example below, we have multiple exit paths and we want to log regardless of which one is
+/// taken:
+/// ```
+/// # use kernel::ScopeGuard;
+/// fn example1(arg: bool) {
+/// let _log = ScopeGuard::new(|| pr_info!("example1 completed\n"));
+///
+/// if arg {
+/// return;
+/// }
+///
+/// pr_info!("Do something...\n");
+/// }
+///
+/// # example1(false);
+/// # example1(true);
+/// ```
+///
+/// In the example below, we want to log the same message on all early exits but a different one on
+/// the main exit path:
+/// ```
+/// # use kernel::ScopeGuard;
+/// fn example2(arg: bool) {
+/// let log = ScopeGuard::new(|| pr_info!("example2 returned early\n"));
+///
+/// if arg {
+/// return;
+/// }
+///
+/// // (Other early returns...)
+///
+/// log.dismiss();
+/// pr_info!("example2 no early return\n");
+/// }
+///
+/// # example2(false);
+/// # example2(true);
+/// ```
+///
+/// In the example below, we need a mutable object (the vector) to be accessible within the log
+/// function, so we wrap it in the [`ScopeGuard`]:
+/// ```
+/// # use kernel::ScopeGuard;
+/// fn example3(arg: bool) -> Result {
+/// let mut vec =
+/// ScopeGuard::new_with_data(Vec::new(), |v| pr_info!("vec had {} elements\n", v.len()));
+///
+/// vec.try_push(10u8)?;
+/// if arg {
+/// return Ok(());
+/// }
+/// vec.try_push(20u8)?;
+/// Ok(())
+/// }
+///
+/// # assert_eq!(example3(false), Ok(()));
+/// # assert_eq!(example3(true), Ok(()));
+/// ```
+///
+/// # Invariants
+///
+/// The value stored in the struct is nearly always `Some(_)`, except between
+/// [`ScopeGuard::dismiss`] and [`ScopeGuard::drop`]: in this case, it will be `None` as the value
+/// will have been returned to the caller. Since [`ScopeGuard::dismiss`] consumes the guard,
+/// callers won't be able to use it anymore.
+pub struct ScopeGuard<T, F: FnOnce(T)>(Option<(T, F)>);
+
+impl<T, F: FnOnce(T)> ScopeGuard<T, F> {
+ /// Creates a new guarded object wrapping the given data and with the given cleanup function.
+ pub fn new_with_data(data: T, cleanup_func: F) -> Self {
+ // INVARIANT: The struct is being initialised with `Some(_)`.
+ Self(Some((data, cleanup_func)))
+ }
+
+ /// Prevents the cleanup function from running and returns the guarded data.
+ pub fn dismiss(mut self) -> T {
+ // INVARIANT: This is the exception case in the invariant; it is not visible to callers
+ // because this function consumes `self`.
+ self.0.take().unwrap().0
+ }
+}
+
+impl ScopeGuard<(), Box<dyn FnOnce(())>> {
+ /// Creates a new guarded object with the given cleanup function.
+ pub fn new(cleanup: impl FnOnce()) -> ScopeGuard<(), impl FnOnce(())> {
+ ScopeGuard::new_with_data((), move |_| cleanup())
+ }
+}
+
+impl<T, F: FnOnce(T)> Deref for ScopeGuard<T, F> {
+ type Target = T;
+
+ fn deref(&self) -> &T {
+ // The type invariants guarantee that `unwrap` will succeed.
+ &self.0.as_ref().unwrap().0
+ }
+}
+
+impl<T, F: FnOnce(T)> DerefMut for ScopeGuard<T, F> {
+ fn deref_mut(&mut self) -> &mut T {
+ // The type invariants guarantee that `unwrap` will succeed.
+ &mut self.0.as_mut().unwrap().0
+ }
+}
+
+impl<T, F: FnOnce(T)> Drop for ScopeGuard<T, F> {
+ fn drop(&mut self) {
+ // Run the cleanup function if one is still present.
+ if let Some((data, cleanup)) = self.0.take() {
+ cleanup(data)
+ }
+ }
+}
/// Stores an opaque value.
///
--
2.34.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-19 17:40 [PATCH 1/5] rust: types: introduce `ScopeGuard` Wedson Almeida Filho
@ 2023-01-19 17:40 ` Wedson Almeida Filho
2023-01-27 14:03 ` Gary Guo
2023-01-28 11:14 ` Vincenzo Palazzo
0 siblings, 2 replies; 12+ messages in thread
From: Wedson Almeida Filho @ 2023-01-19 17:40 UTC (permalink / raw)
To: rust-for-linux
Cc: Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, linux-kernel, Wedson Almeida Filho
This allows us to use the unit type `()` when we have no object whose
ownership must be managed but one implementing the `ForeignOwnable`
trait is needed.
Signed-off-by: Wedson Almeida Filho <wedsonaf@gmail.com>
---
rust/kernel/types.rs | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/rust/kernel/types.rs b/rust/kernel/types.rs
index e037c262f23e..8f80cffbff59 100644
--- a/rust/kernel/types.rs
+++ b/rust/kernel/types.rs
@@ -85,6 +85,19 @@ impl<T: 'static> ForeignOwnable for Box<T> {
}
}
+impl ForeignOwnable for () {
+ type Borrowed<'a> = ();
+
+ fn into_foreign(self) -> *const core::ffi::c_void {
+ // We use 1 to be different from a null pointer.
+ 1usize as _
+ }
+
+ unsafe fn borrow<'a>(_: *const core::ffi::c_void) -> Self::Borrowed<'a> {}
+
+ unsafe fn from_foreign(_: *const core::ffi::c_void) -> Self {}
+}
+
/// Runs a cleanup function/closure when dropped.
///
/// The [`ScopeGuard::dismiss`] function prevents the cleanup function from running.
--
2.34.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-19 17:40 ` [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type Wedson Almeida Filho
@ 2023-01-27 14:03 ` Gary Guo
2023-01-27 14:11 ` Miguel Ojeda
2023-01-30 5:55 ` Wedson Almeida Filho
2023-01-28 11:14 ` Vincenzo Palazzo
1 sibling, 2 replies; 12+ messages in thread
From: Gary Guo @ 2023-01-27 14:03 UTC (permalink / raw)
To: Wedson Almeida Filho
Cc: rust-for-linux, Miguel Ojeda, Alex Gaynor, Boqun Feng,
Björn Roy Baron, linux-kernel
On Thu, 19 Jan 2023 14:40:35 -0300
Wedson Almeida Filho <wedsonaf@gmail.com> wrote:
> This allows us to use the unit type `()` when we have no object whose
> ownership must be managed but one implementing the `ForeignOwnable`
> trait is needed.
>
> Signed-off-by: Wedson Almeida Filho <wedsonaf@gmail.com>
> ---
> rust/kernel/types.rs | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/rust/kernel/types.rs b/rust/kernel/types.rs
> index e037c262f23e..8f80cffbff59 100644
> --- a/rust/kernel/types.rs
> +++ b/rust/kernel/types.rs
> @@ -85,6 +85,19 @@ impl<T: 'static> ForeignOwnable for Box<T> {
> }
> }
>
> +impl ForeignOwnable for () {
> + type Borrowed<'a> = ();
> +
> + fn into_foreign(self) -> *const core::ffi::c_void {
> + // We use 1 to be different from a null pointer.
> + 1usize as _
this should really be `core::ptr::invalid(1)`. That's currently
unstable, but can be equivalently written as
`NonNull::<()>::dangling().as_ptr()`.
This has a different semantic meaning from `as` since it explicitly
suggests an invalid provenance and thus will not alias with other
pointers. (Although I don't think compiler currently can take advantage
of this fact yet)
> + }
> +
> + unsafe fn borrow<'a>(_: *const core::ffi::c_void) -> Self::Borrowed<'a> {}
> +
> + unsafe fn from_foreign(_: *const core::ffi::c_void) -> Self {}
> +}
> +
> /// Runs a cleanup function/closure when dropped.
> ///
> /// The [`ScopeGuard::dismiss`] function prevents the cleanup function from running.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-27 14:03 ` Gary Guo
@ 2023-01-27 14:11 ` Miguel Ojeda
2023-01-28 11:13 ` Vincenzo Palazzo
2023-01-30 5:55 ` Wedson Almeida Filho
1 sibling, 1 reply; 12+ messages in thread
From: Miguel Ojeda @ 2023-01-27 14:11 UTC (permalink / raw)
To: Gary Guo
Cc: Wedson Almeida Filho, rust-for-linux, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Björn Roy Baron, linux-kernel
On Fri, Jan 27, 2023 at 3:03 PM Gary Guo <gary@garyguo.net> wrote:
>
> this should really be `core::ptr::invalid(1)`. That's currently
> unstable, but can be equivalently written as
> `NonNull::<()>::dangling().as_ptr()`.
>
> This has a different semantic meaning from `as` since it explicitly
> suggests an invalid provenance and thus will not alias with other
> pointers. (Although I don't think compiler currently can take advantage
> of this fact yet)
We talked about starting to use `strict_provenance` when it came out
-- what is the latest status? i.e. do you know if it is expected that
it will pass FCP etc.? (my understanding originally was that it was an
experiment).
If it is likely to become stable, then I agree it could be nice to
start using it before a lot of kernel code gets written without it.
Thanks Gary!
Cheers,
Miguel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-27 14:11 ` Miguel Ojeda
@ 2023-01-28 11:13 ` Vincenzo Palazzo
2023-01-30 17:21 ` Miguel Ojeda
0 siblings, 1 reply; 12+ messages in thread
From: Vincenzo Palazzo @ 2023-01-28 11:13 UTC (permalink / raw)
To: Miguel Ojeda, Gary Guo
Cc: Wedson Almeida Filho, rust-for-linux, Miguel Ojeda, Alex Gaynor,
Boqun Feng, Björn Roy Baron, linux-kernel
On Fri Jan 27, 2023 at 3:11 PM CET, Miguel Ojeda wrote:
> On Fri, Jan 27, 2023 at 3:03 PM Gary Guo <gary@garyguo.net> wrote:
> >
> > this should really be `core::ptr::invalid(1)`. That's currently
> > unstable, but can be equivalently written as
> > `NonNull::<()>::dangling().as_ptr()`.
> >
> > This has a different semantic meaning from `as` since it explicitly
> > suggests an invalid provenance and thus will not alias with other
> > pointers. (Although I don't think compiler currently can take advantage
> > of this fact yet)
>
> We talked about starting to use `strict_provenance` when it came out
> -- what is the latest status? i.e. do you know if it is expected that
> it will pass FCP etc.? (my understanding originally was that it was an
> experiment).
From what I remember the feeling was positing into hace `strict_provenance`
Here is the last meeting that was back in August
https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/Stabilizing.20strict.20provenance.20APIs.3F
I guess, we could just put a fix me around the actual code, I feel that the Gary change deserve a
own patch with the own description.
Cheers!
Vincent.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-28 11:13 ` Vincenzo Palazzo
@ 2023-01-30 17:21 ` Miguel Ojeda
0 siblings, 0 replies; 12+ messages in thread
From: Miguel Ojeda @ 2023-01-30 17:21 UTC (permalink / raw)
To: Vincenzo Palazzo
Cc: Gary Guo, Wedson Almeida Filho, rust-for-linux, Miguel Ojeda,
Alex Gaynor, Boqun Feng, Björn Roy Baron, linux-kernel
On Sat, Jan 28, 2023 at 12:13 PM Vincenzo Palazzo
<vincenzopalazzodev@gmail.com> wrote:
>
> From what I remember the feeling was positing into hace `strict_provenance`
>
> Here is the last meeting that was back in August
> https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/Stabilizing.20strict.20provenance.20APIs.3F
Thanks Vincent! Yeah, as far as I understand Gary was in that meeting
(in October).
If there has not been anything after that, then I guess it is still
the case that provenance will probably happen (for better or worse,
depending on the perspective :) and that a subset of the APIs may get
stabilized first.
Cheers,
Miguel
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-27 14:03 ` Gary Guo
2023-01-27 14:11 ` Miguel Ojeda
@ 2023-01-30 5:55 ` Wedson Almeida Filho
1 sibling, 0 replies; 12+ messages in thread
From: Wedson Almeida Filho @ 2023-01-30 5:55 UTC (permalink / raw)
To: Gary Guo
Cc: rust-for-linux, Miguel Ojeda, Alex Gaynor, Boqun Feng,
Björn Roy Baron, linux-kernel
On Fri, 27 Jan 2023 at 11:03, Gary Guo <gary@garyguo.net> wrote:
>
> On Thu, 19 Jan 2023 14:40:35 -0300
> Wedson Almeida Filho <wedsonaf@gmail.com> wrote:
>
> > This allows us to use the unit type `()` when we have no object whose
> > ownership must be managed but one implementing the `ForeignOwnable`
> > trait is needed.
> >
> > Signed-off-by: Wedson Almeida Filho <wedsonaf@gmail.com>
> > ---
> > rust/kernel/types.rs | 13 +++++++++++++
> > 1 file changed, 13 insertions(+)
> >
> > diff --git a/rust/kernel/types.rs b/rust/kernel/types.rs
> > index e037c262f23e..8f80cffbff59 100644
> > --- a/rust/kernel/types.rs
> > +++ b/rust/kernel/types.rs
> > @@ -85,6 +85,19 @@ impl<T: 'static> ForeignOwnable for Box<T> {
> > }
> > }
> >
> > +impl ForeignOwnable for () {
> > + type Borrowed<'a> = ();
> > +
> > + fn into_foreign(self) -> *const core::ffi::c_void {
> > + // We use 1 to be different from a null pointer.
> > + 1usize as _
>
> this should really be `core::ptr::invalid(1)`. That's currently
> unstable, but can be equivalently written as
> `NonNull::<()>::dangling().as_ptr()`.
This has the wrong type, but I agree with the spirit of the
suggestion. I'll add it to V2.
> This has a different semantic meaning from `as` since it explicitly
> suggests an invalid provenance and thus will not alias with other
> pointers. (Although I don't think compiler currently can take advantage
> of this fact yet)
>
> > + }
> > +
> > + unsafe fn borrow<'a>(_: *const core::ffi::c_void) -> Self::Borrowed<'a> {}
> > +
> > + unsafe fn from_foreign(_: *const core::ffi::c_void) -> Self {}
> > +}
> > +
> > /// Runs a cleanup function/closure when dropped.
> > ///
> > /// The [`ScopeGuard::dismiss`] function prevents the cleanup function from running.
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type
2023-01-19 17:40 ` [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type Wedson Almeida Filho
2023-01-27 14:03 ` Gary Guo
@ 2023-01-28 11:14 ` Vincenzo Palazzo
1 sibling, 0 replies; 12+ messages in thread
From: Vincenzo Palazzo @ 2023-01-28 11:14 UTC (permalink / raw)
To: Wedson Almeida Filho, rust-for-linux
Cc: Miguel Ojeda, Alex Gaynor, Boqun Feng, Gary Guo,
Björn Roy Baron, linux-kernel
On Thu Jan 19, 2023 at 6:40 PM CET, Wedson Almeida Filho wrote:
> This allows us to use the unit type `()` when we have no object whose
> ownership must be managed but one implementing the `ForeignOwnable`
> trait is needed.
>
> Signed-off-by: Wedson Almeida Filho <wedsonaf@gmail.com>
Reviewed-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
> ---
> rust/kernel/types.rs | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/rust/kernel/types.rs b/rust/kernel/types.rs
> index e037c262f23e..8f80cffbff59 100644
> --- a/rust/kernel/types.rs
> +++ b/rust/kernel/types.rs
> @@ -85,6 +85,19 @@ impl<T: 'static> ForeignOwnable for Box<T> {
> }
> }
>
> +impl ForeignOwnable for () {
> + type Borrowed<'a> = ();
> +
> + fn into_foreign(self) -> *const core::ffi::c_void {
> + // We use 1 to be different from a null pointer.
> + 1usize as _
> + }
> +
> + unsafe fn borrow<'a>(_: *const core::ffi::c_void) -> Self::Borrowed<'a> {}
> +
> + unsafe fn from_foreign(_: *const core::ffi::c_void) -> Self {}
> +}
> +
> /// Runs a cleanup function/closure when dropped.
> ///
> /// The [`ScopeGuard::dismiss`] function prevents the cleanup function from running.
> --
> 2.34.1
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-01-30 17:21 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-20 8:14 [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type kernel test robot
2023-01-20 21:41 ` Miguel Ojeda
2023-01-21 2:42 ` Philip Li
2023-01-21 11:15 ` Miguel Ojeda
2023-01-21 12:55 ` Philip Li
-- strict thread matches above, loose matches on Subject: below --
2023-01-19 17:40 [PATCH 1/5] rust: types: introduce `ScopeGuard` Wedson Almeida Filho
2023-01-19 17:40 ` [PATCH 4/5] rust: types: implement `ForeignOwnable` for the unit type Wedson Almeida Filho
2023-01-27 14:03 ` Gary Guo
2023-01-27 14:11 ` Miguel Ojeda
2023-01-28 11:13 ` Vincenzo Palazzo
2023-01-30 17:21 ` Miguel Ojeda
2023-01-30 5:55 ` Wedson Almeida Filho
2023-01-28 11:14 ` Vincenzo Palazzo
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.