From 3de7ad47f321d24e60efaebe1674ac57e363faed Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Sep 01 2010 20:21:51 +0000 Subject: fix icebp breakpoints --- diff --git a/fix-icebp-breakpoints.patch b/fix-icebp-breakpoints.patch new file mode 100644 index 0000000..a84994d --- /dev/null +++ b/fix-icebp-breakpoints.patch @@ -0,0 +1,50 @@ +From: Frederic Weisbecker + +https://bugzilla.kernel.org/show_bug.cgi?id=16315#c26 +http://bugs.winehq.org/show_bug.cgi?id=23323 + +diff --git a/arch/x86/include/asm/hw_breakpoint.h b/arch/x86/include/asm/hw_breakpoint.h +index 528a11e..824ca07 100644 +--- a/arch/x86/include/asm/hw_breakpoint.h ++++ b/arch/x86/include/asm/hw_breakpoint.h +@@ -20,7 +20,7 @@ struct arch_hw_breakpoint { + #include + + /* Available HW breakpoint length encodings */ +-#define X86_BREAKPOINT_LEN_X 0x00 ++#define X86_BREAKPOINT_LEN_X 0x40 + #define X86_BREAKPOINT_LEN_1 0x40 + #define X86_BREAKPOINT_LEN_2 0x44 + #define X86_BREAKPOINT_LEN_4 0x4c +diff --git a/arch/x86/kernel/hw_breakpoint.c b/arch/x86/kernel/hw_breakpoint.c +index a474ec3..71123b1 100644 +--- a/arch/x86/kernel/hw_breakpoint.c ++++ b/arch/x86/kernel/hw_breakpoint.c +@@ -208,9 +208,6 @@ int arch_bp_generic_fields(int x86_len, int x86_type, + { + /* Len */ + switch (x86_len) { +- case X86_BREAKPOINT_LEN_X: +- *gen_len = sizeof(long); +- break; + case X86_BREAKPOINT_LEN_1: + *gen_len = HW_BREAKPOINT_LEN_1; + break; +@@ -233,6 +230,7 @@ int arch_bp_generic_fields(int x86_len, int x86_type, + switch (x86_type) { + case X86_BREAKPOINT_EXECUTE: + *gen_type = HW_BREAKPOINT_X; ++ *gen_len = sizeof(long); + break; + case X86_BREAKPOINT_WRITE: + *gen_type = HW_BREAKPOINT_W; +@@ -316,9 +314,6 @@ int arch_validate_hwbkpt_settings(struct perf_event *bp) + ret = -EINVAL; + + switch (info->len) { +- case X86_BREAKPOINT_LEN_X: +- align = sizeof(long) -1; +- break; + case X86_BREAKPOINT_LEN_1: + align = 0; + break; diff --git a/kernel.spec b/kernel.spec index a33a576..e6eb826 100644 --- a/kernel.spec +++ b/kernel.spec @@ -51,7 +51,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be prepended with "0.", so # for example a 3 here will become 0.3 # -%global baserelease 13 +%global baserelease 14 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -604,6 +604,8 @@ Patch30: linux-2.6-tracehook.patch Patch31: linux-2.6-utrace.patch Patch32: linux-2.6-utrace-ptrace.patch +Patch100: fix-icebp-breakpoints.patch + Patch150: linux-2.6.29-sparc-IOC_TYPECHECK.patch Patch160: linux-2.6-32bit-mmap-exec-randomization.patch @@ -1114,6 +1116,7 @@ ApplyPatch linux-2.6-utrace-ptrace.patch # Architecture patches # x86(-64) +ApplyPatch fix-icebp-breakpoints.patch # # Intel IOMMU @@ -1866,6 +1869,10 @@ fi # || || %changelog +* Wed Sep 01 2010 Kyle McMartin - 2.6.36-0.14.rc3.git0 +- Fix icebp breakpoints, patch from Frederic Weisbecker. + (https://bugzilla.kernel.org/show_bug.cgi?id=16315#c26) + * Wed Sep 01 2010 Kyle McMartin - 2.6.36-0.13.rc3.git0 - Swap back to roland's auto-updated utrace patches.