-Source: http://ports.ubuntu.com/pool/multiverse/v/virtualbox/virtualbox-guest-dkms_5.1.26-dfsg-2_all.deb
-Version: 5.1.26-dfsg-2
+Source: http://ports.ubuntu.com/pool/multiverse/v/virtualbox/virtualbox-guest-dkms_5.1.28-dfsg-1_all.deb
+Version: 5.1.28-dfsg-1
PACKAGE_NAME="virtualbox-guest"
-PACKAGE_VERSION="5.1.26"
+PACKAGE_VERSION="5.1.28"
CLEAN="rm -f *.*o"
BUILT_MODULE_NAME[0]="vboxguest"
BUILT_MODULE_LOCATION[0]="vboxguest"
VBOXOSTYPE_MacOS109_x64 = 0xB5100,
VBOXOSTYPE_MacOS1010_x64 = 0xB6100,
VBOXOSTYPE_MacOS1011_x64 = 0xB7100,
+ VBOXOSTYPE_MacOS1012_x64 = 0xB8100,
+ VBOXOSTYPE_MacOS1013_x64 = 0xB9100,
VBOXOSTYPE_JRockitVE = 0xC0000,
VBOXOSTYPE_Haiku = 0xD0000,
VBOXOSTYPE_Haiku_x64 = 0xD0100,
return VINF_SUCCESS;
}
+/* openSUSE Leap 42.3 detection :-/ */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0) \
+ && LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) \
+ && defined(FAULT_FLAG_REMOTE)
+# define GET_USER_PAGES_API KERNEL_VERSION(4, 10, 0) /* no typo! */
+#else
+# define GET_USER_PAGES_API LINUX_VERSION_CODE
+#endif
DECLHIDDEN(int) rtR0MemObjNativeLockUser(PPRTR0MEMOBJINTERNAL ppMem, RTR3PTR R3Ptr, size_t cb, uint32_t fAccess, RTR0PROCESS R0Process)
{
/*
* Get user pages.
*/
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+#if GET_USER_PAGES_API >= KERNEL_VERSION(4, 6, 0)
if (R0Process == RTR0ProcHandleSelf())
rc = get_user_pages(R3Ptr, /* Where from. */
cPages, /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0)
fWrite ? FOLL_WRITE | /* Write to memory. */
FOLL_FORCE /* force write access. */
: 0, /* Write to memory. */
pTask->mm, /* Whose pages. */
R3Ptr, /* Where from. */
cPages, /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0)
fWrite ? FOLL_WRITE | /* Write to memory. */
FOLL_FORCE /* force write access. */
: 0, /* Write to memory. */
# endif
&pMemLnx->apPages[0], /* Page array. */
papVMAs /* vmas */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
+# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 10, 0)
, NULL /* locked */
# endif
);
-#else /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
+#else /* GET_USER_PAGES_API < KERNEL_VERSION(4, 6, 0) */
rc = get_user_pages(pTask, /* Task for fault accounting. */
pTask->mm, /* Whose pages. */
R3Ptr, /* Where from. */
cPages, /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+# if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0)
fWrite ? FOLL_WRITE | /* Write to memory. */
FOLL_FORCE /* force write access. */
: 0, /* Write to memory. */
# endif
&pMemLnx->apPages[0], /* Page array. */
papVMAs); /* vmas */
-#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
+#endif /* GET_USER_PAGES_API < KERNEL_VERSION(4, 6, 0) */
if (rc == cPages)
{
/*
-#define VBOX_SVN_REV 117224
+#define VBOX_SVN_REV 117968
#define VBOX_VERSION_MAJOR 5
#define VBOX_VERSION_MINOR 1
-#define VBOX_VERSION_BUILD 26
-#define VBOX_VERSION_STRING_RAW "5.1.26"
-#define VBOX_VERSION_STRING "5.1.26_Ubuntu"
+#define VBOX_VERSION_BUILD 28
+#define VBOX_VERSION_STRING_RAW "5.1.28"
+#define VBOX_VERSION_STRING "5.1.28_Ubuntu"
#define VBOX_API_VERSION_STRING "5_1"
-#define VBOX_PRIVATE_BUILD_DESC "Private build by root"
+#define VBOX_PRIVATE_BUILD_DESC "Private build by buildd"
#endif
-#define VBOX_SVN_REV 117224
+#define VBOX_SVN_REV 117968
#define VBOX_VERSION_MAJOR 5
#define VBOX_VERSION_MINOR 1
-#define VBOX_VERSION_BUILD 26
-#define VBOX_VERSION_STRING_RAW "5.1.26"
-#define VBOX_VERSION_STRING "5.1.26_Ubuntu"
+#define VBOX_VERSION_BUILD 28
+#define VBOX_VERSION_STRING_RAW "5.1.28"
+#define VBOX_VERSION_STRING "5.1.28_Ubuntu"
#define VBOX_API_VERSION_STRING "5_1"
-#define VBOX_PRIVATE_BUILD_DESC "Private build by root"
+#define VBOX_PRIVATE_BUILD_DESC "Private build by buildd"
#endif
MY_KERNELRELEASE := 2.4.0
endif
ifeq ($(filter 1.% 2.% 3.0.% 3.1.% 3.2.% 3.3.% 3.4.% 3.5.% 3.6.% 3.7.% \
-3.8.% 3.9.% 3.10.%,$(MY_KERNELRELEASE)),)
+3.8.% 3.9.%,$(MY_KERNELRELEASE)),)
MOD_OBJS = HGSMIBase.o HGSMICommon.o HGSMIMemAlloc.o heapoffset.o \
Modesetting.o vbox_drv.o vbox_fb.o vbox_irq.o vbox_main.o \
vbox_mode.o vbox_ttm.o VBVABase.o vbox_prime.o
-#define VBOX_SVN_REV 117224
+#define VBOX_SVN_REV 117968
.driver.pm = &vbox_pm_ops,
};
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !defined(RHEL_74)
/* This works around a bug in X servers prior to 1.18.4, which sometimes
* submit more dirty rectangles than the kernel is willing to handle and
* then disable dirty rectangle handling altogether when they see the
return -EOVERFLOW;
return rc;
}
-#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) */
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !RHEL_74 */
static const struct file_operations vbox_fops =
{
.owner = THIS_MODULE,
.open = drm_open,
.release = drm_release,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !defined(RHEL_74)
.unlocked_ioctl = vbox_ioctl,
#else
.unlocked_ioctl = drm_ioctl,
#endif
.mmap = vbox_mmap,
.poll = drm_poll,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
.fasync = drm_fasync,
#endif
#ifdef CONFIG_COMPAT
return 0;
}
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0) && !defined(RHEL_74)
static void vbox_master_drop(struct drm_device *dev,
struct drm_file *file_priv,
bool from_release)
.lastclose = vbox_driver_lastclose,
.master_set = vbox_master_set,
.master_drop = vbox_master_drop,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
.set_busid = drm_pci_set_busid,
#endif
.gem_free_object = vbox_gem_free_object,
.dumb_create = vbox_dumb_create,
.dumb_map_offset = vbox_dumb_mmap_offset,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
.dumb_destroy = vbox_dumb_destroy,
#else
.dumb_destroy = drm_gem_dumb_destroy,
#include <drm/ttm/ttm_memory.h>
#include <drm/ttm/ttm_module.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if defined(RHEL_MAJOR) && defined(RHEL_MINOR)
+# if RHEL_MAJOR == 7 && RHEL_MINOR >= 4
+# define RHEL_73
+# define RHEL_74
+# elif RHEL_MAJOR == 7 && RHEL_MINOR >= 3
+# define RHEL_73
+# endif
+#endif
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
# include <drm/drm_gem.h>
#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
# define DRM_MODE_FB_CMD drm_mode_fb_cmd2
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && !defined(RHEL_73)
# define CRTC_FB(crtc) (crtc)->fb
#else
# define CRTC_FB(crtc) (crtc)->primary->fb
int vbox_framebuffer_init(struct drm_device *dev,
struct vbox_framebuffer *vbox_fb,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73)
const
#endif
struct DRM_MODE_FB_CMD *mode_cmd,
struct ttm_placement placement;
struct ttm_bo_kmap_obj kmap;
struct drm_gem_object gem;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
u32 placements[3];
#else
struct ttm_place placements[3];
extern int vbox_dumb_create(struct drm_file *file,
struct drm_device *dev,
struct drm_mode_create_dumb *args);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
extern int vbox_dumb_destroy(struct drm_file *file,
struct drm_device *dev,
uint32_t handle);
{
int ret;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
ret = ttm_bo_reserve(&bo->bo, true, no_wait, NULL);
#else
ret = ttm_bo_reserve(&bo->bo, true, no_wait, false, 0);
struct sg_table *vbox_gem_prime_get_sg_table(struct drm_gem_object *obj);
struct drm_gem_object *vbox_gem_prime_import_sg_table(
struct drm_device *dev,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
size_t size,
#else
struct dma_buf_attachment *attach,
vbox->fbdev = fbdev;
spin_lock_init(&fbdev->dirty_lock);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_73)
fbdev->helper.funcs = &vbox_fb_helper_funcs;
#else
drm_fb_helper_prepare(dev, &fbdev->helper, &vbox_fb_helper_funcs);
hints->cy, 0, flags);
vbox_connector->vbox_crtc->disconnected = disconnected;
}
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) || defined(RHEL_73)
if ((hints->dx < 0xffff) && (hints->dy < 0xffff)) {
drm_object_property_set_value(&connector->base,
dev->mode_config.suggested_x_property, hints->dx & 0x8fff);
LogFunc(("vboxvideo: %d: vbox=%p\n", __LINE__, vbox));
vbox_update_mode_hints(vbox);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(RHEL_73)
ret = drm_irq_install(vbox->dev, vbox->dev->pdev->irq);
#else
ret = drm_irq_install(vbox->dev);
int vbox_framebuffer_init(struct drm_device *dev,
struct vbox_framebuffer *vbox_fb,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73)
const
#endif
struct DRM_MODE_FB_CMD *mode_cmd,
static struct drm_framebuffer *
vbox_user_framebuffer_create(struct drm_device *dev,
struct drm_file *filp,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73)
const
#endif
struct drm_mode_fb_cmd2 *mode_cmd)
int ret;
LogFunc(("vboxvideo: %d\n", __LINE__));
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
obj = drm_gem_object_lookup(filp, mode_cmd->handles[0]);
#else
obj = drm_gem_object_lookup(dev, filp, mode_cmd->handles[0]);
&& have_cursor == VINF_SUCCESS;
}
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) && !defined(RHEL_73)
# define pci_iomap_range(dev, bar, offset, maxlen) \
ioremap(pci_resource_start(dev, bar) + offset, maxlen)
#endif
{
struct vbox_private *vbox = dev->dev_private;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(RHEL_73)
if (vbox->fbdev)
drm_fb_helper_restore_fbdev_mode_unlocked(&vbox->fbdev->helper);
#else
return 0;
}
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
int vbox_dumb_destroy(struct drm_file *file,
struct drm_device *dev,
uint32_t handle)
static inline u64 vbox_bo_mmap_offset(struct vbox_bo *bo)
{
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73)
return bo->bo.addr_space_offset;
#else
return drm_vma_node_offset_addr(&bo->bo.vma_node);
LogFunc(("vboxvideo: %d: dev=%p, handle=%u\n", __LINE__,
dev, (unsigned)handle));
mutex_lock(&dev->struct_mutex);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
obj = drm_gem_object_lookup(file, handle);
#else
obj = drm_gem_object_lookup(dev, file, handle);
#include <linux/export.h>
#include <drm/drm_crtc_helper.h>
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
# include <drm/drm_plane_helper.h>
#endif
kfree(encoder);
}
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) && !defined(RHEL_73)
static struct drm_encoder *drm_encoder_find(struct drm_device *dev, uint32_t id)
{
struct drm_mode_object *mo;
drm_encoder_init(dev, &vbox_encoder->base, &vbox_enc_funcs,
DRM_MODE_ENCODER_DAC
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73)
, NULL
#endif
);
LogFunc(("vboxvideo: %d: connector=%p\n", __LINE__, connector));
vbox_connector = to_vbox_connector(connector);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_73)
drm_sysfs_connector_remove(connector);
#else
drm_connector_unregister(connector);
connector->interlace_allowed = 0;
connector->doublescan_allowed = 0;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) || defined(RHEL_73)
drm_mode_create_suggested_offset_properties(dev);
drm_object_attach_property(&connector->base,
dev->mode_config.suggested_x_property, 0);
drm_object_attach_property(&connector->base,
dev->mode_config.suggested_y_property, 0);
#endif
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_73)
drm_sysfs_connector_add(connector);
#else
drm_connector_register(connector);
* retry at once. */
return -EBUSY;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
obj = drm_gem_object_lookup(file_priv, handle);
#else
obj = drm_gem_object_lookup(crtc->dev, file_priv, handle);
struct drm_gem_object *vbox_gem_prime_import_sg_table(
struct drm_device *dev,
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
size_t size,
#else
struct dma_buf_attachment *attach,
#include "vbox_drv.h"
#include <ttm/ttm_page_alloc.h>
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
# define PLACEMENT_FLAGS(placement) (placement)
#else
# define PLACEMENT_FLAGS(placement) (placement).flags
struct ttm_mem_reg *new_mem)
{
int r;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0) && !defined(RHEL_74)
r = ttm_bo_move_memcpy(bo, evict, no_wait_gpu, new_mem);
-#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0) && !defined(RHEL_74)
r = ttm_bo_move_memcpy(bo, evict, interruptible, no_wait_gpu, new_mem);
#else
r = ttm_bo_move_memcpy(bo, interruptible, no_wait_gpu, new_mem);
.ttm_tt_populate = vbox_ttm_tt_populate,
.ttm_tt_unpopulate = vbox_ttm_tt_unpopulate,
.init_mem_type = vbox_bo_init_mem_type,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0) || defined(RHEL_74)
.eviction_valuable = ttm_bo_eviction_valuable,
#endif
.evict_flags = vbox_bo_evict_flags,
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
.io_mem_pfn = ttm_bo_default_io_mem_pfn,
#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)) \
+ || defined(RHEL_74)
.lru_tail = &ttm_bo_default_lru_tail,
.swap_lru_tail = &ttm_bo_default_swap_lru_tail,
#endif
ret = ttm_bo_device_init(&vbox->ttm.bdev,
vbox->ttm.bo_global_ref.ref.object,
&vbox_bo_driver,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL_73)
dev->anon_inode->i_mapping,
#endif
DRM_FILE_PAGE_OFFSET,
void vbox_ttm_placement(struct vbox_bo *bo, int domain)
{
u32 c = 0;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73)
bo->placement.fpfn = 0;
bo->placement.lpfn = 0;
#else
PLACEMENT_FLAGS(bo->placements[c++]) = TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM;
bo->placement.num_placement = c;
bo->placement.num_busy_placement = c;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
for (i = 0; i < c; ++i) {
bo->placements[i].fpfn = 0;
bo->placements[i].lpfn = 0;
}
vboxbo->bo.bdev = &vbox->ttm.bdev;
-#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && !defined(RHEL_73)
vboxbo->bo.bdev->dev_mapping = dev->dev_mapping;
#endif
ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
ttm_bo_type_device, &vboxbo->placement,
align >> PAGE_SHIFT, false, NULL, acc_size,
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73)
NULL,
#endif
NULL, vbox_bo_ttm_destroy);
#define VBOX_VERSION_MAJOR 5
#define VBOX_VERSION_MINOR 1
-#define VBOX_VERSION_BUILD 26
-#define VBOX_VERSION_STRING_RAW "5.1.26"
-#define VBOX_VERSION_STRING "5.1.26_Ubuntu"
+#define VBOX_VERSION_BUILD 28
+#define VBOX_VERSION_STRING_RAW "5.1.28"
+#define VBOX_VERSION_STRING "5.1.28_Ubuntu"
#define VBOX_API_VERSION_STRING "5_1"
-#define VBOX_PRIVATE_BUILD_DESC "Private build by root"
+#define VBOX_PRIVATE_BUILD_DESC "Private build by buildd"
#endif