linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] x86 fixes
@ 2015-03-05 17:02 Ingo Molnar
  2015-03-05 19:23 ` [GIT PULL v2] " Ingo Molnar
  0 siblings, 1 reply; 3+ messages in thread
From: Ingo Molnar @ 2015-03-05 17:02 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Borislav Petkov, H. Peter Anvin, Thomas Gleixner,
	Peter Zijlstra, Andrew Morton

Linus,

Please pull the latest x86-urgent-for-linus git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-for-linus

   # HEAD: 9ab6eb51ef4ad63cb71533d3a4dfb09ea8f69b4c x86/intel/quark: Select COMMON_CLK

Misc fixes: EFI fixes, an Intel Quark fix and an asm fix.


  out-of-topic modifications in x86-urgent-for-linus:
  -----------------------------------------------------
  drivers/firmware/dmi_scan.c        # 6d9ff4733172: firmware: dmi_scan: Fix dmi_
                                   # ce204e9a4bd8: firmware: dmi_scan: Fix dmi 
  drivers/firmware/efi/libstub/efi-stub-helper.c# 7ed620bb343f: efi/libstub: Fix boundary ch

 Thanks,

	Ingo

------------------>
Andy Lutomirski (1):
      x86/asm/entry/64: Remove a bogus 'ret_from_fork' optimization

Andy Shevchenko (1):
      x86/intel/quark: Select COMMON_CLK

Ivan Khoronzhuk (2):
      firmware: dmi_scan: Fix dmi scan to handle "End of Table" structure
      firmware: dmi_scan: Fix dmi_len type

Yinghai Lu (1):
      efi/libstub: Fix boundary checking in efi_high_alloc()


 arch/x86/Kconfig                               |  1 +
 arch/x86/kernel/entry_64.S                     | 13 ++++++++-----
 drivers/firmware/dmi_scan.c                    | 17 +++++++++--------
 drivers/firmware/efi/libstub/efi-stub-helper.c |  8 ++++----
 4 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index c2fb8a87dccb..b7d31ca55187 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -499,6 +499,7 @@ config X86_INTEL_QUARK
 	depends on X86_IO_APIC
 	select IOSF_MBI
 	select INTEL_IMR
+	select COMMON_CLK
 	---help---
 	  Select to include support for Quark X1000 SoC.
 	  Say Y here if you have a Quark based system such as the Arduino
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index 10074ad9ebf8..1d74d161687c 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -269,11 +269,14 @@ ENTRY(ret_from_fork)
 	testl $3, CS-ARGOFFSET(%rsp)		# from kernel_thread?
 	jz   1f
 
-	testl $_TIF_IA32, TI_flags(%rcx)	# 32-bit compat task needs IRET
-	jnz  int_ret_from_sys_call
-
-	RESTORE_TOP_OF_STACK %rdi, -ARGOFFSET
-	jmp ret_from_sys_call			# go to the SYSRET fastpath
+	/*
+	 * By the time we get here, we have no idea whether our pt_regs,
+	 * ti flags, and ti status came from the 64-bit SYSCALL fast path,
+	 * the slow path, or one of the ia32entry paths.
+	 * Use int_ret_from_sys_call to return, since it can safely handle
+	 * all of the above.
+	 */
+	jmp  int_ret_from_sys_call
 
 1:
 	subq $REST_SKIP, %rsp	# leave space for volatiles
diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
index c5f7b4e9eb6c..69fac068669f 100644
--- a/drivers/firmware/dmi_scan.c
+++ b/drivers/firmware/dmi_scan.c
@@ -78,7 +78,7 @@ static const char * __init dmi_string(const struct dmi_header *dm, u8 s)
  *	We have to be cautious here. We have seen BIOSes with DMI pointers
  *	pointing to completely the wrong place for example
  */
-static void dmi_table(u8 *buf, int len, int num,
+static void dmi_table(u8 *buf, u32 len, int num,
 		      void (*decode)(const struct dmi_header *, void *),
 		      void *private_data)
 {
@@ -93,12 +93,6 @@ static void dmi_table(u8 *buf, int len, int num,
 		const struct dmi_header *dm = (const struct dmi_header *)data;
 
 		/*
-		 * 7.45 End-of-Table (Type 127) [SMBIOS reference spec v3.0.0]
-		 */
-		if (dm->type == DMI_ENTRY_END_OF_TABLE)
-			break;
-
-		/*
 		 *  We want to know the total length (formatted area and
 		 *  strings) before decoding to make sure we won't run off the
 		 *  table in dmi_decode or dmi_string
@@ -108,13 +102,20 @@ static void dmi_table(u8 *buf, int len, int num,
 			data++;
 		if (data - buf < len - 1)
 			decode(dm, private_data);
+
+		/*
+		 * 7.45 End-of-Table (Type 127) [SMBIOS reference spec v3.0.0]
+		 */
+		if (dm->type == DMI_ENTRY_END_OF_TABLE)
+			break;
+
 		data += 2;
 		i++;
 	}
 }
 
 static phys_addr_t dmi_base;
-static u16 dmi_len;
+static u32 dmi_len;
 static u16 dmi_num;
 
 static int __init dmi_walk_early(void (*decode)(const struct dmi_header *,
diff --git a/drivers/firmware/efi/libstub/efi-stub-helper.c b/drivers/firmware/efi/libstub/efi-stub-helper.c
index 2fe195002021..f07d4a67fa76 100644
--- a/drivers/firmware/efi/libstub/efi-stub-helper.c
+++ b/drivers/firmware/efi/libstub/efi-stub-helper.c
@@ -179,12 +179,12 @@ efi_status_t efi_high_alloc(efi_system_table_t *sys_table_arg,
 		start = desc->phys_addr;
 		end = start + desc->num_pages * (1UL << EFI_PAGE_SHIFT);
 
-		if ((start + size) > end || (start + size) > max)
-			continue;
-
-		if (end - size > max)
+		if (end > max)
 			end = max;
 
+		if ((start + size) > end)
+			continue;
+
 		if (round_down(end - size, align) < start)
 			continue;
 

^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [GIT PULL] x86 fixes
@ 2009-12-31 12:03 Ingo Molnar
  2009-12-31 12:56 ` Borislav Petkov
  0 siblings, 1 reply; 3+ messages in thread
From: Ingo Molnar @ 2009-12-31 12:03 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, H. Peter Anvin, Thomas Gleixner, Andrew Morton

Linus,



Please pull the latest x86-fixes-for-linus git tree from:



   git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git x86-fixes-for-linus



You'll get a conflict in arch/x86/include/asm/uv/uv_hub.h (you merged a v1 

version of the patch from email - the conflicts are trivial, please pick my 

version).



Thanks,



	Ingo



---

 arch/x86/boot/compressed/Makefile  |    1 +

 arch/x86/include/asm/uv/uv_hub.h   |   86 ++++++++++++++++++++----------------

 arch/x86/kernel/amd_iommu_init.c   |   10 ++++

 arch/x86/kernel/apic/x2apic_uv_x.c |   12 +++---

 arch/x86/kernel/process.c          |    4 +-

 arch/x86/kernel/process_32.c       |   14 +++---

 arch/x86/kernel/process_64.c       |   24 +++++-----

 arch/x86/mm/kmemcheck/error.c      |   19 ++++----

 arch/x86/tools/chkobjdump.awk      |   16 +++++-

 drivers/char/agp/amd64-agp.c       |    9 ++--

 lib/dma-debug.c                    |    5 ++

 11 files changed, 118 insertions(+), 82 deletions(-)





FUJITA Tomonori (1):

      x86/agp: Fix agp_amd64_init() initialization with CONFIG_GART_IOMMU enabled



H. Peter Anvin (1):

      x86, compress: Force i386 instructions for the decompressor



Ingo Molnar (1):

      Merge branch 'iommu/fixes' of git://git.kernel.org/.../joro/linux-2.6-iommu into x86/urgent



Joerg Roedel (2):

      x86/amd-iommu: Fix initialization failure panic

      Merge branches 'dma-debug/fixes' and 'amd-iommu/fixes' into iommu/fixes



Masami Hiramatsu (1):

      x86: Fix objdump version check in chkobjdump.awk for different formats.



Mike Travis (1):

      x86: SGI UV: Fix writes to led registers on remote uv hubs



Pekka Enberg (2):

      x86: Use KERN_DEFAULT log-level in __show_regs()

      x86, kmemcheck: Use KERN_WARNING for error reporting



Shaun Ruffell (1):

      dma-debug: Do not add notifier when dma debugging is disabled.




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-03-05 19:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-05 17:02 [GIT PULL] x86 fixes Ingo Molnar
2015-03-05 19:23 ` [GIT PULL v2] " Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2009-12-31 12:03 [GIT PULL] " Ingo Molnar
2009-12-31 12:56 ` Borislav Petkov
2009-12-31 14:30   ` [GIT PULL, v2] " Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).