mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 08:38:45 +02:00 
			
		
		
		
	 f73ca66f0d
			
		
	
	
		f73ca66f0d
		
	
	
	
	
		
			
			Reintroduce dynamically-allocated LockClassKeys such that they are automatically (de)registered. Require that all usages of LockClassKeys ensure that they are Pin'd. Currently, only `'static` LockClassKeys are supported, so Pin is redundant. However, it is intended that dynamically-allocated LockClassKeys will eventually be supported, so using Pin from the outset will make that change simpler. Closes: https://github.com/Rust-for-Linux/linux/issues/1102 Suggested-by: Benno Lossin <benno.lossin@proton.me> Suggested-by: Boqun Feng <boqun.feng@gmail.com> Signed-off-by: Mitchell Levy <levymitchell0@gmail.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Benno Lossin <benno.lossin@proton.me> Link: https://lore.kernel.org/r/20250307232717.1759087-12-boqun.feng@gmail.com
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			864 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			864 B
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0
 | |
| /*
 | |
|  * Non-trivial C macros cannot be used in Rust. Similarly, inlined C functions
 | |
|  * cannot be called either. This file explicitly creates functions ("helpers")
 | |
|  * that wrap those so that they can be called from Rust.
 | |
|  *
 | |
|  * Sorted alphabetically.
 | |
|  */
 | |
| 
 | |
| #include "blk.c"
 | |
| #include "bug.c"
 | |
| #include "build_assert.c"
 | |
| #include "build_bug.c"
 | |
| #include "cred.c"
 | |
| #include "device.c"
 | |
| #include "err.c"
 | |
| #include "fs.c"
 | |
| #include "io.c"
 | |
| #include "jump_label.c"
 | |
| #include "kunit.c"
 | |
| #include "mutex.c"
 | |
| #include "page.c"
 | |
| #include "platform.c"
 | |
| #include "pci.c"
 | |
| #include "pid_namespace.c"
 | |
| #include "rbtree.c"
 | |
| #include "rcu.c"
 | |
| #include "refcount.c"
 | |
| #include "security.c"
 | |
| #include "signal.c"
 | |
| #include "slab.c"
 | |
| #include "spinlock.c"
 | |
| #include "sync.c"
 | |
| #include "task.c"
 | |
| #include "uaccess.c"
 | |
| #include "vmalloc.c"
 | |
| #include "wait.c"
 | |
| #include "workqueue.c"
 |