Lines Matching +full:smp +full:- +full:capable

1 // SPDX-License-Identifier: GPL-2.0-only
25 * this indicates whether you can reboot with ctrl-alt-del: the default is yes
86 * emergency_restart - reboot the system
110 * register_reboot_notifier - Register function to be called at reboot time
126 * unregister_reboot_notifier - Unregister previously registered reboot notifier
132 * Returns zero on success, or %-ENOENT on failure.
153 return -ENOMEM; in devm_register_reboot_notifier()
174 * register_restart_handler - Register function to be called to reset
177 * @nb->priority: Handler priority. Handlers should follow the
193 * machine_restart function calls do_kernel_restart - see below
199 * Restart handlers are expected to be registered from non-architecture
218 * unregister_restart_handler - Unregister previously registered
224 * Returns zero on success, or %-ENOENT on failure.
233 * do_kernel_restart - Execute kernel restart handler call chain
263 current->flags |= PF_NO_SETAFFINITY; in migrate_to_reboot_cpu()
281 * kernel_restart - reboot the system
312 * kernel_halt - halt the system
349 data.cb_data = handler->cb_data; in sys_off_notify()
352 data.dev = handler->dev; in sys_off_notify()
354 return handler->sys_off_cb(&data); in sys_off_notify()
370 if (handler->cb_data) in alloc_sys_off_handler()
371 return ERR_PTR(-EBUSY); in alloc_sys_off_handler()
380 return ERR_PTR(-ENOMEM); in alloc_sys_off_handler()
395 * register_sys_off_handler - Register sys-off handler
396 * @mode: Sys-off mode
401 * Registers system power-off or restart handler that will be invoked
402 * at the step corresponding to the given sys-off mode. Handler's callback
409 * Only one handler can be registered at the non-default priority level,
410 * otherwise ERR_PTR(-EBUSY) is returned.
413 * an ERR_PTR()-encoded error code otherwise.
430 handler->list = &power_off_prep_handler_list; in register_sys_off_handler()
431 handler->blocking = true; in register_sys_off_handler()
435 handler->list = &power_off_handler_list; in register_sys_off_handler()
439 handler->list = &restart_prep_handler_list; in register_sys_off_handler()
440 handler->blocking = true; in register_sys_off_handler()
444 handler->list = &restart_handler_list; in register_sys_off_handler()
449 return ERR_PTR(-EINVAL); in register_sys_off_handler()
452 handler->nb.notifier_call = sys_off_notify; in register_sys_off_handler()
453 handler->nb.priority = priority; in register_sys_off_handler()
454 handler->sys_off_cb = callback; in register_sys_off_handler()
455 handler->cb_data = cb_data; in register_sys_off_handler()
456 handler->mode = mode; in register_sys_off_handler()
458 if (handler->blocking) { in register_sys_off_handler()
460 err = blocking_notifier_chain_register(handler->list, in register_sys_off_handler()
461 &handler->nb); in register_sys_off_handler()
463 err = blocking_notifier_chain_register_unique_prio(handler->list, in register_sys_off_handler()
464 &handler->nb); in register_sys_off_handler()
467 err = atomic_notifier_chain_register(handler->list, in register_sys_off_handler()
468 &handler->nb); in register_sys_off_handler()
470 err = atomic_notifier_chain_register_unique_prio(handler->list, in register_sys_off_handler()
471 &handler->nb); in register_sys_off_handler()
484 * unregister_sys_off_handler - Unregister sys-off handler
485 * @handler: Sys-off handler
487 * Unregisters given sys-off handler.
496 if (handler->blocking) in unregister_sys_off_handler()
497 err = blocking_notifier_chain_unregister(handler->list, in unregister_sys_off_handler()
498 &handler->nb); in unregister_sys_off_handler()
500 err = atomic_notifier_chain_unregister(handler->list, in unregister_sys_off_handler()
501 &handler->nb); in unregister_sys_off_handler()
518 * devm_register_sys_off_handler - Register sys-off handler
520 * @mode: Sys-off mode
525 * Registers resource-managed sys-off handler.
540 handler->dev = dev; in devm_register_sys_off_handler()
548 * devm_register_power_off_handler - Register power-off handler
553 * Registers resource-managed sys-off handler with a default priority
554 * and using power-off mode.
570 * devm_register_restart_handler - Register restart handler
575 * Registers resource-managed sys-off handler with a default priority
595 void (*platform_power_power_off_cb)(void) = data->cb_data; in platform_power_off_notify()
603 * register_platform_power_off - Register platform-level power-off callback
604 * @power_off: Power-off callback
606 * Registers power-off callback that will be called as last step
607 * of the power-off sequence. This callback is expected to be invoked
608 * for the last resort. Only one platform power-off callback is allowed
631 * unregister_platform_power_off - Unregister platform-level power-off callback
632 * @power_off: Power-off callback
634 * Unregisters previously registered platform power-off callback.
639 platform_power_off_handler->cb_data == power_off) { in unregister_platform_power_off()
660 * do_kernel_power_off - Execute kernel power-off handler call chain
662 * Expected to be called as last step of the power-off sequence.
664 * Powers off the system immediately if a power-off handler function has
672 * Register sys-off handlers for legacy PM callback. This allows in do_kernel_power_off()
673 * legacy PM callbacks temporary co-exist with the new sys-off API. in do_kernel_power_off()
676 * switched to the sys-off based APIs. in do_kernel_power_off()
689 * kernel_can_power_off - check whether system can be powered off
691 * Returns true if power-off handler is registered and system can be
702 * kernel_power_off - power_off the system
725 * You can also set the meaning of the ctrl-alt-del-key here.
737 if (!ns_capable(pid_ns->user_ns, CAP_SYS_BOOT)) in SYSCALL_DEFINE4()
738 return -EPERM; in SYSCALL_DEFINE4()
746 return -EINVAL; in SYSCALL_DEFINE4()
789 ret = strncpy_from_user(&buffer[0], arg, sizeof(buffer) - 1); in SYSCALL_DEFINE4()
791 ret = -EFAULT; in SYSCALL_DEFINE4()
794 buffer[sizeof(buffer) - 1] = '\0'; in SYSCALL_DEFINE4()
812 ret = -EINVAL; in SYSCALL_DEFINE4()
825 * This function gets called by ctrl-alt-del - ie the keyboard interrupt.
827 * is whether to reboot at once, or just ignore the ctrl-alt-del.
857 ret = -ENOMEM; in run_cmd()
909 * orderly_poweroff - Trigger an orderly system poweroff
931 * orderly_reboot - Trigger an orderly system reboot
957 * hw_failure_emergency_action_func - emergency action work after a known delay
967 pr_emerg("Hardware protection timed-out. Trying forced %s\n", in hw_failure_emergency_action_func()
995 * hw_failure_emergency_schedule - Schedule an emergency system shutdown or reboot
1015 * __hw_protection_trigger - Trigger an emergency system shutdown or reboot
1087 if (!capable(CAP_SYS_ADMIN)) in hw_protection_store()
1088 return -EPERM; in hw_protection_store()
1091 return -EINVAL; in hw_protection_store()
1133 * to be used for rebooting. Skip 's' or 'smp' prefix. in reboot_setup()
1224 if (!capable(CAP_SYS_BOOT)) in mode_store()
1225 return -EPERM; in mode_store()
1238 return -EINVAL; in mode_store()
1256 if (!capable(CAP_SYS_BOOT)) in force_store()
1257 return -EPERM; in force_store()
1260 return -EINVAL; in force_store()
1301 if (!capable(CAP_SYS_BOOT)) in type_store()
1302 return -EPERM; in type_store()
1317 return -EINVAL; in type_store()
1337 if (!capable(CAP_SYS_BOOT)) in cpu_store()
1338 return -EPERM; in cpu_store()
1346 return -ERANGE; in cpu_store()
1391 return -ESRCH; in proc_do_cad_pid()
1396 * call_rcu() here because free_pid() already owns pid->rcu. in proc_do_cad_pid()
1412 .procname = "ctrl-alt-del",
1445 return -ENOMEM; in reboot_ksysfs_init()