--- digsig.c 2004-09-09 17:43:51.342757952 -0500 +++ digsig.c.noexec 2004-09-09 17:43:43.569939600 -0500 @@ -556,6 +556,11 @@ int dsi_file_mmap(struct file * file, un goto out_file_no_buf; } + if (!(file->f_dentry->d_inode->i_mode & MAY_EXEC)) { + retval = -EPERM; + goto out_with_file; + } + retval = DIGSIG_MODE; size = elf_ex->e_shnum * sizeof(Elf32_Shdr);