On Thu, Aug 27, 2020 at 02:54:05PM +0530, Mrinal Pandey wrote: > commit eb8305aecb95 ("scripts: Coccinelle script for namespace > dependencies.") added the file nsdeps, commit 313dd1b62921 ("gcc-plugins: > Add the randstruct plugin") added the file gcc-plugins/gen-random-seed.sh > and commit 9b4ade226f74 ("xen: build infrastructure for generating > hypercall depending symbols") added the file xen-hypercalls.sh without the > executable bit. > [...] > scripts/gcc-plugins/gen-random-seed.sh | 0 > scripts/nsdeps | 0 > scripts/spdxcheck-test.sh | 1 + > scripts/xen-hypercalls.sh | 0 > 4 files changed, 1 insertion(+) > mode change 100644 => 100755 scripts/gcc-plugins/gen-random-seed.sh > mode change 100644 => 100755 scripts/nsdeps > mode change 100644 => 100755 scripts/spdxcheck-test.sh > mode change 100644 => 100755 scripts/xen-hypercalls.sh I can't find "official" guidance on this right now, but I'm pretty sure this (having execute bits set correctly) wasn't something we could depend on (i.e. regular "diff" output doesn't support it (just git's diff), and copies of the tree (or tarballs, etc) may have missed the bits). All the portions of the kernel that uses these kinds of files explicitly specify the interpreter (or universally set the execute bit)[1]. As such, is this change useful? It might be better to _remove_ execute bits to catch the places where the build is accidentally depending on them. ;) -Kees [1] These all use CONFIG_SHELL: scripts/gcc-plugins/Makefile: $(CONFIG_SHELL) $(srctree)/$(src)/gen-random-seed.sh $@ $(objtree)/include/generated/randomize_layout_hash.h Makefile: $(Q)$(CONFIG_SHELL) $(srctree)/scripts/nsdeps arch/x86/entry/syscalls/Makefile: quiet_cmd_hypercalls = HYPERCALLS $@ cmd_hypercalls = $(CONFIG_SHELL) '$<' $@ $(filter-out $<,$^) ... $(out)/xen-hypercalls.h: $(srctree)/scripts/xen-hypercalls.sh $(call if_changed,hypercalls) And I can't even find anything in the kernel that calls scripts/spdxcheck-test.sh :) I think that should likely be moved into the selftests directory and wired up. -- Kees Cook