⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patch-2.4.34-pre3

📁 update patch to linux kernel to 2.4.34-pre3
💻 34-PRE3
📖 第 1 页 / 共 5 页
字号:
diff --git a/Makefile b/Makefileindex fd6884d..d2a02a1 100644--- a/Makefile+++ b/Makefile@@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 4-SUBLEVEL = 33-EXTRAVERSION =+SUBLEVEL = 34+EXTRAVERSION = -pre3  KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -93,11 +93,17 @@ CPPFLAGS := -D__KERNEL__ -I$(HPATH)  CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \ 	  -fno-strict-aliasing -fno-common+CFLAGS += -fno-builtin-sprintf ifndef CONFIG_FRAME_POINTER CFLAGS += -fomit-frame-pointer endif AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS) +check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)++# disable pointer signedness warnings in gcc 4.0+CFLAGS += $(call check_gcc,-Wno-pointer-sign,)+ # # ROOT_DEV specifies the default root-device when making the image. # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which casediff --git a/arch/i386/Makefile b/arch/i386/Makefileindex c8e2978..8f93efd 100644--- a/arch/i386/Makefile+++ b/arch/i386/Makefile@@ -23,8 +23,6 @@ LINKFLAGS =-T $(TOPDIR)/arch/i386/vmlinu  CFLAGS += -pipe -check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)- # prevent gcc from keeping the stack 16 byte aligned CFLAGS += $(call check_gcc,-mpreferred-stack-boundary=2,) diff --git a/arch/i386/kernel/head.S b/arch/i386/kernel/head.Sindex 8d7e5ef..a3144f0 100644--- a/arch/i386/kernel/head.S+++ b/arch/i386/kernel/head.S@@ -325,27 +325,21 @@ ENTRY(stack_start)  /* This is the default interrupt "handler" :-) */ int_msg:-	.asciz "Unknown interrupt\n"+	.asciz "Unknown interrupt, stack: %p %p %p %p\n" 	ALIGN ignore_int: 	cld-	pushl %eax-	pushl %ecx-	pushl %edx-	pushl %es-	pushl %ds 	movl $(__KERNEL_DS),%eax 	movl %eax,%ds 	movl %eax,%es+	pushl 12(%esp)+	pushl 12(%esp)+	pushl 12(%esp)+	pushl 12(%esp) 	pushl $int_msg 	call SYMBOL_NAME(printk)-	popl %eax-	popl %ds-	popl %es-	popl %edx-	popl %ecx-	popl %eax-	iret+1:	hlt+	jmp 1b  /*  * The interrupt descriptor table has room for 256 idt's,diff --git a/arch/mips/Makefile b/arch/mips/Makefileindex 60a064a..30508a9 100644--- a/arch/mips/Makefile+++ b/arch/mips/Makefile@@ -30,8 +30,6 @@ endif  MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot -check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)- # # # GCC uses -G 0 -mabicalls -fpic as default.  We don't want PIC in the kerneldiff --git a/arch/mips64/Makefile b/arch/mips64/Makefileindex 2f4e998..8937bff 100644--- a/arch/mips64/Makefile+++ b/arch/mips64/Makefile@@ -26,7 +26,6 @@ ifdef CONFIG_CROSSCOMPILE CROSS_COMPILE	= $(tool-prefix) endif -check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi) check_gas = $(shell if $(CC) $(1) -Wa,-Z -c -o /dev/null -xassembler /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)  #diff --git a/arch/ppc/kernel/head.S b/arch/ppc/kernel/head.Sindex 34125f6..340a66a 100644--- a/arch/ppc/kernel/head.S+++ b/arch/ppc/kernel/head.S@@ -1705,6 +1705,8 @@ ppc970_setup_hid: 	mfspr	r0,SPRN_HID0 	li	r11,5			/* clear DOZE and SLEEP */ 	rldimi	r0,r11,52,8		/* and set NAP and DPM */+	li	r11,0+	rldimi	r0,r11,32,31		/* clear EN_ATTN */ 	mtspr	SPRN_HID0,r0 	mfspr	r0,SPRN_HID0 	mfspr	r0,SPRN_HID0diff --git a/arch/ppc/kernel/open_pic_defs.h b/arch/ppc/kernel/open_pic_defs.hindex 4c2289d..43051d0 100644--- a/arch/ppc/kernel/open_pic_defs.h+++ b/arch/ppc/kernel/open_pic_defs.h@@ -172,9 +172,6 @@ struct OpenPIC {     OpenPIC_Processor Processor[OPENPIC_MAX_PROCESSORS]; }; -extern volatile struct OpenPIC *OpenPIC;--     /*      *  Current Task Priority Register      */diff --git a/arch/sparc/kernel/signal.c b/arch/sparc/kernel/signal.cindex fe9f6c0..28c9245 100644--- a/arch/sparc/kernel/signal.c+++ b/arch/sparc/kernel/signal.c@@ -1336,7 +1336,7 @@ do_sys_sigstack(struct sigstack *ssptr,  	if (ssptr) { 		void *ss_sp; -		if (get_user((long)ss_sp, &ssptr->the_stack))+		if (get_user(ss_sp, &ssptr->the_stack)) 			goto out; 		/* If the current stack was set with sigaltstack, don't 		   swap stacks while we are on it.  */diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.cindex 1c08204..f5058fe 100644--- a/arch/sparc/kernel/sparc_ksyms.c+++ b/arch/sparc/kernel/sparc_ksyms.c@@ -297,6 +297,7 @@ EXPORT_SYMBOL_NOVERS(memcmp); EXPORT_SYMBOL_NOVERS(memcpy); EXPORT_SYMBOL_NOVERS(memset); EXPORT_SYMBOL_NOVERS(memmove);+EXPORT_SYMBOL_NOVERS(memchr); EXPORT_SYMBOL_NOVERS(__ashrdi3); EXPORT_SYMBOL_NOVERS(__ashldi3); EXPORT_SYMBOL_NOVERS(__lshrdi3);diff --git a/arch/sparc64/kernel/sparc64_ksyms.c b/arch/sparc64/kernel/sparc64_ksyms.cindex 0f1f31f..40accab 100644--- a/arch/sparc64/kernel/sparc64_ksyms.c+++ b/arch/sparc64/kernel/sparc64_ksyms.c@@ -359,6 +359,7 @@ EXPORT_SYMBOL_NOVERS(__ret_efault); /* No version information on these, as gcc produces such symbols. */ EXPORT_SYMBOL_NOVERS(memcmp); EXPORT_SYMBOL_NOVERS(memcpy);+EXPORT_SYMBOL_NOVERS(memchr); EXPORT_SYMBOL_NOVERS(memset); EXPORT_SYMBOL_NOVERS(memmove); diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.cindex 9ea5957..5a4d297 100644--- a/arch/sparc64/mm/init.c+++ b/arch/sparc64/mm/init.c@@ -95,7 +95,7 @@ #ifndef CONFIG_SMP                                  if (page2)                                         page2->next_hash = page->next_hash;                                 else-                                        (struct page *)pgd_quicklist = page->next_hash;+                                        pgd_quicklist = (unsigned long *)page->next_hash;                                 page->next_hash = NULL;                                 page->pprev_hash = NULL;                                 pgd_cache_size -= 2;diff --git a/arch/x86_64/Makefile b/arch/x86_64/Makefileindex 32467e9..7fa4cb7 100644--- a/arch/x86_64/Makefile+++ b/arch/x86_64/Makefile@@ -38,8 +38,6 @@ OBJCOPY=$(CROSS_COMPILE)objcopy -O binar LDFLAGS=-e stext LINKFLAGS =-T $(TOPDIR)/arch/x86_64/vmlinux.lds $(LDFLAGS) -check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then echo "$(1)"; else echo "$(2)"; fi)- CFLAGS += -mno-red-zone CFLAGS += -mcmodel=kernel CFLAGS += -pipediff --git a/arch/x86_64/boot/compressed/Makefile b/arch/x86_64/boot/compressed/Makefileindex 0832d02..ad748e6 100644--- a/arch/x86_64/boot/compressed/Makefile+++ b/arch/x86_64/boot/compressed/Makefile@@ -28,7 +28,7 @@ head.o: head.S 	$(IA32_AS) -c head.S  misc.o: misc.c-	$(IA32_CC) $(IA32_CFLAGS) -c misc.c+	$(IA32_CC) $(IA32_CFLAGS) -fno-strict-aliasing -c misc.c  piggy.o:	$(SYSTEM) 	tmppiggy=_tmp_$$$$piggy; \diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.Sindex a172a62..b599234 100644--- a/arch/x86_64/ia32/ia32entry.S+++ b/arch/x86_64/ia32/ia32entry.S@@ -113,9 +113,18 @@ quiet_ni_syscall: 	PTREGSCALL stub32_fork, sys32_fork 	PTREGSCALL stub32_clone, sys32_clone 	PTREGSCALL stub32_vfork, sys32_vfork-	PTREGSCALL stub32_iopl, sys_iopl 	PTREGSCALL stub32_rt_sigsuspend, sys_rt_sigsuspend +	.macro PTREGSCALL3 label, func, arg+	.globl \label+\label:+	leaq \func(%rip),%rax+	leaq -ARGOFFSET+8(%rsp),\arg	/* 8 for return address */+	jmp  ia32_ptregs_common	+	.endm++	PTREGSCALL3 stub32_iopl, sys_iopl, %rsi+ ENTRY(ia32_ptregs_common) 	popq %r11 	SAVE_RESTdiff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.Sindex 00ba6fa..ab4a7db 100644--- a/arch/x86_64/kernel/entry.S+++ b/arch/x86_64/kernel/entry.S@@ -249,7 +249,16 @@ intret_signal_test:		 	PTREGSCALL stub_vfork, sys_vfork 	PTREGSCALL stub_rt_sigsuspend, sys_rt_sigsuspend 	PTREGSCALL stub_sigaltstack, sys_sigaltstack-	PTREGSCALL stub_iopl, sys_iopl++	.macro PTREGSCALL3 label,func,arg+	.globl \label+\label:+	leaq	\func(%rip),%rax+	leaq    -ARGOFFSET+8(%rsp),\arg /* 8 for return address */+	jmp	ptregscall_common+	.endm++	PTREGSCALL3 stub_iopl, sys_iopl, %rsi  ENTRY(ptregscall_common) 	popq %r11diff --git a/arch/x86_64/kernel/ioport.c b/arch/x86_64/kernel/ioport.cindex 2f44868..d96d85b 100644--- a/arch/x86_64/kernel/ioport.c+++ b/arch/x86_64/kernel/ioport.c@@ -81,9 +81,9 @@ asmlinkage long sys_ioperm(unsigned long  * code.  */ -asmlinkage long sys_iopl(unsigned int level, struct pt_regs regs)+asmlinkage long sys_iopl(unsigned int level, struct pt_regs *regs) {-	unsigned int old = (regs.eflags >> 12) & 3;+	unsigned int old = (regs->eflags >> 12) & 3;  	if (level > 3) 		return -EINVAL;@@ -92,6 +92,6 @@ asmlinkage long sys_iopl(unsigned int le 		if (!capable(CAP_SYS_RAWIO)) 			return -EPERM; 	}-	regs.eflags = (regs.eflags & 0xffffffffffffcfff) | (level << 12);+	regs->eflags = (regs->eflags &~ 0x3000UL) | (level << 12); 	return 0; }diff --git a/crypto/cipher.c b/crypto/cipher.cindex 6ab56eb..9b03eda 100644--- a/crypto/cipher.c+++ b/crypto/cipher.c@@ -147,6 +147,15 @@ static int ecb_encrypt(struct crypto_tfm 	             ecb_process, 1, NULL); } +static int ecb_encrypt_iv(struct crypto_tfm *tfm,+			  struct scatterlist *dst,+			  struct scatterlist *src,+			  unsigned int nbytes, u8 *iv)+{+	ecb_encrypt(tfm, dst, src, nbytes);+	return -ENOSYS;+}+ static int ecb_decrypt(struct crypto_tfm *tfm,                        struct scatterlist *dst,                        struct scatterlist *src,@@ -157,6 +166,15 @@ static int ecb_decrypt(struct crypto_tfm 	             ecb_process, 1, NULL); } +static int ecb_decrypt_iv(struct crypto_tfm *tfm,+			  struct scatterlist *dst,+			  struct scatterlist *src,+			  unsigned int nbytes, u8 *iv)+{+	ecb_decrypt(tfm, dst, src, nbytes);+	return -ENOSYS;+}+ static int cbc_encrypt(struct crypto_tfm *tfm,                        struct scatterlist *dst,                        struct scatterlist *src,@@ -197,11 +215,20 @@ static int cbc_decrypt_iv(struct crypto_ 	             cbc_process, 0, iv); } +/*+ * nocrypt*() zeroize the destination buffer to make sure we don't leak+ * uninitialized memory contents if the caller ignores the return value.+ * This is bad since the data in the source buffer is unused and may be+ * lost, but an infoleak would be even worse.  The performance cost of+ * memset() is irrelevant since a well-behaved caller would not bump into+ * the error repeatedly.+ */ static int nocrypt(struct crypto_tfm *tfm,                    struct scatterlist *dst,                    struct scatterlist *src, 		   unsigned int nbytes) {+	memset(dst, 0, nbytes); 	return -ENOSYS; } @@ -210,6 +237,7 @@ static int nocrypt_iv(struct crypto_tfm                        struct scatterlist *src,                       unsigned int nbytes, u8 *iv) {+	memset(dst, 0, nbytes); 	return -ENOSYS; } @@ -235,6 +263,11 @@ int crypto_init_cipher_ops(struct crypto 	case CRYPTO_TFM_MODE_ECB: 		ops->cit_encrypt = ecb_encrypt; 		ops->cit_decrypt = ecb_decrypt;+/* These should have been nocrypt_iv, but patch-cryptoloop-jari-2.4.22.0+ * (and its other revisions) directly calls the *_iv() functions even in+ * ECB mode and ignores their return value. */+		ops->cit_encrypt_iv = ecb_encrypt_iv;+		ops->cit_decrypt_iv = ecb_decrypt_iv; 		break; 		 	case CRYPTO_TFM_MODE_CBC:diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.cindex 21fa974..20c3ad5 100644--- a/drivers/acpi/bus.c+++ b/drivers/acpi/bus.c@@ -623,7 +623,7 @@ acpi_bus_generate_event ( 	int			data) { 	struct acpi_bus_event	*event = NULL;-	u32			flags = 0;+	unsigned long		flags = 0;  	ACPI_FUNCTION_TRACE("acpi_bus_generate_event"); @@ -656,7 +656,7 @@ int acpi_bus_receive_event ( 	struct acpi_bus_event	*event) {-	u32			flags = 0;+	unsigned long		flags = 0; 	struct acpi_bus_event	*entry = NULL;  	DECLARE_WAITQUEUE(wait, current);diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.cindex ea6ac5e..51199da 100644--- a/drivers/atm/fore200e.c+++ b/drivers/atm/fore200e.c@@ -112,8 +112,8 @@ #define ASSERT(expr)     do {} while (0) #endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -