mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	MODSIGN: Add modules_sign make target
If CONFIG_MODULE_SIG is set, and 'make modules_sign' is called then this patch will cause the modules to get a signature appended. The make target is intended to be run after 'make modules_install', and will modify the modules in-place in the installed location. It can be used to produce signed modules after they have been processed by distribution build scripts. Signed-off-by: Josh Boyer <jwboyer@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (minor typo fix)
This commit is contained in:
		
							parent
							
								
									71eac70257
								
							
						
					
					
						commit
						d890f510c8
					
				
					 2 changed files with 38 additions and 0 deletions
				
			
		
							
								
								
									
										6
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								Makefile
									
									
									
									
									
								
							| 
						 | 
					@ -981,6 +981,12 @@ _modinst_post: _modinst_
 | 
				
			||||||
	$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modinst
 | 
						$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modinst
 | 
				
			||||||
	$(call cmd,depmod)
 | 
						$(call cmd,depmod)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ifeq ($(CONFIG_MODULE_SIG), y)
 | 
				
			||||||
 | 
					PHONY += modules_sign
 | 
				
			||||||
 | 
					modules_sign:
 | 
				
			||||||
 | 
						$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modsign
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
else # CONFIG_MODULES
 | 
					else # CONFIG_MODULES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Modules not configured
 | 
					# Modules not configured
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										32
									
								
								scripts/Makefile.modsign
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								scripts/Makefile.modsign
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,32 @@
 | 
				
			||||||
 | 
					# ==========================================================================
 | 
				
			||||||
 | 
					# Signing modules
 | 
				
			||||||
 | 
					# ==========================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PHONY := __modsign
 | 
				
			||||||
 | 
					__modsign:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include scripts/Kbuild.include
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod)))
 | 
				
			||||||
 | 
					modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PHONY += $(modules)
 | 
				
			||||||
 | 
					__modsign: $(modules)
 | 
				
			||||||
 | 
						@:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					quiet_cmd_sign_ko = SIGN [M] $(2)/$(notdir $@)
 | 
				
			||||||
 | 
					        cmd_sign_ko = $(mod_sign_cmd) $(2)/$(notdir $@)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Modules built outside the kernel source tree go into extra by default
 | 
				
			||||||
 | 
					INSTALL_MOD_DIR ?= extra
 | 
				
			||||||
 | 
					ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(modules):
 | 
				
			||||||
 | 
						$(call cmd,sign_ko,$(MODLIB)/$(modinst_dir))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Declare the contents of the .PHONY variable as phony.  We keep that
 | 
				
			||||||
 | 
					# information in a variable se we can use it in if_changed and friends.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: $(PHONY)
 | 
				
			||||||
		Loading…
	
		Reference in a new issue