hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/arch/x86/include/asm/setup.h
....@@ -4,7 +4,7 @@
44
55 #include <uapi/asm/setup.h>
66
7
-#define COMMAND_LINE_SIZE 4096
7
+#define COMMAND_LINE_SIZE 2048
88
99 #include <linux/linkage.h>
1010 #include <asm/page_types.h>
....@@ -39,6 +39,8 @@
3939 static inline void vsmp_init(void) { }
4040 #endif
4141
42
+struct pt_regs;
43
+
4244 void setup_bios_corruption_check(void);
4345 void early_platform_quirks(void);
4446
....@@ -46,6 +48,11 @@
4648
4749 extern void reserve_standard_io_resources(void);
4850 extern void i386_reserve_resources(void);
51
+extern unsigned long __startup_64(unsigned long physaddr, struct boot_params *bp);
52
+extern unsigned long __startup_secondary_64(void);
53
+extern void startup_64_setup_env(unsigned long physbase);
54
+extern void early_setup_idt(void);
55
+extern void __init do_early_exception(struct pt_regs *regs, int trapnr);
4956
5057 #ifdef CONFIG_X86_INTEL_MID
5158 extern void x86_intel_mid_early_setup(void);
....@@ -72,7 +79,17 @@
7279
7380 static inline bool kaslr_enabled(void)
7481 {
75
- return !!(boot_params.hdr.loadflags & KASLR_FLAG);
82
+ return IS_ENABLED(CONFIG_RANDOMIZE_MEMORY) &&
83
+ !!(boot_params.hdr.loadflags & KASLR_FLAG);
84
+}
85
+
86
+/*
87
+ * Apply no randomization if KASLR was disabled at boot or if KASAN
88
+ * is enabled. KASAN shadow mappings rely on regions being PGD aligned.
89
+ */
90
+static inline bool kaslr_memory_enabled(void)
91
+{
92
+ return kaslr_enabled() && !IS_ENABLED(CONFIG_KASAN);
7693 }
7794
7895 static inline unsigned long kaslr_offset(void)
....@@ -102,7 +119,7 @@
102119 * executable.)
103120 */
104121 #define RESERVE_BRK(name,sz) \
105
- static void __section(.discard.text) __used notrace \
122
+ static void __section(".discard.text") __used notrace \
106123 __brk_reservation_fn_##name##__(void) { \
107124 asm volatile ( \
108125 ".pushsection .brk_reservation,\"aw\",@nobits;" \