Changes

Jump to navigation Jump to search
109 bytes added ,  07:47, 26 August 2018
m
Line 5: Line 5:  
=== A problem ===
 
=== A problem ===
   −
While kernel guarantees backwards compatibility, i.e. helper functions won't suddenly disappear, the internal structure of the '''vDSO''' itself may vary the way it wants, userspace programs won't notice such changes but it brings a huge problem to CRIU. The '''vDSO''' structure is highly coupled with the kernel internals so that if application is migrating to a new kernel release with brand new '''vDSO''' old one (which is still sitting in application memory) strictly speaking is no longer usable, because the new kernel implies new '''vDSO''' internal structure.
+
While the kernel guarantees backwards compatibility (i.e. helper functions won't suddenly disappear), the internal structure of the '''vDSO''' itself may vary. Userspace programs won't notice such changes but it brings a huge problem to CRIU. The '''vDSO''' structure is highly coupled with the kernel internals. If an application is being migrated to a new kernel release (with a brand new '''vDSO''') the old '''vDSO''' (which is stored in the application's memory) is no longer usable.
    
=== Calls proxification ===
 
=== Calls proxification ===
Line 15: Line 15:     
After that an restored application can continue using original '''vDSO''' helpers without problems.
 
After that an restored application can continue using original '''vDSO''' helpers without problems.
 +
 +
In case if an application is dumped and restored on same kernel CRIU detects that '''vDSO''' structure has not be changed and doesn't use calls proxification.
 +
 +
[[Category: Under the hood]]
277

edits

Navigation menu