aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/include
diff options
context:
space:
mode:
authorAnton Ivanov <antivano@cisco.com>2014-03-07 18:37:47 +0000
committerRichard Weinberger <richard@nod.at>2014-04-20 23:57:21 +0200
commit0565103d1adbd765ca45248d04c327c076dd1571 (patch)
treebc72dc69499b068766284276bee91884afb1218b /arch/um/include
parentum: Missing pipe handling (diff)
downloadlinux-dev-0565103d1adbd765ca45248d04c327c076dd1571.tar.xz
linux-dev-0565103d1adbd765ca45248d04c327c076dd1571.zip
um: Memory corruption on startup
The reverse case of this race (you must msync before read) is well known. This is the not so common one. It can be triggered only on systems which do a lot of task switching and only at UML startup. If you are starting 200+ UMLs ~ 0.5% will always die without this fix. Signed-off-by: Anton Ivanov <antivano@cisco.com> [rw: minor whitespace fixes] Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/include')
-rw-r--r--arch/um/include/shared/os.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/um/include/shared/os.h b/arch/um/include/shared/os.h
index 75298d3358e7..08eec0b691b0 100644
--- a/arch/um/include/shared/os.h
+++ b/arch/um/include/shared/os.h
@@ -136,6 +136,7 @@ extern int os_ioctl_generic(int fd, unsigned int cmd, unsigned long arg);
extern int os_get_ifname(int fd, char *namebuf);
extern int os_set_slip(int fd);
extern int os_mode_fd(int fd, int mode);
+extern int os_fsync_file(int fd);
extern int os_seek_file(int fd, unsigned long long offset);
extern int os_open_file(const char *file, struct openflags flags, int mode);