[vbox-dev] Fixes for kernel 5.4

Larry Finger Larry.Finger at lwfinger.net
Fri Oct 18 16:12:32 GMT 2019


On 10/4/19 8:22 AM, Frank Batschulat wrote:
> On Tue, 01 Oct 2019 23:45:26 +0200, Larry Finger 
> <Larry.Finger at lwfinger.net> wrote:
> 
>> Now that 5.4.0-rc1 has been released, I will post the kernel API fixes that 
>> work for me.
>>
>> The changes are as follows:
>> 1. The issues reported by Cyrax regarding changes in skb_frag_t are implemented
>> with dependency on 5.4, not 5.3 as in the original.
>> 2. The API to set/unset the executable bit in data pages has been removed. My
>> fix disables this feature. This approach works and is likely the correct one;
>> however, Oracle is reviewing the issue. See tracking bug
>> https://www.virtualbox.org/ticket/18945
>> 3. Some defines for various types are moved to include/uapi/linux/sched/types.h
>>
>> These patches are released under the MIT license.
> 
> Thanks Larry, I am planning to integrate this asap
> and will send a notification.
> 

Kernel 5.4.0-rc3 introduced a new incompatibility in that a new statement 
"fallthrough" was created. This change broke the fall through definitions used 
in VB. The following single line change fixes the problem:

Index: VirtualBox-6.0.12/include/iprt/cdefs.h
===================================================================
--- VirtualBox-6.0.12.orig/include/iprt/cdefs.h
+++ VirtualBox-6.0.12/include/iprt/cdefs.h
@@ -1166,7 +1166,7 @@
   * Tell the compiler that we're falling through to the next case in a switch.
   * @sa RT_FALL_THRU  */
  #if RT_GNUC_PREREQ(7, 0)
-# define RT_FALL_THROUGH()      __attribute__((fallthrough))
+# define RT_FALL_THROUGH()      __attribute__((__fallthrough__))
  #else
  # define RT_FALL_THROUGH()      (void)0
  #endif

Larry




More information about the vbox-dev mailing list