Use the more "modern" form, thus doing away with effectively open-coding
xmalloc_array() at the same time. While there is a difference in
generated code, as xmalloc_bytes() forces SMP_CACHE_BYTES alignment, if
code really cared about such higher than default alignment, it should
request so explicitly.

Also clear the pointers when freeing them.

Signed-off-by: Jan Beulich <jbeul...@suse.com>
---
v3: Use xv[mz]alloc_array().

--- a/xen/drivers/video/lfb.c
+++ b/xen/drivers/video/lfb.c
@@ -7,6 +7,8 @@
 #include <xen/kernel.h>
 #include <xen/lib.h>
 #include <xen/errno.h>
+#include <xen/xvmalloc.h>
+
 #include "lfb.h"
 #include "font.h"
 
@@ -147,9 +149,10 @@ int __init lfb_init(struct lfb_prop *lfb
 {
     lfb.lfbp = *lfbp;
 
-    lfb.lbuf = xmalloc_bytes(lfb.lfbp.bytes_per_line);
-    lfb.text_buf = xzalloc_bytes(lfb.lfbp.text_columns * lfb.lfbp.text_rows);
-    lfb.line_len = xzalloc_array(unsigned int, lfb.lfbp.text_columns);
+    lfb.lbuf = xvmalloc_array(unsigned char, lfb.lfbp.bytes_per_line);
+    lfb.text_buf = xvzalloc_array(unsigned char,
+                                  lfb.lfbp.text_columns * lfb.lfbp.text_rows);
+    lfb.line_len = xvzalloc_array(unsigned int, lfb.lfbp.text_columns);
 
     if ( !lfb.lbuf || !lfb.text_buf || !lfb.line_len )
         goto fail;
@@ -165,8 +168,8 @@ fail:
 
 void lfb_free(void)
 {
-    xfree(lfb.lbuf);
-    xfree(lfb.text_buf);
-    xfree(lfb.line_len);
+    XVFREE(lfb.lbuf);
+    XVFREE(lfb.text_buf);
+    XVFREE(lfb.line_len);
     lfb.lfbp.lfb = ZERO_BLOCK_PTR;
 }

Reply via email to