mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	 7e611710ac
			
		
	
	
		7e611710ac
		
	
	
	
	
		
			
			Add a helper function equivalent to the C's might_sleep(), which serves as a debugging aid and a potential scheduling point. Note that this function can only be used in a nonatomic context. This will be used by Rust version of read_poll_timeout(). [boqun: Use file_from_location() to get a C string instead of changing __might_sleep()] Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Link: https://lore.kernel.org/r/20250619151007.61767-3-boqun.feng@gmail.com
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0
 | |
| 
 | |
| #include <linux/kernel.h>
 | |
| #include <linux/sched/task.h>
 | |
| 
 | |
| void rust_helper_might_resched(void)
 | |
| {
 | |
| 	might_resched();
 | |
| }
 | |
| 
 | |
| struct task_struct *rust_helper_get_current(void)
 | |
| {
 | |
| 	return current;
 | |
| }
 | |
| 
 | |
| void rust_helper_get_task_struct(struct task_struct *t)
 | |
| {
 | |
| 	get_task_struct(t);
 | |
| }
 | |
| 
 | |
| void rust_helper_put_task_struct(struct task_struct *t)
 | |
| {
 | |
| 	put_task_struct(t);
 | |
| }
 | |
| 
 | |
| kuid_t rust_helper_task_uid(struct task_struct *task)
 | |
| {
 | |
| 	return task_uid(task);
 | |
| }
 | |
| 
 | |
| kuid_t rust_helper_task_euid(struct task_struct *task)
 | |
| {
 | |
| 	return task_euid(task);
 | |
| }
 | |
| 
 | |
| #ifndef CONFIG_USER_NS
 | |
| uid_t rust_helper_from_kuid(struct user_namespace *to, kuid_t uid)
 | |
| {
 | |
| 	return from_kuid(to, uid);
 | |
| }
 | |
| #endif /* CONFIG_USER_NS */
 | |
| 
 | |
| bool rust_helper_uid_eq(kuid_t left, kuid_t right)
 | |
| {
 | |
| 	return uid_eq(left, right);
 | |
| }
 | |
| 
 | |
| kuid_t rust_helper_current_euid(void)
 | |
| {
 | |
| 	return current_euid();
 | |
| }
 | |
| 
 | |
| struct user_namespace *rust_helper_current_user_ns(void)
 | |
| {
 | |
| 	return current_user_ns();
 | |
| }
 | |
| 
 | |
| pid_t rust_helper_task_tgid_nr_ns(struct task_struct *tsk,
 | |
| 				  struct pid_namespace *ns)
 | |
| {
 | |
| 	return task_tgid_nr_ns(tsk, ns);
 | |
| }
 |