mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] x86: Fix dmi_alloc() to not advance alloc index in case of failure
@ 2007-12-19  0:45 Parag Warudkar
  2007-12-19 10:50 ` Ingo Molnar
  0 siblings, 1 reply; 2+ messages in thread
From: Parag Warudkar @ 2007-12-19  0:45 UTC (permalink / raw)
  To: linux-kernel; +Cc: mingo, akpm, torvalds, ak


dmi_alloc() for CONFIG_X86_64 is defined to allocate from a static array 
and it maintains a allocation index which is advanced each time allocation 
is attempted - it gets incremented even if an allocation fails thereby 
depriving any future request that may be small enough to be satisfied from 
the array.

Fix this by first testing if allocation is going to be possible and 
incrementing alloc index only then.

Signed-off-by: Parag Warudkar <parag.warudkar@gmail.com>

--- linux-2.6/include/asm-x86/dmi.h	2007-12-07 10:04:42.000000000 -0500
+++ linux-2.6-work/include/asm-x86/dmi.h	2007-12-18 18:08:42.000000000 -0500
@@ -22,8 +22,9 @@
  static inline void *dmi_alloc(unsigned len)
  {
  	int idx = dmi_alloc_index;
-	if ((dmi_alloc_index += len) > DMI_MAX_DATA)
+	if ((dmi_alloc_index + len) > DMI_MAX_DATA)
  		return NULL;
+	dmi_alloc_index += len;
  	return dmi_alloc_data + idx;
  }


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

* Re: [PATCH] x86: Fix dmi_alloc() to not advance alloc index in case of failure
  2007-12-19  0:45 [PATCH] x86: Fix dmi_alloc() to not advance alloc index in case of failure Parag Warudkar
@ 2007-12-19 10:50 ` Ingo Molnar
  0 siblings, 0 replies; 2+ messages in thread
From: Ingo Molnar @ 2007-12-19 10:50 UTC (permalink / raw)
  To: Parag Warudkar
  Cc: linux-kernel, akpm, torvalds, ak, Thomas Gleixner, H. Peter Anvin


* Parag Warudkar <parag.warudkar@gmail.com> wrote:

> dmi_alloc() for CONFIG_X86_64 is defined to allocate from a static 
> array and it maintains a allocation index which is advanced each time 
> allocation is attempted - it gets incremented even if an allocation 
> fails thereby depriving any future request that may be small enough to 
> be satisfied from the array.
>
> Fix this by first testing if allocation is going to be possible and 
> incrementing alloc index only then.

Thanks, applied. Nice catch!

	Ingo

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

end of thread, other threads:[~2007-12-19 10:51 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-19  0:45 [PATCH] x86: Fix dmi_alloc() to not advance alloc index in case of failure Parag Warudkar
2007-12-19 10:50 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®