[Qemu-devel] [PATCH v3 04/29] qemu_memalign: Allow small alignments

2014-01-17 Thread Kevin Wolf
The functions used by qemu_memalign() require an alignment that is at
least sizeof(void*). Adjust it if it is too small.

Signed-off-by: Kevin Wolf kw...@redhat.com
Reviewed-by: Wenchao Xia xiaw...@linux.vnet.ibm.com
Reviewed-by: Max Reitz mre...@redhat.com
---
 util/oslib-posix.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/util/oslib-posix.c b/util/oslib-posix.c
index e00a44c..54f8932 100644
--- a/util/oslib-posix.c
+++ b/util/oslib-posix.c
@@ -85,6 +85,11 @@ void *qemu_oom_check(void *ptr)
 void *qemu_memalign(size_t alignment, size_t size)
 {
 void *ptr;
+
+if (alignment  sizeof(void*)) {
+alignment = sizeof(void*);
+}
+
 #if defined(_POSIX_C_SOURCE)  !defined(__sun__)
 int ret;
 ret = posix_memalign(ptr, alignment, size);
-- 
1.8.1.4




Re: [Qemu-devel] [PATCH v3 04/29] qemu_memalign: Allow small alignments

2014-01-17 Thread Benoît Canet
Le Friday 17 Jan 2014 à 15:14:54 (+0100), Kevin Wolf a écrit :
 The functions used by qemu_memalign() require an alignment that is at
 least sizeof(void*). Adjust it if it is too small.
 
 Signed-off-by: Kevin Wolf kw...@redhat.com
 Reviewed-by: Wenchao Xia xiaw...@linux.vnet.ibm.com
 Reviewed-by: Max Reitz mre...@redhat.com
 ---
  util/oslib-posix.c | 5 +
  1 file changed, 5 insertions(+)
 
 diff --git a/util/oslib-posix.c b/util/oslib-posix.c
 index e00a44c..54f8932 100644
 --- a/util/oslib-posix.c
 +++ b/util/oslib-posix.c
 @@ -85,6 +85,11 @@ void *qemu_oom_check(void *ptr)
  void *qemu_memalign(size_t alignment, size_t size)
  {
  void *ptr;
 +
 +if (alignment  sizeof(void*)) {
 +alignment = sizeof(void*);
 +}
 +
  #if defined(_POSIX_C_SOURCE)  !defined(__sun__)
  int ret;
  ret = posix_memalign(ptr, alignment, size);
 -- 
 1.8.1.4
 
 
Reviewed-by: Benoît Canet ben...@irqsave.net