projects
/
project
/
ubox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kmodloader: make insert_module() idempotent
[project/ubox.git]
/
kmodloader.c
diff --git
a/kmodloader.c
b/kmodloader.c
index
bcb213b
..
729027a
100644
(file)
--- a/
kmodloader.c
+++ b/
kmodloader.c
@@
-574,8
+574,11
@@
static int insert_module(char *path, const char *options)
}
data = malloc(s.st_size);
}
data = malloc(s.st_size);
- if (read(fd, data, s.st_size) == s.st_size)
+ if (read(fd, data, s.st_size) == s.st_size)
{
ret = syscall(__NR_init_module, data, (unsigned long) s.st_size, options);
ret = syscall(__NR_init_module, data, (unsigned long) s.st_size, options);
+ if (errno == EEXIST)
+ ret = 0;
+ }
else
ULOG_ERR("failed to read full module %s\n", path);
else
ULOG_ERR("failed to read full module %s\n", path);