diff options
| -rw-r--r-- | arch/microblaze/configs/mmu_defconfig | 52 | ||||
| -rw-r--r-- | arch/microblaze/configs/nommu_defconfig | 73 | ||||
| -rw-r--r-- | arch/microblaze/include/asm/highmem.h | 2 | ||||
| -rw-r--r-- | arch/microblaze/include/asm/uaccess.h | 2 | ||||
| -rw-r--r-- | arch/microblaze/include/asm/unistd.h | 2 | ||||
| -rw-r--r-- | arch/microblaze/include/uapi/asm/unistd.h | 3 | ||||
| -rw-r--r-- | arch/microblaze/kernel/syscall_table.S | 1 | ||||
| -rw-r--r-- | arch/microblaze/pci/pci-common.c | 11 | ||||
| -rw-r--r-- | kernel/signal.c | 9 | ||||
| -rw-r--r-- | security/integrity/ima/ima.h | 1 | ||||
| -rw-r--r-- | security/integrity/ima/ima_main.c | 12 | ||||
| -rw-r--r-- | security/integrity/ima/ima_policy.c | 3 |
12 files changed, 104 insertions, 67 deletions
diff --git a/arch/microblaze/configs/mmu_defconfig b/arch/microblaze/configs/mmu_defconfig index b3f5eecff2a7..d2b097a652d9 100644 --- a/arch/microblaze/configs/mmu_defconfig +++ b/arch/microblaze/configs/mmu_defconfig | |||
| @@ -1,25 +1,22 @@ | |||
| 1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
| 2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
| 3 | CONFIG_POSIX_MQUEUE=y | ||
| 4 | CONFIG_FHANDLE=y | ||
| 5 | CONFIG_AUDIT=y | ||
| 6 | CONFIG_AUDIT_LOGINUID_IMMUTABLE=y | ||
| 3 | CONFIG_IKCONFIG=y | 7 | CONFIG_IKCONFIG=y |
| 4 | CONFIG_IKCONFIG_PROC=y | 8 | CONFIG_IKCONFIG_PROC=y |
| 9 | CONFIG_SYSFS_DEPRECATED=y | ||
| 5 | CONFIG_SYSFS_DEPRECATED_V2=y | 10 | CONFIG_SYSFS_DEPRECATED_V2=y |
| 6 | CONFIG_BLK_DEV_INITRD=y | ||
| 7 | CONFIG_INITRAMFS_SOURCE="rootfs.cpio" | ||
| 8 | CONFIG_INITRAMFS_COMPRESSION_GZIP=y | ||
| 9 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
| 10 | CONFIG_EXPERT=y | ||
| 11 | CONFIG_KALLSYMS_ALL=y | 11 | CONFIG_KALLSYMS_ALL=y |
| 12 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
| 13 | # CONFIG_HOTPLUG is not set | ||
| 14 | # CONFIG_BASE_FULL is not set | 12 | # CONFIG_BASE_FULL is not set |
| 15 | # CONFIG_FUTEX is not set | 13 | CONFIG_EMBEDDED=y |
| 16 | # CONFIG_EPOLL is not set | ||
| 17 | # CONFIG_SIGNALFD is not set | ||
| 18 | # CONFIG_SHMEM is not set | ||
| 19 | CONFIG_SLAB=y | 14 | CONFIG_SLAB=y |
| 20 | CONFIG_MODULES=y | 15 | CONFIG_MODULES=y |
| 21 | CONFIG_MODULE_UNLOAD=y | 16 | CONFIG_MODULE_UNLOAD=y |
| 22 | # CONFIG_BLK_DEV_BSG is not set | 17 | # CONFIG_BLK_DEV_BSG is not set |
| 18 | CONFIG_PARTITION_ADVANCED=y | ||
| 19 | # CONFIG_EFI_PARTITION is not set | ||
| 23 | CONFIG_OPT_LIB_ASM=y | 20 | CONFIG_OPT_LIB_ASM=y |
| 24 | CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 | 21 | CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 |
| 25 | CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1 | 22 | CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1 |
| @@ -31,39 +28,62 @@ CONFIG_HZ_100=y | |||
| 31 | CONFIG_MMU=y | 28 | CONFIG_MMU=y |
| 32 | CONFIG_CMDLINE_BOOL=y | 29 | CONFIG_CMDLINE_BOOL=y |
| 33 | CONFIG_CMDLINE_FORCE=y | 30 | CONFIG_CMDLINE_FORCE=y |
| 31 | CONFIG_HIGHMEM=y | ||
| 32 | CONFIG_PCI=y | ||
| 33 | CONFIG_PCI_XILINX=y | ||
| 34 | CONFIG_NET=y | 34 | CONFIG_NET=y |
| 35 | CONFIG_PACKET=y | 35 | CONFIG_PACKET=y |
| 36 | CONFIG_UNIX=y | 36 | CONFIG_UNIX=y |
| 37 | CONFIG_INET=y | 37 | CONFIG_INET=y |
| 38 | # CONFIG_INET_LRO is not set | 38 | # CONFIG_INET_LRO is not set |
| 39 | # CONFIG_IPV6 is not set | 39 | # CONFIG_IPV6 is not set |
| 40 | CONFIG_MTD=y | ||
| 40 | CONFIG_PROC_DEVICETREE=y | 41 | CONFIG_PROC_DEVICETREE=y |
| 41 | CONFIG_BLK_DEV_RAM=y | 42 | CONFIG_BLK_DEV_RAM=y |
| 42 | CONFIG_BLK_DEV_RAM_SIZE=8192 | 43 | CONFIG_BLK_DEV_RAM_SIZE=8192 |
| 43 | CONFIG_NETDEVICES=y | 44 | CONFIG_NETDEVICES=y |
| 44 | CONFIG_NET_ETHERNET=y | ||
| 45 | CONFIG_XILINX_EMACLITE=y | 45 | CONFIG_XILINX_EMACLITE=y |
| 46 | CONFIG_XILINX_LL_TEMAC=y | ||
| 46 | # CONFIG_INPUT is not set | 47 | # CONFIG_INPUT is not set |
| 47 | # CONFIG_SERIO is not set | 48 | # CONFIG_SERIO is not set |
| 48 | # CONFIG_VT is not set | 49 | # CONFIG_VT is not set |
| 50 | CONFIG_SERIAL_8250=y | ||
| 51 | CONFIG_SERIAL_8250_CONSOLE=y | ||
| 49 | CONFIG_SERIAL_UARTLITE=y | 52 | CONFIG_SERIAL_UARTLITE=y |
| 50 | CONFIG_SERIAL_UARTLITE_CONSOLE=y | 53 | CONFIG_SERIAL_UARTLITE_CONSOLE=y |
| 51 | # CONFIG_HW_RANDOM is not set | 54 | # CONFIG_HW_RANDOM is not set |
| 55 | CONFIG_XILINX_HWICAP=y | ||
| 56 | CONFIG_I2C=y | ||
| 57 | CONFIG_I2C_XILINX=y | ||
| 58 | CONFIG_SPI=y | ||
| 59 | CONFIG_SPI_XILINX=y | ||
| 60 | CONFIG_GPIOLIB=y | ||
| 61 | CONFIG_GPIO_SYSFS=y | ||
| 62 | CONFIG_GPIO_XILINX=y | ||
| 52 | # CONFIG_HWMON is not set | 63 | # CONFIG_HWMON is not set |
| 64 | CONFIG_WATCHDOG=y | ||
| 65 | CONFIG_XILINX_WATCHDOG=y | ||
| 66 | CONFIG_FB=y | ||
| 67 | CONFIG_FB_XILINX=y | ||
| 53 | # CONFIG_USB_SUPPORT is not set | 68 | # CONFIG_USB_SUPPORT is not set |
| 69 | CONFIG_UIO=y | ||
| 70 | CONFIG_UIO_PDRV=y | ||
| 71 | CONFIG_UIO_PDRV_GENIRQ=y | ||
| 72 | CONFIG_UIO_DMEM_GENIRQ=y | ||
| 54 | CONFIG_EXT2_FS=y | 73 | CONFIG_EXT2_FS=y |
| 55 | # CONFIG_DNOTIFY is not set | 74 | # CONFIG_DNOTIFY is not set |
| 75 | CONFIG_CRAMFS=y | ||
| 76 | CONFIG_ROMFS_FS=y | ||
| 56 | CONFIG_NFS_FS=y | 77 | CONFIG_NFS_FS=y |
| 57 | CONFIG_NFS_V3=y | ||
| 58 | CONFIG_CIFS=y | 78 | CONFIG_CIFS=y |
| 59 | CONFIG_CIFS_STATS=y | 79 | CONFIG_CIFS_STATS=y |
| 60 | CONFIG_CIFS_STATS2=y | 80 | CONFIG_CIFS_STATS2=y |
| 61 | CONFIG_PARTITION_ADVANCED=y | ||
| 62 | CONFIG_DEBUG_KERNEL=y | ||
| 63 | CONFIG_DETECT_HUNG_TASK=y | 81 | CONFIG_DETECT_HUNG_TASK=y |
| 64 | CONFIG_DEBUG_SLAB=y | 82 | CONFIG_DEBUG_SLAB=y |
| 65 | CONFIG_DEBUG_SPINLOCK=y | 83 | CONFIG_DEBUG_SPINLOCK=y |
| 66 | CONFIG_DEBUG_INFO=y | 84 | CONFIG_DEBUG_INFO=y |
| 67 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 68 | CONFIG_EARLY_PRINTK=y | 85 | CONFIG_EARLY_PRINTK=y |
| 86 | CONFIG_KEYS=y | ||
| 87 | CONFIG_ENCRYPTED_KEYS=y | ||
| 88 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
| 69 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 89 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig index 0249e4b7e1d3..10b5172283d7 100644 --- a/arch/microblaze/configs/nommu_defconfig +++ b/arch/microblaze/configs/nommu_defconfig | |||
| @@ -1,41 +1,42 @@ | |||
| 1 | CONFIG_EXPERIMENTAL=y | 1 | CONFIG_EXPERIMENTAL=y |
| 2 | CONFIG_SYSVIPC=y | 2 | CONFIG_SYSVIPC=y |
| 3 | CONFIG_POSIX_MQUEUE=y | 3 | CONFIG_POSIX_MQUEUE=y |
| 4 | CONFIG_FHANDLE=y | ||
| 5 | CONFIG_AUDIT=y | ||
| 6 | CONFIG_AUDIT_LOGINUID_IMMUTABLE=y | ||
| 4 | CONFIG_BSD_PROCESS_ACCT=y | 7 | CONFIG_BSD_PROCESS_ACCT=y |
| 5 | CONFIG_BSD_PROCESS_ACCT_V3=y | 8 | CONFIG_BSD_PROCESS_ACCT_V3=y |
| 6 | CONFIG_IKCONFIG=y | 9 | CONFIG_IKCONFIG=y |
| 7 | CONFIG_IKCONFIG_PROC=y | 10 | CONFIG_IKCONFIG_PROC=y |
| 11 | CONFIG_SYSFS_DEPRECATED=y | ||
| 8 | CONFIG_SYSFS_DEPRECATED_V2=y | 12 | CONFIG_SYSFS_DEPRECATED_V2=y |
| 9 | CONFIG_EXPERT=y | ||
| 10 | CONFIG_KALLSYMS_ALL=y | 13 | CONFIG_KALLSYMS_ALL=y |
| 11 | CONFIG_KALLSYMS_EXTRA_PASS=y | ||
| 12 | # CONFIG_HOTPLUG is not set | ||
| 13 | # CONFIG_BASE_FULL is not set | 14 | # CONFIG_BASE_FULL is not set |
| 15 | CONFIG_EMBEDDED=y | ||
| 14 | CONFIG_SLAB=y | 16 | CONFIG_SLAB=y |
| 15 | CONFIG_MODULES=y | 17 | CONFIG_MODULES=y |
| 16 | CONFIG_MODULE_UNLOAD=y | 18 | CONFIG_MODULE_UNLOAD=y |
| 17 | # CONFIG_BLK_DEV_BSG is not set | 19 | # CONFIG_BLK_DEV_BSG is not set |
| 18 | # CONFIG_OPT_LIB_FUNCTION is not set | 20 | CONFIG_PARTITION_ADVANCED=y |
| 21 | # CONFIG_EFI_PARTITION is not set | ||
| 19 | CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 | 22 | CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 |
| 20 | CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1 | 23 | CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR=1 |
| 21 | CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1 | 24 | CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1 |
| 22 | CONFIG_XILINX_MICROBLAZE0_USE_DIV=1 | 25 | CONFIG_XILINX_MICROBLAZE0_USE_DIV=1 |
| 23 | CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2 | 26 | CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2 |
| 24 | CONFIG_XILINX_MICROBLAZE0_USE_FPU=2 | 27 | CONFIG_XILINX_MICROBLAZE0_USE_FPU=2 |
| 25 | CONFIG_HIGH_RES_TIMERS=y | ||
| 26 | CONFIG_HZ_100=y | 28 | CONFIG_HZ_100=y |
| 27 | CONFIG_CMDLINE_BOOL=y | 29 | CONFIG_CMDLINE_BOOL=y |
| 28 | CONFIG_BINFMT_FLAT=y | 30 | CONFIG_CMDLINE_FORCE=y |
| 31 | CONFIG_PCI=y | ||
| 32 | CONFIG_PCI_XILINX=y | ||
| 29 | CONFIG_NET=y | 33 | CONFIG_NET=y |
| 30 | CONFIG_PACKET=y | 34 | CONFIG_PACKET=y |
| 31 | CONFIG_UNIX=y | 35 | CONFIG_UNIX=y |
| 32 | CONFIG_INET=y | 36 | CONFIG_INET=y |
| 33 | # CONFIG_INET_LRO is not set | 37 | # CONFIG_INET_LRO is not set |
| 34 | # CONFIG_IPV6 is not set | 38 | # CONFIG_IPV6 is not set |
| 35 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | ||
| 36 | CONFIG_MTD=y | 39 | CONFIG_MTD=y |
| 37 | CONFIG_MTD_CONCAT=y | ||
| 38 | CONFIG_MTD_PARTITIONS=y | ||
| 39 | CONFIG_MTD_CMDLINE_PARTS=y | 40 | CONFIG_MTD_CMDLINE_PARTS=y |
| 40 | CONFIG_MTD_CHAR=y | 41 | CONFIG_MTD_CHAR=y |
| 41 | CONFIG_MTD_BLOCK=y | 42 | CONFIG_MTD_BLOCK=y |
| @@ -45,41 +46,55 @@ CONFIG_MTD_CFI_AMDSTD=y | |||
| 45 | CONFIG_MTD_RAM=y | 46 | CONFIG_MTD_RAM=y |
| 46 | CONFIG_MTD_UCLINUX=y | 47 | CONFIG_MTD_UCLINUX=y |
| 47 | CONFIG_PROC_DEVICETREE=y | 48 | CONFIG_PROC_DEVICETREE=y |
| 48 | CONFIG_BLK_DEV_NBD=y | ||
| 49 | CONFIG_BLK_DEV_RAM=y | 49 | CONFIG_BLK_DEV_RAM=y |
| 50 | CONFIG_BLK_DEV_RAM_SIZE=8192 | ||
| 50 | CONFIG_NETDEVICES=y | 51 | CONFIG_NETDEVICES=y |
| 51 | CONFIG_NET_ETHERNET=y | 52 | CONFIG_XILINX_EMACLITE=y |
| 53 | CONFIG_XILINX_LL_TEMAC=y | ||
| 52 | # CONFIG_INPUT is not set | 54 | # CONFIG_INPUT is not set |
| 53 | # CONFIG_SERIO is not set | 55 | # CONFIG_SERIO is not set |
| 54 | # CONFIG_VT is not set | 56 | # CONFIG_VT is not set |
| 57 | CONFIG_SERIAL_8250=y | ||
| 58 | CONFIG_SERIAL_8250_CONSOLE=y | ||
| 55 | CONFIG_SERIAL_UARTLITE=y | 59 | CONFIG_SERIAL_UARTLITE=y |
| 56 | CONFIG_SERIAL_UARTLITE_CONSOLE=y | 60 | CONFIG_SERIAL_UARTLITE_CONSOLE=y |
| 57 | CONFIG_HW_RANDOM=y | 61 | # CONFIG_HW_RANDOM is not set |
| 62 | CONFIG_XILINX_HWICAP=y | ||
| 63 | CONFIG_I2C=y | ||
| 64 | CONFIG_I2C_XILINX=y | ||
| 65 | CONFIG_SPI=y | ||
| 66 | CONFIG_SPI_XILINX=y | ||
| 67 | CONFIG_GPIOLIB=y | ||
| 68 | CONFIG_GPIO_SYSFS=y | ||
| 69 | CONFIG_GPIO_XILINX=y | ||
| 58 | # CONFIG_HWMON is not set | 70 | # CONFIG_HWMON is not set |
| 59 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 71 | CONFIG_WATCHDOG=y |
| 72 | CONFIG_XILINX_WATCHDOG=y | ||
| 73 | CONFIG_FB=y | ||
| 74 | CONFIG_FB_XILINX=y | ||
| 75 | # CONFIG_USB_SUPPORT is not set | ||
| 76 | CONFIG_UIO=y | ||
| 77 | CONFIG_UIO_PDRV=y | ||
| 78 | CONFIG_UIO_PDRV_GENIRQ=y | ||
| 79 | CONFIG_UIO_DMEM_GENIRQ=y | ||
| 60 | CONFIG_EXT2_FS=y | 80 | CONFIG_EXT2_FS=y |
| 61 | # CONFIG_DNOTIFY is not set | 81 | # CONFIG_DNOTIFY is not set |
| 62 | CONFIG_CRAMFS=y | 82 | CONFIG_CRAMFS=y |
| 63 | CONFIG_ROMFS_FS=y | 83 | CONFIG_ROMFS_FS=y |
| 64 | CONFIG_NFS_FS=y | 84 | CONFIG_NFS_FS=y |
| 65 | CONFIG_NFS_V3=y | ||
| 66 | CONFIG_NFS_V3_ACL=y | 85 | CONFIG_NFS_V3_ACL=y |
| 67 | CONFIG_UNUSED_SYMBOLS=y | 86 | CONFIG_NLS=y |
| 68 | CONFIG_DEBUG_FS=y | ||
| 69 | CONFIG_DEBUG_KERNEL=y | ||
| 70 | CONFIG_DEBUG_SHIRQ=y | ||
| 71 | CONFIG_DETECT_HUNG_TASK=y | 87 | CONFIG_DETECT_HUNG_TASK=y |
| 72 | CONFIG_SCHEDSTATS=y | 88 | CONFIG_DEBUG_SLAB=y |
| 73 | CONFIG_TIMER_STATS=y | 89 | CONFIG_DEBUG_SPINLOCK=y |
| 74 | CONFIG_DEBUG_OBJECTS=y | ||
| 75 | CONFIG_DEBUG_OBJECTS_SELFTEST=y | ||
| 76 | CONFIG_DEBUG_OBJECTS_FREE=y | ||
| 77 | CONFIG_DEBUG_OBJECTS_TIMERS=y | ||
| 78 | CONFIG_DEBUG_INFO=y | 90 | CONFIG_DEBUG_INFO=y |
| 79 | CONFIG_DEBUG_LIST=y | ||
| 80 | CONFIG_DEBUG_SG=y | ||
| 81 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 82 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 83 | CONFIG_EARLY_PRINTK=y | 91 | CONFIG_EARLY_PRINTK=y |
| 92 | CONFIG_KEYS=y | ||
| 93 | CONFIG_ENCRYPTED_KEYS=y | ||
| 94 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
| 95 | CONFIG_CRYPTO_ECB=y | ||
| 96 | CONFIG_CRYPTO_MD4=y | ||
| 97 | CONFIG_CRYPTO_MD5=y | ||
| 98 | CONFIG_CRYPTO_ARC4=y | ||
| 99 | CONFIG_CRYPTO_DES=y | ||
| 84 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 100 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
| 85 | # CONFIG_CRC32 is not set | ||
diff --git a/arch/microblaze/include/asm/highmem.h b/arch/microblaze/include/asm/highmem.h index 2446a73140ac..d04638932438 100644 --- a/arch/microblaze/include/asm/highmem.h +++ b/arch/microblaze/include/asm/highmem.h | |||
| @@ -71,7 +71,7 @@ static inline void kunmap(struct page *page) | |||
| 71 | kunmap_high(page); | 71 | kunmap_high(page); |
| 72 | } | 72 | } |
| 73 | 73 | ||
| 74 | static inline void *__kmap_atomic(struct page *page) | 74 | static inline void *kmap_atomic(struct page *page) |
| 75 | { | 75 | { |
| 76 | return kmap_atomic_prot(page, kmap_prot); | 76 | return kmap_atomic_prot(page, kmap_prot); |
| 77 | } | 77 | } |
diff --git a/arch/microblaze/include/asm/uaccess.h b/arch/microblaze/include/asm/uaccess.h index 927540d3cb7d..a1ab5f0009ef 100644 --- a/arch/microblaze/include/asm/uaccess.h +++ b/arch/microblaze/include/asm/uaccess.h | |||
| @@ -108,7 +108,7 @@ static inline int ___range_ok(unsigned long addr, unsigned long size) | |||
| 108 | # define __EX_TABLE_SECTION ".section __ex_table,\"a\"\n" | 108 | # define __EX_TABLE_SECTION ".section __ex_table,\"a\"\n" |
| 109 | #else | 109 | #else |
| 110 | # define __FIXUP_SECTION ".section .discard,\"ax\"\n" | 110 | # define __FIXUP_SECTION ".section .discard,\"ax\"\n" |
| 111 | # define __EX_TABLE_SECTION ".section .discard,\"a\"\n" | 111 | # define __EX_TABLE_SECTION ".section .discard,\"ax\"\n" |
| 112 | #endif | 112 | #endif |
| 113 | 113 | ||
| 114 | extern unsigned long __copy_tofrom_user(void __user *to, | 114 | extern unsigned long __copy_tofrom_user(void __user *to, |
diff --git a/arch/microblaze/include/asm/unistd.h b/arch/microblaze/include/asm/unistd.h index a5f06ac97113..10f8ac186855 100644 --- a/arch/microblaze/include/asm/unistd.h +++ b/arch/microblaze/include/asm/unistd.h | |||
| @@ -37,9 +37,7 @@ | |||
| 37 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND | 37 | #define __ARCH_WANT_SYS_RT_SIGSUSPEND |
| 38 | #define __ARCH_WANT_SYS_CLONE | 38 | #define __ARCH_WANT_SYS_CLONE |
| 39 | #define __ARCH_WANT_SYS_VFORK | 39 | #define __ARCH_WANT_SYS_VFORK |
| 40 | #ifdef CONFIG_MMU | ||
| 41 | #define __ARCH_WANT_SYS_FORK | 40 | #define __ARCH_WANT_SYS_FORK |
| 42 | #endif | ||
| 43 | 41 | ||
| 44 | /* | 42 | /* |
| 45 | * "Conditional" syscalls | 43 | * "Conditional" syscalls |
diff --git a/arch/microblaze/include/uapi/asm/unistd.h b/arch/microblaze/include/uapi/asm/unistd.h index ccb6920f3b33..5f7fe7582f3a 100644 --- a/arch/microblaze/include/uapi/asm/unistd.h +++ b/arch/microblaze/include/uapi/asm/unistd.h | |||
| @@ -395,7 +395,8 @@ | |||
| 395 | #define __NR_process_vm_readv 377 | 395 | #define __NR_process_vm_readv 377 |
| 396 | #define __NR_process_vm_writev 378 | 396 | #define __NR_process_vm_writev 378 |
| 397 | #define __NR_kcmp 379 | 397 | #define __NR_kcmp 379 |
| 398 | #define __NR_finit_module 380 | ||
| 398 | 399 | ||
| 399 | #define __NR_syscalls 380 | 400 | #define __NR_syscalls 381 |
| 400 | 401 | ||
| 401 | #endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */ | 402 | #endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */ |
diff --git a/arch/microblaze/kernel/syscall_table.S b/arch/microblaze/kernel/syscall_table.S index 1cbace29b5e2..4fca56cf02f6 100644 --- a/arch/microblaze/kernel/syscall_table.S +++ b/arch/microblaze/kernel/syscall_table.S | |||
| @@ -380,3 +380,4 @@ ENTRY(sys_call_table) | |||
| 380 | .long sys_process_vm_readv | 380 | .long sys_process_vm_readv |
| 381 | .long sys_process_vm_writev | 381 | .long sys_process_vm_writev |
| 382 | .long sys_kcmp | 382 | .long sys_kcmp |
| 383 | .long sys_finit_module | ||
diff --git a/arch/microblaze/pci/pci-common.c b/arch/microblaze/pci/pci-common.c index 2a20f1ff4c59..96416553cb36 100644 --- a/arch/microblaze/pci/pci-common.c +++ b/arch/microblaze/pci/pci-common.c | |||
| @@ -287,7 +287,7 @@ static struct resource *__pci_mmap_make_offset(struct pci_dev *dev, | |||
| 287 | unsigned long io_offset = 0; | 287 | unsigned long io_offset = 0; |
| 288 | int i, res_bit; | 288 | int i, res_bit; |
| 289 | 289 | ||
| 290 | if (hose == 0) | 290 | if (!hose) |
| 291 | return NULL; /* should never happen */ | 291 | return NULL; /* should never happen */ |
| 292 | 292 | ||
| 293 | /* If memory, add on the PCI bridge address offset */ | 293 | /* If memory, add on the PCI bridge address offset */ |
| @@ -821,8 +821,6 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose, | |||
| 821 | /* Decide whether to display the domain number in /proc */ | 821 | /* Decide whether to display the domain number in /proc */ |
| 822 | int pci_proc_domain(struct pci_bus *bus) | 822 | int pci_proc_domain(struct pci_bus *bus) |
| 823 | { | 823 | { |
| 824 | struct pci_controller *hose = pci_bus_to_host(bus); | ||
| 825 | |||
| 826 | return 0; | 824 | return 0; |
| 827 | } | 825 | } |
| 828 | 826 | ||
| @@ -1123,7 +1121,7 @@ static int __init reparent_resources(struct resource *parent, | |||
| 1123 | * as well. | 1121 | * as well. |
| 1124 | */ | 1122 | */ |
| 1125 | 1123 | ||
| 1126 | void pcibios_allocate_bus_resources(struct pci_bus *bus) | 1124 | static void pcibios_allocate_bus_resources(struct pci_bus *bus) |
| 1127 | { | 1125 | { |
| 1128 | struct pci_bus *b; | 1126 | struct pci_bus *b; |
| 1129 | int i; | 1127 | int i; |
| @@ -1178,7 +1176,7 @@ void pcibios_allocate_bus_resources(struct pci_bus *bus) | |||
| 1178 | } | 1176 | } |
| 1179 | printk(KERN_WARNING "PCI: Cannot allocate resource region " | 1177 | printk(KERN_WARNING "PCI: Cannot allocate resource region " |
| 1180 | "%d of PCI bridge %d, will remap\n", i, bus->number); | 1178 | "%d of PCI bridge %d, will remap\n", i, bus->number); |
| 1181 | clear_resource: | 1179 | |
| 1182 | res->start = res->end = 0; | 1180 | res->start = res->end = 0; |
| 1183 | res->flags = 0; | 1181 | res->flags = 0; |
| 1184 | } | 1182 | } |
| @@ -1433,7 +1431,8 @@ static void pcibios_setup_phb_resources(struct pci_controller *hose, | |||
| 1433 | res->end = res->start + IO_SPACE_LIMIT; | 1431 | res->end = res->start + IO_SPACE_LIMIT; |
| 1434 | res->flags = IORESOURCE_IO; | 1432 | res->flags = IORESOURCE_IO; |
| 1435 | } | 1433 | } |
| 1436 | pci_add_resource_offset(resources, res, hose->io_base_virt - _IO_BASE); | 1434 | pci_add_resource_offset(resources, res, |
| 1435 | (__force resource_size_t)(hose->io_base_virt - _IO_BASE)); | ||
| 1437 | 1436 | ||
| 1438 | pr_debug("PCI: PHB IO resource = %016llx-%016llx [%lx]\n", | 1437 | pr_debug("PCI: PHB IO resource = %016llx-%016llx [%lx]\n", |
| 1439 | (unsigned long long)res->start, | 1438 | (unsigned long long)res->start, |
diff --git a/kernel/signal.c b/kernel/signal.c index 7aaa51d8e5b8..372771e948c2 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
| @@ -2528,11 +2528,8 @@ static void __set_task_blocked(struct task_struct *tsk, const sigset_t *newset) | |||
| 2528 | */ | 2528 | */ |
| 2529 | void set_current_blocked(sigset_t *newset) | 2529 | void set_current_blocked(sigset_t *newset) |
| 2530 | { | 2530 | { |
| 2531 | struct task_struct *tsk = current; | ||
| 2532 | sigdelsetmask(newset, sigmask(SIGKILL) | sigmask(SIGSTOP)); | 2531 | sigdelsetmask(newset, sigmask(SIGKILL) | sigmask(SIGSTOP)); |
| 2533 | spin_lock_irq(&tsk->sighand->siglock); | 2532 | __set_current_blocked(newset); |
| 2534 | __set_task_blocked(tsk, newset); | ||
| 2535 | spin_unlock_irq(&tsk->sighand->siglock); | ||
| 2536 | } | 2533 | } |
| 2537 | 2534 | ||
| 2538 | void __set_current_blocked(const sigset_t *newset) | 2535 | void __set_current_blocked(const sigset_t *newset) |
| @@ -3204,7 +3201,6 @@ SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, nset, | |||
| 3204 | if (nset) { | 3201 | if (nset) { |
| 3205 | if (copy_from_user(&new_set, nset, sizeof(*nset))) | 3202 | if (copy_from_user(&new_set, nset, sizeof(*nset))) |
| 3206 | return -EFAULT; | 3203 | return -EFAULT; |
| 3207 | new_set &= ~(sigmask(SIGKILL) | sigmask(SIGSTOP)); | ||
| 3208 | 3204 | ||
| 3209 | new_blocked = current->blocked; | 3205 | new_blocked = current->blocked; |
| 3210 | 3206 | ||
| @@ -3222,7 +3218,7 @@ SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, nset, | |||
| 3222 | return -EINVAL; | 3218 | return -EINVAL; |
| 3223 | } | 3219 | } |
| 3224 | 3220 | ||
| 3225 | __set_current_blocked(&new_blocked); | 3221 | set_current_blocked(&new_blocked); |
| 3226 | } | 3222 | } |
| 3227 | 3223 | ||
| 3228 | if (oset) { | 3224 | if (oset) { |
| @@ -3286,6 +3282,7 @@ SYSCALL_DEFINE1(ssetmask, int, newmask) | |||
| 3286 | int old = current->blocked.sig[0]; | 3282 | int old = current->blocked.sig[0]; |
| 3287 | sigset_t newset; | 3283 | sigset_t newset; |
| 3288 | 3284 | ||
| 3285 | siginitset(&newset, newmask); | ||
| 3289 | set_current_blocked(&newset); | 3286 | set_current_blocked(&newset); |
| 3290 | 3287 | ||
| 3291 | return old; | 3288 | return old; |
diff --git a/security/integrity/ima/ima.h b/security/integrity/ima/ima.h index 3b2adb794f15..079a85dc37b2 100644 --- a/security/integrity/ima/ima.h +++ b/security/integrity/ima/ima.h | |||
| @@ -139,6 +139,7 @@ void ima_delete_rules(void); | |||
| 139 | /* Appraise integrity measurements */ | 139 | /* Appraise integrity measurements */ |
| 140 | #define IMA_APPRAISE_ENFORCE 0x01 | 140 | #define IMA_APPRAISE_ENFORCE 0x01 |
| 141 | #define IMA_APPRAISE_FIX 0x02 | 141 | #define IMA_APPRAISE_FIX 0x02 |
| 142 | #define IMA_APPRAISE_MODULES 0x04 | ||
| 142 | 143 | ||
| 143 | #ifdef CONFIG_IMA_APPRAISE | 144 | #ifdef CONFIG_IMA_APPRAISE |
| 144 | int ima_appraise_measurement(struct integrity_iint_cache *iint, | 145 | int ima_appraise_measurement(struct integrity_iint_cache *iint, |
diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c index 45de18e9a6f2..dba965de90d3 100644 --- a/security/integrity/ima/ima_main.c +++ b/security/integrity/ima/ima_main.c | |||
| @@ -291,11 +291,15 @@ EXPORT_SYMBOL_GPL(ima_file_check); | |||
| 291 | */ | 291 | */ |
| 292 | int ima_module_check(struct file *file) | 292 | int ima_module_check(struct file *file) |
| 293 | { | 293 | { |
| 294 | int rc; | 294 | int rc = 0; |
| 295 | 295 | ||
| 296 | if (!file) | 296 | if (!file) { |
| 297 | rc = INTEGRITY_UNKNOWN; | 297 | if (ima_appraise & IMA_APPRAISE_MODULES) { |
| 298 | else | 298 | #ifndef CONFIG_MODULE_SIG_FORCE |
| 299 | rc = -EACCES; /* INTEGRITY_UNKNOWN */ | ||
| 300 | #endif | ||
| 301 | } | ||
| 302 | } else | ||
| 299 | rc = process_measurement(file, file->f_dentry->d_name.name, | 303 | rc = process_measurement(file, file->f_dentry->d_name.name, |
| 300 | MAY_EXEC, MODULE_CHECK); | 304 | MAY_EXEC, MODULE_CHECK); |
| 301 | return (ima_appraise & IMA_APPRAISE_ENFORCE) ? rc : 0; | 305 | return (ima_appraise & IMA_APPRAISE_ENFORCE) ? rc : 0; |
diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c index af7d182d5a46..479fca940bb5 100644 --- a/security/integrity/ima/ima_policy.c +++ b/security/integrity/ima/ima_policy.c | |||
| @@ -523,7 +523,8 @@ static int ima_parse_rule(char *rule, struct ima_rule_entry *entry) | |||
| 523 | } | 523 | } |
| 524 | if (!result && (entry->action == UNKNOWN)) | 524 | if (!result && (entry->action == UNKNOWN)) |
| 525 | result = -EINVAL; | 525 | result = -EINVAL; |
| 526 | 526 | else if (entry->func == MODULE_CHECK) | |
| 527 | ima_appraise |= IMA_APPRAISE_MODULES; | ||
| 527 | audit_log_format(ab, "res=%d", !result); | 528 | audit_log_format(ab, "res=%d", !result); |
| 528 | audit_log_end(ab); | 529 | audit_log_end(ab); |
| 529 | return result; | 530 | return result; |
