Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'xtensa-20180914' of git://github.com/jcmvbkbc/linux-xtensa

Pull Xtensa fixes and cleanups from Max Filippov:

- don't allocate memory in platform_setup as the memory allocator is
not initialized at that point yet;

- remove unnecessary ifeq KBUILD_SRC from arch/xtensa/Makefile;

- enable SG chaining in arch/xtensa/Kconfig.

* tag 'xtensa-20180914' of git://github.com/jcmvbkbc/linux-xtensa:
xtensa: enable SG chaining in Kconfig
xtensa: remove unnecessary KBUILD_SRC ifeq conditional
xtensa: ISS: don't allocate memory in platform_setup

+16 -14
+1
arch/xtensa/Kconfig
··· 4 4 5 5 config XTENSA 6 6 def_bool y 7 + select ARCH_HAS_SG_CHAIN 7 8 select ARCH_HAS_SYNC_DMA_FOR_CPU 8 9 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 9 10 select ARCH_NO_COHERENT_DMA_MMAP if !MMU
-4
arch/xtensa/Makefile
··· 64 64 vardirs := $(patsubst %,arch/xtensa/variants/%/,$(variant-y)) 65 65 plfdirs := $(patsubst %,arch/xtensa/platforms/%/,$(platform-y)) 66 66 67 - ifeq ($(KBUILD_SRC),) 68 - KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(vardirs) $(plfdirs)) 69 - else 70 67 KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(vardirs) $(plfdirs)) 71 - endif 72 68 73 69 KBUILD_DEFCONFIG := iss_defconfig 74 70
+15 -10
arch/xtensa/platforms/iss/setup.c
··· 78 78 79 79 void __init platform_setup(char **p_cmdline) 80 80 { 81 + static void *argv[COMMAND_LINE_SIZE / sizeof(void *)] __initdata; 82 + static char cmdline[COMMAND_LINE_SIZE] __initdata; 81 83 int argc = simc_argc(); 82 84 int argv_size = simc_argv_size(); 83 85 84 86 if (argc > 1) { 85 - void **argv = alloc_bootmem(argv_size); 86 - char *cmdline = alloc_bootmem(argv_size); 87 - int i; 87 + if (argv_size > sizeof(argv)) { 88 + pr_err("%s: command line too long: argv_size = %d\n", 89 + __func__, argv_size); 90 + } else { 91 + int i; 88 92 89 - cmdline[0] = 0; 90 - simc_argv((void *)argv); 93 + cmdline[0] = 0; 94 + simc_argv((void *)argv); 91 95 92 - for (i = 1; i < argc; ++i) { 93 - if (i > 1) 94 - strcat(cmdline, " "); 95 - strcat(cmdline, argv[i]); 96 + for (i = 1; i < argc; ++i) { 97 + if (i > 1) 98 + strcat(cmdline, " "); 99 + strcat(cmdline, argv[i]); 100 + } 101 + *p_cmdline = cmdline; 96 102 } 97 - *p_cmdline = cmdline; 98 103 } 99 104 100 105 atomic_notifier_chain_register(&panic_notifier_list, &iss_panic_block);