From: kernel test robot <lkp@intel.com>
To: Mark Brown <broonie@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Shuah Khan <skhan@linuxfoundation.org>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
Alan Hayward <alan.hayward@arm.com>,
Luis Machado <luis.machado@arm.com>,
Salil Akerkar <Salil.Akerkar@arm.com>,
Basant Kumar Dwivedi <Basant.KumarDwivedi@arm.com>,
Szabolcs Nagy <szabolcs.nagy@arm.com>,
linux-arm-kernel@lists.infradead.org,
linux-kselftest@vger.kernel.org
Subject: Re: [PATCH v1 19/38] arm64/sme: Implement vector length configuration prctl()s
Date: Sat, 2 Oct 2021 00:38:16 +0800 [thread overview]
Message-ID: <202110020005.0HSnZLw6-lkp@intel.com> (raw)
In-Reply-To: <20210930181144.10029-20-broonie@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 11327 bytes --]
Hi Mark,
I love your patch! Yet something to improve:
[auto build test ERROR on 8694e5e6388695195a32bd5746635ca166a8df56]
url: https://github.com/0day-ci/linux/commits/Mark-Brown/arm64-sme-Initial-support-for-the-Scalable-Matrix-Extension/20211001-021749
base: 8694e5e6388695195a32bd5746635ca166a8df56
config: arm64-randconfig-r024-20210930 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 962e503cc8bc411f7523cc393acae8aae425b1c4)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/f3b1bea56a1628668cc399d8eaae7ea4cacd8186
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Mark-Brown/arm64-sme-Initial-support-for-the-Scalable-Matrix-Extension/20211001-021749
git checkout f3b1bea56a1628668cc399d8eaae7ea4cacd8186
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> kernel/sys.c:2467:11: error: implicit declaration of function 'sme_set_current_vl' [-Werror,-Wimplicit-function-declaration]
error = SME_SET_VL(arg2);
^
arch/arm64/include/asm/processor.h:360:25: note: expanded from macro 'SME_SET_VL'
#define SME_SET_VL(arg) sme_set_current_vl(arg)
^
kernel/sys.c:2467:11: note: did you mean 'sve_set_current_vl'?
arch/arm64/include/asm/processor.h:360:25: note: expanded from macro 'SME_SET_VL'
#define SME_SET_VL(arg) sme_set_current_vl(arg)
^
arch/arm64/include/asm/fpsimd.h:236:19: note: 'sve_set_current_vl' declared here
static inline int sve_set_current_vl(unsigned long arg)
^
>> kernel/sys.c:2470:11: error: implicit declaration of function 'sme_get_current_vl' [-Werror,-Wimplicit-function-declaration]
error = SME_GET_VL();
^
arch/arm64/include/asm/processor.h:361:22: note: expanded from macro 'SME_GET_VL'
#define SME_GET_VL() sme_get_current_vl()
^
2 errors generated.
vim +/sme_set_current_vl +2467 kernel/sys.c
2263
2264 SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
2265 unsigned long, arg4, unsigned long, arg5)
2266 {
2267 struct task_struct *me = current;
2268 unsigned char comm[sizeof(me->comm)];
2269 long error;
2270
2271 error = security_task_prctl(option, arg2, arg3, arg4, arg5);
2272 if (error != -ENOSYS)
2273 return error;
2274
2275 error = 0;
2276 switch (option) {
2277 case PR_SET_PDEATHSIG:
2278 if (!valid_signal(arg2)) {
2279 error = -EINVAL;
2280 break;
2281 }
2282 me->pdeath_signal = arg2;
2283 break;
2284 case PR_GET_PDEATHSIG:
2285 error = put_user(me->pdeath_signal, (int __user *)arg2);
2286 break;
2287 case PR_GET_DUMPABLE:
2288 error = get_dumpable(me->mm);
2289 break;
2290 case PR_SET_DUMPABLE:
2291 if (arg2 != SUID_DUMP_DISABLE && arg2 != SUID_DUMP_USER) {
2292 error = -EINVAL;
2293 break;
2294 }
2295 set_dumpable(me->mm, arg2);
2296 break;
2297
2298 case PR_SET_UNALIGN:
2299 error = SET_UNALIGN_CTL(me, arg2);
2300 break;
2301 case PR_GET_UNALIGN:
2302 error = GET_UNALIGN_CTL(me, arg2);
2303 break;
2304 case PR_SET_FPEMU:
2305 error = SET_FPEMU_CTL(me, arg2);
2306 break;
2307 case PR_GET_FPEMU:
2308 error = GET_FPEMU_CTL(me, arg2);
2309 break;
2310 case PR_SET_FPEXC:
2311 error = SET_FPEXC_CTL(me, arg2);
2312 break;
2313 case PR_GET_FPEXC:
2314 error = GET_FPEXC_CTL(me, arg2);
2315 break;
2316 case PR_GET_TIMING:
2317 error = PR_TIMING_STATISTICAL;
2318 break;
2319 case PR_SET_TIMING:
2320 if (arg2 != PR_TIMING_STATISTICAL)
2321 error = -EINVAL;
2322 break;
2323 case PR_SET_NAME:
2324 comm[sizeof(me->comm) - 1] = 0;
2325 if (strncpy_from_user(comm, (char __user *)arg2,
2326 sizeof(me->comm) - 1) < 0)
2327 return -EFAULT;
2328 set_task_comm(me, comm);
2329 proc_comm_connector(me);
2330 break;
2331 case PR_GET_NAME:
2332 get_task_comm(comm, me);
2333 if (copy_to_user((char __user *)arg2, comm, sizeof(comm)))
2334 return -EFAULT;
2335 break;
2336 case PR_GET_ENDIAN:
2337 error = GET_ENDIAN(me, arg2);
2338 break;
2339 case PR_SET_ENDIAN:
2340 error = SET_ENDIAN(me, arg2);
2341 break;
2342 case PR_GET_SECCOMP:
2343 error = prctl_get_seccomp();
2344 break;
2345 case PR_SET_SECCOMP:
2346 error = prctl_set_seccomp(arg2, (char __user *)arg3);
2347 break;
2348 case PR_GET_TSC:
2349 error = GET_TSC_CTL(arg2);
2350 break;
2351 case PR_SET_TSC:
2352 error = SET_TSC_CTL(arg2);
2353 break;
2354 case PR_TASK_PERF_EVENTS_DISABLE:
2355 error = perf_event_task_disable();
2356 break;
2357 case PR_TASK_PERF_EVENTS_ENABLE:
2358 error = perf_event_task_enable();
2359 break;
2360 case PR_GET_TIMERSLACK:
2361 if (current->timer_slack_ns > ULONG_MAX)
2362 error = ULONG_MAX;
2363 else
2364 error = current->timer_slack_ns;
2365 break;
2366 case PR_SET_TIMERSLACK:
2367 if (arg2 <= 0)
2368 current->timer_slack_ns =
2369 current->default_timer_slack_ns;
2370 else
2371 current->timer_slack_ns = arg2;
2372 break;
2373 case PR_MCE_KILL:
2374 if (arg4 | arg5)
2375 return -EINVAL;
2376 switch (arg2) {
2377 case PR_MCE_KILL_CLEAR:
2378 if (arg3 != 0)
2379 return -EINVAL;
2380 current->flags &= ~PF_MCE_PROCESS;
2381 break;
2382 case PR_MCE_KILL_SET:
2383 current->flags |= PF_MCE_PROCESS;
2384 if (arg3 == PR_MCE_KILL_EARLY)
2385 current->flags |= PF_MCE_EARLY;
2386 else if (arg3 == PR_MCE_KILL_LATE)
2387 current->flags &= ~PF_MCE_EARLY;
2388 else if (arg3 == PR_MCE_KILL_DEFAULT)
2389 current->flags &=
2390 ~(PF_MCE_EARLY|PF_MCE_PROCESS);
2391 else
2392 return -EINVAL;
2393 break;
2394 default:
2395 return -EINVAL;
2396 }
2397 break;
2398 case PR_MCE_KILL_GET:
2399 if (arg2 | arg3 | arg4 | arg5)
2400 return -EINVAL;
2401 if (current->flags & PF_MCE_PROCESS)
2402 error = (current->flags & PF_MCE_EARLY) ?
2403 PR_MCE_KILL_EARLY : PR_MCE_KILL_LATE;
2404 else
2405 error = PR_MCE_KILL_DEFAULT;
2406 break;
2407 case PR_SET_MM:
2408 error = prctl_set_mm(arg2, arg3, arg4, arg5);
2409 break;
2410 case PR_GET_TID_ADDRESS:
2411 error = prctl_get_tid_address(me, (int __user * __user *)arg2);
2412 break;
2413 case PR_SET_CHILD_SUBREAPER:
2414 me->signal->is_child_subreaper = !!arg2;
2415 if (!arg2)
2416 break;
2417
2418 walk_process_tree(me, propagate_has_child_subreaper, NULL);
2419 break;
2420 case PR_GET_CHILD_SUBREAPER:
2421 error = put_user(me->signal->is_child_subreaper,
2422 (int __user *)arg2);
2423 break;
2424 case PR_SET_NO_NEW_PRIVS:
2425 if (arg2 != 1 || arg3 || arg4 || arg5)
2426 return -EINVAL;
2427
2428 task_set_no_new_privs(current);
2429 break;
2430 case PR_GET_NO_NEW_PRIVS:
2431 if (arg2 || arg3 || arg4 || arg5)
2432 return -EINVAL;
2433 return task_no_new_privs(current) ? 1 : 0;
2434 case PR_GET_THP_DISABLE:
2435 if (arg2 || arg3 || arg4 || arg5)
2436 return -EINVAL;
2437 error = !!test_bit(MMF_DISABLE_THP, &me->mm->flags);
2438 break;
2439 case PR_SET_THP_DISABLE:
2440 if (arg3 || arg4 || arg5)
2441 return -EINVAL;
2442 if (mmap_write_lock_killable(me->mm))
2443 return -EINTR;
2444 if (arg2)
2445 set_bit(MMF_DISABLE_THP, &me->mm->flags);
2446 else
2447 clear_bit(MMF_DISABLE_THP, &me->mm->flags);
2448 mmap_write_unlock(me->mm);
2449 break;
2450 case PR_MPX_ENABLE_MANAGEMENT:
2451 case PR_MPX_DISABLE_MANAGEMENT:
2452 /* No longer implemented: */
2453 return -EINVAL;
2454 case PR_SET_FP_MODE:
2455 error = SET_FP_MODE(me, arg2);
2456 break;
2457 case PR_GET_FP_MODE:
2458 error = GET_FP_MODE(me);
2459 break;
2460 case PR_SVE_SET_VL:
2461 error = SVE_SET_VL(arg2);
2462 break;
2463 case PR_SVE_GET_VL:
2464 error = SVE_GET_VL();
2465 break;
2466 case PR_SME_SET_VL:
> 2467 error = SME_SET_VL(arg2);
2468 break;
2469 case PR_SME_GET_VL:
> 2470 error = SME_GET_VL();
2471 break;
2472 case PR_GET_SPECULATION_CTRL:
2473 if (arg3 || arg4 || arg5)
2474 return -EINVAL;
2475 error = arch_prctl_spec_ctrl_get(me, arg2);
2476 break;
2477 case PR_SET_SPECULATION_CTRL:
2478 if (arg4 || arg5)
2479 return -EINVAL;
2480 error = arch_prctl_spec_ctrl_set(me, arg2, arg3);
2481 break;
2482 case PR_PAC_RESET_KEYS:
2483 if (arg3 || arg4 || arg5)
2484 return -EINVAL;
2485 error = PAC_RESET_KEYS(me, arg2);
2486 break;
2487 case PR_PAC_SET_ENABLED_KEYS:
2488 if (arg4 || arg5)
2489 return -EINVAL;
2490 error = PAC_SET_ENABLED_KEYS(me, arg2, arg3);
2491 break;
2492 case PR_PAC_GET_ENABLED_KEYS:
2493 if (arg2 || arg3 || arg4 || arg5)
2494 return -EINVAL;
2495 error = PAC_GET_ENABLED_KEYS(me);
2496 break;
2497 case PR_SET_TAGGED_ADDR_CTRL:
2498 if (arg3 || arg4 || arg5)
2499 return -EINVAL;
2500 error = SET_TAGGED_ADDR_CTRL(arg2);
2501 break;
2502 case PR_GET_TAGGED_ADDR_CTRL:
2503 if (arg2 || arg3 || arg4 || arg5)
2504 return -EINVAL;
2505 error = GET_TAGGED_ADDR_CTRL();
2506 break;
2507 case PR_SET_IO_FLUSHER:
2508 if (!capable(CAP_SYS_RESOURCE))
2509 return -EPERM;
2510
2511 if (arg3 || arg4 || arg5)
2512 return -EINVAL;
2513
2514 if (arg2 == 1)
2515 current->flags |= PR_IO_FLUSHER;
2516 else if (!arg2)
2517 current->flags &= ~PR_IO_FLUSHER;
2518 else
2519 return -EINVAL;
2520 break;
2521 case PR_GET_IO_FLUSHER:
2522 if (!capable(CAP_SYS_RESOURCE))
2523 return -EPERM;
2524
2525 if (arg2 || arg3 || arg4 || arg5)
2526 return -EINVAL;
2527
2528 error = (current->flags & PR_IO_FLUSHER) == PR_IO_FLUSHER;
2529 break;
2530 case PR_SET_SYSCALL_USER_DISPATCH:
2531 error = set_syscall_user_dispatch(arg2, arg3, arg4,
2532 (char __user *) arg5);
2533 break;
2534 #ifdef CONFIG_SCHED_CORE
2535 case PR_SCHED_CORE:
2536 error = sched_core_share_pid(arg2, arg3, arg4, arg5);
2537 break;
2538 #endif
2539 default:
2540 error = -EINVAL;
2541 break;
2542 }
2543 return error;
2544 }
2545
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 42378 bytes --]
next prev parent reply other threads:[~2021-10-01 16:40 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-30 18:11 [PATCH v1 00/38] arm64/sme: Initial support for the Scalable Matrix Extension Mark Brown
2021-09-30 18:11 ` [PATCH v1 01/38] arm64/fp: Reindent fpsimd_save() Mark Brown
2021-10-11 9:39 ` Jonathan Cameron
2021-10-11 13:02 ` Mark Brown
2021-09-30 18:11 ` [PATCH v1 02/38] arm64/sve: Remove sve_load_from_fpsimd_state() Mark Brown
2021-09-30 18:11 ` [PATCH v1 03/38] arm64/sve: Make access to FFR optional Mark Brown
2021-09-30 18:11 ` [PATCH v1 04/38] arm64/sve: Rename find_supported_vector_length() Mark Brown
2021-09-30 18:11 ` [PATCH v1 05/38] arm64/sve: Use accessor functions for vector lengths in thread_struct Mark Brown
2021-09-30 18:11 ` [PATCH v1 06/38] arm64/sve: Put system wide vector length information into structs Mark Brown
2021-10-01 3:13 ` kernel test robot
2021-09-30 18:11 ` [PATCH v1 07/38] arm64/sve: Explicitly load vector length when restoring SVE state Mark Brown
2021-09-30 18:11 ` [PATCH v1 08/38] arm64/sve: Track vector lengths for tasks in an array Mark Brown
2021-10-11 10:20 ` Jonathan Cameron
2021-10-11 13:14 ` Mark Brown
2021-10-11 13:18 ` Jonathan Cameron
2021-09-30 18:11 ` [PATCH v1 09/38] arm64/sve: Make sysctl interface for SVE reusable by SME Mark Brown
2021-09-30 18:11 ` [PATCH v1 10/38] arm64/sve: Generalise vector length configuration prctl() for SME Mark Brown
2021-10-11 10:27 ` Jonathan Cameron
2021-10-11 13:18 ` Mark Brown
2021-09-30 18:11 ` [PATCH v1 11/38] selftests: arm64: Parameterise ptrace vector length information Mark Brown
2021-09-30 18:11 ` [PATCH v1 12/38] arm64/sme: Provide ABI documentation for SME Mark Brown
2021-10-08 14:11 ` Alan Hayward
2021-10-08 15:28 ` Mark Brown
2021-10-08 16:45 ` Alan Hayward
2021-10-08 17:04 ` Mark Brown
2021-10-11 11:15 ` Alan Hayward
2021-10-11 11:48 ` Mark Brown
2021-10-11 11:05 ` Jonathan Cameron
2021-10-11 13:20 ` Mark Brown
2021-10-11 13:17 ` Szabolcs Nagy
2021-10-11 13:23 ` Mark Brown
2021-10-11 14:19 ` Szabolcs Nagy
2021-10-11 20:10 ` Mark Brown
2021-10-12 8:23 ` Szabolcs Nagy
2021-10-13 18:37 ` Mark Brown
2021-10-14 9:57 ` Szabolcs Nagy
2021-09-30 18:11 ` [PATCH v1 13/38] arm64/sme: System register and exception syndrome definitions Mark Brown
2021-09-30 18:11 ` [PATCH v1 14/38] arm64/sme: Define macros for manually encoding SME instructions Mark Brown
2021-09-30 18:11 ` [PATCH v1 15/38] arm64/sme: Early CPU setup for SME Mark Brown
2021-09-30 18:11 ` [PATCH v1 16/38] arm64/sme: Basic enumeration support Mark Brown
2021-09-30 18:11 ` [PATCH v1 17/38] arm64/sme: Identify supported SME vector lengths at boot Mark Brown
2021-09-30 18:11 ` [PATCH v1 18/38] arm64/sme: Implement sysctl to set the default vector length Mark Brown
2021-09-30 18:11 ` [PATCH v1 19/38] arm64/sme: Implement vector length configuration prctl()s Mark Brown
2021-10-01 5:20 ` kernel test robot
2021-10-01 12:40 ` Mark Brown
2021-10-08 1:32 ` [kbuild-all] " Chen, Rong A
2021-10-01 16:38 ` kernel test robot [this message]
2021-09-30 18:11 ` [PATCH v1 20/38] arm64/sme: Implement support for TPIDR2 Mark Brown
2021-09-30 18:11 ` [PATCH v1 21/38] arm64/sme: Implement SVCR context switching Mark Brown
2021-10-11 12:15 ` Jonathan Cameron
2021-09-30 18:11 ` [PATCH v1 22/38] arm64/sme: Implement streaming SVE " Mark Brown
2021-09-30 18:11 ` [PATCH v1 23/38] arm64/sme: Implement ZA " Mark Brown
2021-10-11 12:27 ` Jonathan Cameron
2021-09-30 18:11 ` [PATCH v1 24/38] arm64/sme: Implement traps and syscall handling for SME Mark Brown
2021-10-11 12:37 ` Jonathan Cameron
2021-09-30 18:11 ` [PATCH v1 25/38] arm64/sme: Implement streaming SVE signal handling Mark Brown
2021-09-30 18:11 ` [PATCH v1 26/38] arm64/sme: Implement ZA " Mark Brown
2021-09-30 18:11 ` [PATCH v1 27/38] arm64/sme: Implement ptrace support for streaming mode SVE registers Mark Brown
2021-09-30 18:11 ` [PATCH v1 28/38] arm64/sme: Add ptrace support for ZA Mark Brown
2021-09-30 18:11 ` [PATCH v1 29/38] arm64/sme: Disable streaming mode and ZA when flushing CPU state Mark Brown
2021-09-30 18:11 ` [PATCH v1 30/38] arm64/sme: Save and restore streaming mode over EFI runtime calls Mark Brown
2021-09-30 18:11 ` [PATCH v1 31/38] arm64/sme: Provide Kconfig for SME Mark Brown
2021-09-30 18:11 ` [PATCH v1 32/38] kselftest/arm64: Add tests for TPIDR2 Mark Brown
2021-09-30 18:11 ` [PATCH v1 33/38] kselftest/arm64: Extend vector configuration API tests to cover SME Mark Brown
2021-09-30 18:11 ` [PATCH v1 34/38] kselftest/arm64: sme: Provide streaming mode SVE stress test Mark Brown
2021-09-30 18:11 ` [PATCH v1 35/38] kselftest/arm64: Add stress test for SME ZA context switching Mark Brown
2021-09-30 18:11 ` [PATCH v1 36/38] kselftest/arm64: signal: Add SME signal handling tests Mark Brown
2021-09-30 18:11 ` [PATCH v1 37/38] selftests: arm64: Add streaming SVE to SVE ptrace tests Mark Brown
2021-09-30 18:11 ` [PATCH v1 38/38] selftests: arm64: Add coverage for the ZA ptrace interface Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202110020005.0HSnZLw6-lkp@intel.com \
--to=lkp@intel.com \
--cc=Basant.KumarDwivedi@arm.com \
--cc=Salil.Akerkar@arm.com \
--cc=alan.hayward@arm.com \
--cc=broonie@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=luis.machado@arm.com \
--cc=skhan@linuxfoundation.org \
--cc=szabolcs.nagy@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).