diff --git a/lustre/include/lustre_lib.h b/lustre/include/lustre_lib.h
index df7105b..8bd117b 100644
--- a/lustre/include/lustre_lib.h
+++ b/lustre/include/lustre_lib.h
@@ -365,8 +365,8 @@ static inline int obd_ioctl_getdata(char **buf, int *len, void *arg)
         }
 
         /* XXX allocate this more intelligently, using kmalloc when
-         * appropriate */
-        OBD_VMALLOC(*buf, hdr.ioc_len);
+         * appropriate, LU-66 */
+        OBD_ALLOC(*buf, hdr.ioc_len);
         if (*buf == NULL) {
                 CERROR("Cannot allocate control buffer of len %d\n",
                        hdr.ioc_len);
@@ -377,13 +377,13 @@ static inline int obd_ioctl_getdata(char **buf, int *len, void *arg)
 
         err = cfs_copy_from_user(*buf, (void *)arg, hdr.ioc_len);
         if (err) {
-                OBD_VFREE(*buf, hdr.ioc_len);
+                OBD_FREE(*buf, hdr.ioc_len);
                 RETURN(err);
         }
 
         if (obd_ioctl_is_invalid(data)) {
                 CERROR("ioctl not correctly formatted\n");
-                OBD_VFREE(*buf, hdr.ioc_len);
+                OBD_FREE(*buf, hdr.ioc_len);
                 RETURN(-EINVAL);
         }
 
@@ -422,7 +422,7 @@ static inline void obd_ioctl_freedata(char *buf, int len)
 {
         ENTRY;
 
-        OBD_VFREE(buf, len);
+        OBD_FREE(buf, len);
         EXIT;
         return;
 }
diff --git a/lustre/obdclass/darwin/darwin-module.c b/lustre/obdclass/darwin/darwin-module.c
index 9269abe..7f95476 100644
--- a/lustre/obdclass/darwin/darwin-module.c
+++ b/lustre/obdclass/darwin/darwin-module.c
@@ -81,8 +81,8 @@ int obd_ioctl_getdata(char **buf, int *len, void *arg)
         }
 
         /* XXX allocate this more intelligently, using kmalloc when
-         * appropriate */
-        OBD_VMALLOC(*buf, hdr->ioc_len);
+         * appropriate LU-66*/
+        OBD_ALLOC(*buf, hdr->ioc_len);
         if (*buf == NULL) {
                 CERROR("Cannot allocate control buffer of len %d\n",
                        hdr->ioc_len);
diff --git a/lustre/obdclass/linux/linux-module.c b/lustre/obdclass/linux/linux-module.c
index 4b6ca83..f4c3b88 100644
--- a/lustre/obdclass/linux/linux-module.c
+++ b/lustre/obdclass/linux/linux-module.c
@@ -121,8 +121,8 @@ int obd_ioctl_getdata(char **buf, int *len, void *arg)
         }
 
         /* XXX allocate this more intelligently, using kmalloc when
-         * appropriate */
-        OBD_VMALLOC(*buf, hdr.ioc_len);
+         * appropriate, LU-66 */
+        OBD_ALLOC(*buf, hdr.ioc_len);
         if (*buf == NULL) {
                 CERROR("Cannot allocate control buffer of len %d\n",
                        hdr.ioc_len);
@@ -133,13 +133,13 @@ int obd_ioctl_getdata(char **buf, int *len, void *arg)
 
         err = cfs_copy_from_user(*buf, (void *)arg, hdr.ioc_len);
         if ( err ) {
-                OBD_VFREE(*buf, hdr.ioc_len);
+                OBD_FREE(*buf, hdr.ioc_len);
                 RETURN(err);
         }
 
         if (obd_ioctl_is_invalid(data)) {
                 CERROR("ioctl not correctly formatted\n");
-                OBD_VFREE(*buf, hdr.ioc_len);
+                OBD_FREE(*buf, hdr.ioc_len);
                 RETURN(-EINVAL);
         }