# SPDX-License-Identifier: GPL-2.0

#
# This file is included by the generic Kbuild makefile to permit the
# architecture to perform postlink actions on vmlinux and any .ko module file.
# In this case, we only need it for fips140.ko, which needs some postprocessing
# for the integrity check mandated by FIPS. This involves making copies of the
# relocation sections so that the module will have access to them at
# initialization time, and calculating and injecting a HMAC digest into the
# module. All other targets are NOPs.
#

PHONY := __archpost
__archpost:

-include include/config/auto.conf
include $(srctree)/scripts/Kbuild.include

CMD_FIPS140_GEN_HMAC = crypto/fips140_gen_hmac
quiet_cmd_gen_hmac = HMAC    $@
      cmd_gen_hmac = $(OBJCOPY) $@ \
	--dump-section=$(shell $(READELF) -SW $@|grep -Eo '\.rela\.text\S*')=$@.rela.text \
	--dump-section=$(shell $(READELF) -SW $@|grep -Eo '\.rela\.rodata\S*')=$@.rela.rodata && \
	$(OBJCOPY) $@ \
	--add-section=.init.rela.text=$@.rela.text \
	--add-section=.init.rela.rodata=$@.rela.rodata \
	--set-section-flags=.init.rela.text=alloc,readonly \
	--set-section-flags=.init.rela.rodata=alloc,readonly && \
	$(CMD_FIPS140_GEN_HMAC) $@

# `@true` prevents complaints when there is nothing to be done

vmlinux: FORCE
	@true

$(objtree)/crypto/fips140.ko: FORCE
	$(call cmd,gen_hmac)

%.ko: FORCE
	@true

clean:
	rm -f $(objtree)/crypto/fips140.ko.rela.*

PHONY += FORCE clean

FORCE:

.PHONY: $(PHONY)
