um: ubd: use 64-bit time_t where possible
The ubd code suffers from a possible y2038 overflow on 32-bit architectures, both for the cow header and the os_file_modtime() function. Replace time_t with time64_t to extend the ubd_kern side as much as possible. Whether this makes a difference for the user side depends on the host libc implementation that may use either 32-bit or 64-bit time_t. For the cow file format, the header contains an unsigned 32-bit timestamp, which is good until y2106, passing this through a 'long long' gives us a consistent interpretation between 32-bit and 64-bit um kernels. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -341,7 +341,7 @@ int os_file_size(const char *file, unsigned long long *size_out)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int os_file_modtime(const char *file, unsigned long *modtime)
|
||||
int os_file_modtime(const char *file, long long *modtime)
|
||||
{
|
||||
struct uml_stat buf;
|
||||
int err;
|
||||
|
Reference in New Issue
Block a user