
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: e4755f6a2b98f251edcf63f98f416b5d76425f8c commit: 2e2b7d495f53c8cc013c4177c1f9da540f9155c9 [3003/3003] x86/sgx: Add a page reclaimer config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20250702/202507022302.stbezZy1-lkp@i...) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) rustc: rustc 1.58.0 (02072b482 2022-01-11) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250702/202507022302.stbezZy1-lkp@i...) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202507022302.stbezZy1-lkp@intel.com/ All warnings (new ones prefixed by >>): arch/x86/kernel/cpu/sgx/encl.c:289: warning: Function parameter or member 'ref' not described in 'sgx_encl_release'
arch/x86/kernel/cpu/sgx/encl.c:289: warning: Excess function parameter 'kref' description in 'sgx_encl_release'
vim +289 arch/x86/kernel/cpu/sgx/encl.c 280 281 /** 282 * sgx_encl_release - Destroy an enclave instance 283 * @kref: address of a kref inside &sgx_encl 284 * 285 * Used together with kref_put(). Frees all the resources associated with the 286 * enclave and the instance itself. 287 */ 288 void sgx_encl_release(struct kref *ref)
289 { 290 struct sgx_encl *encl = container_of(ref, struct sgx_encl, refcount); 291 struct sgx_va_page *va_page; 292 struct sgx_encl_page *entry; 293 unsigned long index; 294 295 xa_for_each(&encl->page_array, index, entry) { 296 if (entry->epc_page) { 297 /* 298 * The page and its radix tree entry cannot be freed 299 * if the page is being held by the reclaimer. 300 */ 301 if (sgx_unmark_page_reclaimable(entry->epc_page)) 302 continue; 303 304 sgx_free_epc_page(entry->epc_page); 305 encl->secs_child_cnt--; 306 entry->epc_page = NULL; 307 } 308 309 kfree(entry); 310 } 311 312 xa_destroy(&encl->page_array); 313 314 if (!encl->secs_child_cnt && encl->secs.epc_page) { 315 sgx_free_epc_page(encl->secs.epc_page); 316 encl->secs.epc_page = NULL; 317 } 318 319 while (!list_empty(&encl->va_pages)) { 320 va_page = list_first_entry(&encl->va_pages, struct sgx_va_page, 321 list); 322 list_del(&va_page->list); 323 sgx_free_epc_page(va_page->epc_page); 324 kfree(va_page); 325 } 326 327 if (encl->backing) 328 fput(encl->backing); 329 330 cleanup_srcu_struct(&encl->srcu); 331 332 WARN_ON_ONCE(!list_empty(&encl->mm_list)); 333 334 /* Detect EPC page leak's. */ 335 WARN_ON_ONCE(encl->secs_child_cnt); 336 WARN_ON_ONCE(encl->secs.epc_page); 337 338 kfree(encl); 339 } 340
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki