obj-m := hello.o 

KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

.PHONY: all clean test
all:
	$(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
	rm -f *.o *.ko *.mod.c *.mod .[a-zA-Z]*.cmd *.symvers *.order .*module-common.o*

test:
	grep "^unlink " /proc/modules && sudo rmmod unlink || true
	sudo insmod unlink.ko
	touch aaa bbb
	strace rm aaa || echo BAD
	rm bbb || echo BAD
	sudo rmmod unlink
	rm aaa bbb
	grep "^open " /proc/modules && sudo rmmod open || true
	sudo insmod open.ko
	wc -l /home/../etc/passwd && true
	wc -l /home/../../../../../../etc/passwd || echo BAD
	sudo rmmod open
