From: Marco Stornelli <marco.stornelli@xxxxxxxxx> Makefile and Kconfig. Signed-off-by: Marco Stornelli <marco.stornelli@xxxxxxxxx> --- diff --git a/arch/Kconfig b/arch/Kconfig index 8bf0fa6..0d48de0 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -97,6 +97,9 @@ config USER_RETURN_NOTIFIER config HAVE_IOREMAP_PROT bool +config HAVE_SET_MEMORY_RO + bool + config HAVE_KPROBES bool diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index e330da2..9be32f2 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -23,6 +23,7 @@ config X86 select HAVE_OPROFILE select HAVE_PERF_EVENTS select HAVE_IRQ_WORK + select HAVE_SET_MEMORY_RO select HAVE_IOREMAP_PROT select HAVE_KPROBES select HAVE_MEMBLOCK diff --git a/fs/Kconfig b/fs/Kconfig index 771f457..774ebb5 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -13,7 +13,7 @@ source "fs/ext4/Kconfig" config FS_XIP # execute in place bool - depends on EXT2_FS_XIP + depends on EXT2_FS_XIP || PRAMFS_XIP default y source "fs/jbd/Kconfig" @@ -25,13 +25,14 @@ config FS_MBCACHE default y if EXT2_FS=y && EXT2_FS_XATTR default y if EXT3_FS=y && EXT3_FS_XATTR default y if EXT4_FS=y && EXT4_FS_XATTR - default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR + default y if PRAMFS=y && PRAMFS_XATTR + default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR || PRAMFS_XATTR source "fs/reiserfs/Kconfig" source "fs/jfs/Kconfig" config FS_POSIX_ACL -# Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4) +# Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4/pramfs) # # NOTE: you can implement Posix ACLs without these helpers (XFS does). # Never use this symbol for ifdefs. @@ -190,6 +191,7 @@ source "fs/qnx4/Kconfig" source "fs/romfs/Kconfig" source "fs/sysv/Kconfig" source "fs/ufs/Kconfig" +source "fs/pramfs/Kconfig" source "fs/exofs/Kconfig" endif # MISC_FILESYSTEMS diff --git a/fs/Makefile b/fs/Makefile index a7f7cef..43523ce 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -121,3 +121,4 @@ obj-$(CONFIG_BTRFS_FS) += btrfs/ obj-$(CONFIG_GFS2_FS) += gfs2/ obj-$(CONFIG_EXOFS_FS) += exofs/ obj-$(CONFIG_CEPH_FS) += ceph/ +obj-$(CONFIG_PRAMFS) += pramfs/ diff --git a/fs/pramfs/Kconfig b/fs/pramfs/Kconfig new file mode 100644 index 0000000..0a2c54a --- /dev/null +++ b/fs/pramfs/Kconfig @@ -0,0 +1,72 @@ +config PRAMFS + tristate "Persistent and Protected RAM file system support" + depends on HAS_IOMEM && EXPERIMENTAL + select CRC16 + help + If your system has a block of fast (comparable in access speed to + system memory) and non-volatile RAM and you wish to mount a + light-weight, full-featured, and space-efficient filesystem over it, + say Y here, and read <file:Documentation/filesystems/pramfs.txt>. + + To compile this as a module, choose M here: the module will be + called pramfs. + +config PRAMFS_XIP + bool "Execute-in-place in PRAMFS" + depends on PRAMFS + help + Say Y here to enable XIP feature of PRAMFS. + +config PRAMFS_WRITE_PROTECT + bool "PRAMFS write protection" + depends on PRAMFS && MMU && HAVE_SET_MEMORY_RO + default y + help + Say Y here to enable the write protect feature of PRAMFS. + +config PRAMFS_XATTR + bool "PRAMFS extended attributes" + depends on PRAMFS + help + Extended attributes are name:value pairs associated with inodes by + the kernel or by users (see the attr(5) manual page, or visit + <http://acl.bestbits.at/> for details). + + If unsure, say N. + +config PRAMFS_POSIX_ACL + bool "PRAMFS POSIX Access Control Lists" + depends on PRAMFS_XATTR + select FS_POSIX_ACL + help + Posix Access Control Lists (ACLs) support permissions for users and + groups beyond the owner/group/world scheme. + + To learn more about Access Control Lists, visit the Posix ACLs for + Linux website <http://acl.bestbits.at/>. + + If you don't know what Access Control Lists are, say N. + +config PRAMFS_SECURITY + bool "PRAMFS Security Labels" + depends on PRAMFS_XATTR + help + Security labels support alternative access control models + implemented by security modules like SELinux. This option + enables an extended attribute handler for file security + labels in the pram filesystem. + + If you are not using a security module that requires using + extended attributes for file security labels, say N. + +config PRAMFS_TEST + boolean + depends on PRAMFS + +config PRAMFS_TEST_MODULE + tristate "PRAMFS Test" + depends on PRAMFS && m + select PRAMFS_TEST + help + Say Y here to build a simple module to test the protection of + PRAMFS. The module will be called pramfs_test. diff --git a/fs/pramfs/Makefile b/fs/pramfs/Makefile new file mode 100644 index 0000000..055f0bb --- /dev/null +++ b/fs/pramfs/Makefile @@ -0,0 +1,14 @@ +# +# Makefile for the linux pram-filesystem routines. +# + +obj-$(CONFIG_PRAMFS) += pramfs.o +obj-$(CONFIG_PRAMFS_TEST_MODULE) += pramfs_test.o + +pramfs-y := balloc.o dir.o file.o inode.o namei.o super.o symlink.o ioctl.o + +pramfs-$(CONFIG_PRAMFS_WRITE_PROTECT) += wprotect.o +pramfs-$(CONFIG_PRAMFS_XIP) += xip.o +pramfs-$(CONFIG_PRAMFS_XATTR) += xattr.o xattr_user.o xattr_trusted.o desctree.o +pramfs-$(CONFIG_PRAMFS_POSIX_ACL) += acl.o +pramfs-$(CONFIG_PRAMFS_SECURITY) += xattr_security.o -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html