# 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 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 \
	--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)
