mirror of
https://github.com/systemd/systemd.git
synced 2025-09-12 01:44:46 +03:00
add strerror() to error logs
This commit is contained in:
committed by
Kay Sievers
parent
b6d474506f
commit
ff3e4bed21
2
udev.c
2
udev.c
@@ -95,7 +95,7 @@ int main(int argc, char *argv[], char *envp[])
|
|||||||
|
|
||||||
logging_init("udev");
|
logging_init("udev");
|
||||||
if (devnull < 0)
|
if (devnull < 0)
|
||||||
err("fatal, could not open /dev/null");
|
err("fatal, could not open /dev/null: %s", strerror(errno));
|
||||||
udev_init_config();
|
udev_init_config();
|
||||||
dbg("version %s", UDEV_VERSION);
|
dbg("version %s", UDEV_VERSION);
|
||||||
|
|
||||||
|
14
udev_add.c
14
udev_add.c
@@ -73,7 +73,7 @@ int udev_make_node(struct udevice *udev, const char *file, dev_t devt, mode_t mo
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (unlink(file) != 0)
|
if (unlink(file) != 0)
|
||||||
dbg("unlink(%s) failed with error '%s'", file, strerror(errno));
|
dbg("unlink(%s) failed: %s", file, strerror(errno));
|
||||||
else
|
else
|
||||||
dbg("already present file '%s' unlinked", file);
|
dbg("already present file '%s' unlinked", file);
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ create:
|
|||||||
retval = mknod(file, mode, devt);
|
retval = mknod(file, mode, devt);
|
||||||
selinux_resetfscreatecon();
|
selinux_resetfscreatecon();
|
||||||
if (retval != 0) {
|
if (retval != 0) {
|
||||||
err("mknod(%s, %#o, %u, %u) failed with error '%s'",
|
err("mknod(%s, %#o, %u, %u) failed: %s",
|
||||||
file, mode, major(devt), minor(devt), strerror(errno));
|
file, mode, major(devt), minor(devt), strerror(errno));
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
@@ -90,14 +90,14 @@ create:
|
|||||||
perms:
|
perms:
|
||||||
dbg("chmod(%s, %#o)", file, mode);
|
dbg("chmod(%s, %#o)", file, mode);
|
||||||
if (chmod(file, mode) != 0) {
|
if (chmod(file, mode) != 0) {
|
||||||
dbg("chmod(%s, %#o) failed with error '%s'", file, mode, strerror(errno));
|
dbg("chmod(%s, %#o) failed: %s", file, mode, strerror(errno));
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uid != 0 || gid != 0) {
|
if (uid != 0 || gid != 0) {
|
||||||
dbg("chown(%s, %u, %u)", file, uid, gid);
|
dbg("chown(%s, %u, %u)", file, uid, gid);
|
||||||
if (chown(file, uid, gid) != 0) {
|
if (chown(file, uid, gid) != 0) {
|
||||||
dbg("chown(%s, %u, %u) failed with error '%s'",
|
dbg("chown(%s, %u, %u) failed: %s",
|
||||||
file, uid, gid, strerror(errno));
|
file, uid, gid, strerror(errno));
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
@@ -222,7 +222,7 @@ static int create_node(struct udevice *udev, struct sysfs_class_device *class_de
|
|||||||
retval = symlink(linktarget, filename);
|
retval = symlink(linktarget, filename);
|
||||||
selinux_resetfscreatecon();
|
selinux_resetfscreatecon();
|
||||||
if (retval != 0)
|
if (retval != 0)
|
||||||
dbg("symlink(%s, %s) failed with error '%s'",
|
dbg("symlink(%s, %s) failed: %s",
|
||||||
linktarget, filename, strerror(errno));
|
linktarget, filename, strerror(errno));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -244,7 +244,7 @@ static int rename_net_if(struct udevice *udev)
|
|||||||
|
|
||||||
sk = socket(PF_INET, SOCK_DGRAM, 0);
|
sk = socket(PF_INET, SOCK_DGRAM, 0);
|
||||||
if (sk < 0) {
|
if (sk < 0) {
|
||||||
dbg("error opening socket");
|
dbg("error opening socket: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,7 +254,7 @@ static int rename_net_if(struct udevice *udev)
|
|||||||
|
|
||||||
retval = ioctl(sk, SIOCSIFNAME, &ifr);
|
retval = ioctl(sk, SIOCSIFNAME, &ifr);
|
||||||
if (retval != 0)
|
if (retval != 0)
|
||||||
dbg("error changing net interface name");
|
dbg("error changing net interface name: %s", strerror(errno));
|
||||||
close(sk);
|
close(sk);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
|
@@ -107,7 +107,7 @@ static int parse_config_file(void)
|
|||||||
int retval = 0;
|
int retval = 0;
|
||||||
|
|
||||||
if (file_map(udev_config_filename, &buf, &bufsize) != 0) {
|
if (file_map(udev_config_filename, &buf, &bufsize) != 0) {
|
||||||
err("can't open '%s' as config file", udev_config_filename);
|
err("can't open '%s' as config file: %s", udev_config_filename, strerror(errno));
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
10
udev_db.c
10
udev_db.c
@@ -95,7 +95,7 @@ int udev_db_add_device(struct udevice *udev)
|
|||||||
create_path(filename);
|
create_path(filename);
|
||||||
f = fopen(filename, "w");
|
f = fopen(filename, "w");
|
||||||
if (f == NULL) {
|
if (f == NULL) {
|
||||||
err("unable to create db file '%s'", filename);
|
err("unable to create db file '%s': %s", filename, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
dbg("storing data for device '%s' in '%s'", udev->devpath, filename);
|
dbg("storing data for device '%s' in '%s'", udev->devpath, filename);
|
||||||
@@ -129,7 +129,7 @@ int udev_db_get_device(struct udevice *udev, const char *devpath)
|
|||||||
|
|
||||||
devpath_to_db_path(devpath, filename, sizeof(filename));
|
devpath_to_db_path(devpath, filename, sizeof(filename));
|
||||||
if (file_map(filename, &buf, &bufsize) != 0) {
|
if (file_map(filename, &buf, &bufsize) != 0) {
|
||||||
dbg("no db file to read '%s'", filename);
|
dbg("no db file to read %s: %s", filename, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,7 +210,7 @@ int udev_db_lookup_name(const char *name, char *devpath, size_t len)
|
|||||||
|
|
||||||
dir = opendir(udev_db_path);
|
dir = opendir(udev_db_path);
|
||||||
if (dir == NULL) {
|
if (dir == NULL) {
|
||||||
err("unable to open udev_db '%s'", udev_db_path);
|
err("unable to open udev_db '%s': %s", udev_db_path, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -235,7 +235,7 @@ int udev_db_lookup_name(const char *name, char *devpath, size_t len)
|
|||||||
dbg("looking at '%s'", filename);
|
dbg("looking at '%s'", filename);
|
||||||
|
|
||||||
if (file_map(filename, &buf, &bufsize) != 0) {
|
if (file_map(filename, &buf, &bufsize) != 0) {
|
||||||
err("unable to read db file '%s'", filename);
|
err("unable to read db file '%s': %s", filename, strerror(errno));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -278,7 +278,7 @@ int udev_db_get_all_entries(struct list_head *name_list)
|
|||||||
|
|
||||||
dir = opendir(udev_db_path);
|
dir = opendir(udev_db_path);
|
||||||
if (dir == NULL) {
|
if (dir == NULL) {
|
||||||
err("unable to open udev_db '%s'", udev_db_path);
|
err("unable to open udev_db '%s': %s", udev_db_path, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -144,7 +144,7 @@ static unsigned long get_id_by_name(const char *uname, const char *dbfile)
|
|||||||
char *tail;
|
char *tail;
|
||||||
|
|
||||||
if (file_map(dbfile, &buf, &bufsize) != 0) {
|
if (file_map(dbfile, &buf, &bufsize) != 0) {
|
||||||
dbg("can't open '%s' as db file", dbfile);
|
dbg("can't open '%s' as db file: %s", dbfile, strerror(errno));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
dbg("search '%s' in '%s'", uname, dbfile);
|
dbg("search '%s' in '%s'", uname, dbfile);
|
||||||
|
@@ -56,8 +56,7 @@ static int delete_path(const char *path)
|
|||||||
if (retval) {
|
if (retval) {
|
||||||
if (errno == ENOTEMPTY)
|
if (errno == ENOTEMPTY)
|
||||||
return 0;
|
return 0;
|
||||||
dbg("rmdir(%s) failed with error '%s'",
|
dbg("rmdir(%s) failed: %s", path, strerror(errno));
|
||||||
path, strerror(errno));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
dbg("removed '%s'", path);
|
dbg("removed '%s'", path);
|
||||||
@@ -153,8 +152,8 @@ int udev_remove_device(struct udevice *udev)
|
|||||||
dbg("remove name='%s'", udev->name);
|
dbg("remove name='%s'", udev->name);
|
||||||
udev_db_delete_device(udev);
|
udev_db_delete_device(udev);
|
||||||
} else {
|
} else {
|
||||||
dbg("'%s' not found in database, using kernel name '%s'", udev->devpath, udev->kernel_name);
|
dbg("'%s' not found in database, don't remove anything", udev->devpath);
|
||||||
strlcpy(udev->name, udev->kernel_name, sizeof(udev->name));
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return delete_node(udev);
|
return delete_node(udev);
|
||||||
|
@@ -208,7 +208,7 @@ static int import_file_into_env(struct udevice *udev, const char *filename)
|
|||||||
size_t bufsize;
|
size_t bufsize;
|
||||||
|
|
||||||
if (file_map(filename, &buf, &bufsize) != 0) {
|
if (file_map(filename, &buf, &bufsize) != 0) {
|
||||||
err("can't open '%s'", filename);
|
err("can't open '%s': %s", filename, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
import_keys_into_env(udev, buf, bufsize);
|
import_keys_into_env(udev, buf, bufsize);
|
||||||
|
@@ -538,7 +538,7 @@ static int parse_file(struct udev_rules *rules, const char *filename)
|
|||||||
int retval = 0;
|
int retval = 0;
|
||||||
|
|
||||||
if (file_map(filename, &buf, &bufsize) != 0) {
|
if (file_map(filename, &buf, &bufsize) != 0) {
|
||||||
err("can't open '%s' as rules file", filename);
|
err("can't open '%s' as rules file: %s", filename, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
dbg("reading '%s' as rules file", filename);
|
dbg("reading '%s' as rules file", filename);
|
||||||
|
@@ -105,7 +105,7 @@ void selinux_setfilecon(const char *file, const char *devname, unsigned int mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (setfilecon(file, scontext) < 0)
|
if (setfilecon(file, scontext) < 0)
|
||||||
dbg("setfilecon %s failed with error '%s'", file, strerror(errno));
|
dbg("setfilecon %s failed: %s", file, strerror(errno));
|
||||||
|
|
||||||
freecon(scontext);
|
freecon(scontext);
|
||||||
}
|
}
|
||||||
@@ -131,7 +131,7 @@ void selinux_setfscreatecon(const char *file, const char *devname, unsigned int
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (setfscreatecon(scontext) < 0)
|
if (setfscreatecon(scontext) < 0)
|
||||||
dbg("setfscreatecon %s failed with error '%s'", file, strerror(errno));
|
dbg("setfscreatecon %s failed: %s", file, strerror(errno));
|
||||||
|
|
||||||
freecon(scontext);
|
freecon(scontext);
|
||||||
}
|
}
|
||||||
@@ -141,7 +141,7 @@ void selinux_resetfscreatecon(void)
|
|||||||
{
|
{
|
||||||
if (is_selinux_running()) {
|
if (is_selinux_running()) {
|
||||||
if (setfscreatecon(prev_scontext) < 0)
|
if (setfscreatecon(prev_scontext) < 0)
|
||||||
dbg("setfscreatecon %s failed with error '%s'", file, strerror(errno));
|
dbg("setfscreatecon failed: %s", strerror(errno));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -139,7 +139,7 @@ int add_matching_files(struct list_head *name_list, const char *dirname, const c
|
|||||||
dbg("open directory '%s'", dirname);
|
dbg("open directory '%s'", dirname);
|
||||||
dir = opendir(dirname);
|
dir = opendir(dirname);
|
||||||
if (dir == NULL) {
|
if (dir == NULL) {
|
||||||
dbg("unable to open '%s'", dirname);
|
dbg("unable to open '%s': %s", dirname, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -72,18 +72,18 @@ int unlink_secure(const char *filename)
|
|||||||
|
|
||||||
retval = chown(filename, 0, 0);
|
retval = chown(filename, 0, 0);
|
||||||
if (retval)
|
if (retval)
|
||||||
dbg("chown(%s, 0, 0) failed with error '%s'", filename, strerror(errno));
|
dbg("chown(%s, 0, 0) failed: %s", filename, strerror(errno));
|
||||||
|
|
||||||
retval = chmod(filename, 0000);
|
retval = chmod(filename, 0000);
|
||||||
if (retval)
|
if (retval)
|
||||||
dbg("chmod(%s, 0000) failed with error '%s'", filename, strerror(errno));
|
dbg("chmod(%s, 0000) failed: %s", filename, strerror(errno));
|
||||||
|
|
||||||
retval = unlink(filename);
|
retval = unlink(filename);
|
||||||
if (errno == ENOENT)
|
if (errno == ENOENT)
|
||||||
retval = 0;
|
retval = 0;
|
||||||
|
|
||||||
if (retval)
|
if (retval)
|
||||||
dbg("unlink(%s) failed with error '%s'", filename, strerror(errno));
|
dbg("unlink(%s) failed: %s", filename, strerror(errno));
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@@ -115,13 +115,13 @@ int run_program(const char *command, const char *subsystem,
|
|||||||
/* prepare pipes from child to parent */
|
/* prepare pipes from child to parent */
|
||||||
if (result || log) {
|
if (result || log) {
|
||||||
if (pipe(outpipe) != 0) {
|
if (pipe(outpipe) != 0) {
|
||||||
err("pipe failed");
|
err("pipe failed: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (log) {
|
if (log) {
|
||||||
if (pipe(errpipe) != 0) {
|
if (pipe(errpipe) != 0) {
|
||||||
err("pipe failed");
|
err("pipe failed: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -145,7 +145,7 @@ int run_program(const char *command, const char *subsystem,
|
|||||||
dup2(devnull, STDERR_FILENO);
|
dup2(devnull, STDERR_FILENO);
|
||||||
close(devnull);
|
close(devnull);
|
||||||
} else
|
} else
|
||||||
err("open /dev/null failed");
|
err("open /dev/null failed: %s", strerror(errno));
|
||||||
if (outpipe[WRITE_END] > 0)
|
if (outpipe[WRITE_END] > 0)
|
||||||
dup2(outpipe[WRITE_END], STDOUT_FILENO);
|
dup2(outpipe[WRITE_END], STDOUT_FILENO);
|
||||||
if (errpipe[WRITE_END] > 0)
|
if (errpipe[WRITE_END] > 0)
|
||||||
@@ -156,7 +156,7 @@ int run_program(const char *command, const char *subsystem,
|
|||||||
err("exec of program '%s' failed", argv[0]);
|
err("exec of program '%s' failed", argv[0]);
|
||||||
_exit(1);
|
_exit(1);
|
||||||
case -1:
|
case -1:
|
||||||
err("fork of '%s' failed", argv[0]);
|
err("fork of '%s' failed: %s", argv[0], strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
default:
|
default:
|
||||||
/* read from child if requested */
|
/* read from child if requested */
|
||||||
@@ -199,7 +199,7 @@ int run_program(const char *command, const char *subsystem,
|
|||||||
close(outpipe[READ_END]);
|
close(outpipe[READ_END]);
|
||||||
outpipe[READ_END] = -1;
|
outpipe[READ_END] = -1;
|
||||||
if (count < 0) {
|
if (count < 0) {
|
||||||
err("stdin read failed with '%s'", strerror(errno));
|
err("stdin read failed: %s", strerror(errno));
|
||||||
retval = -1;
|
retval = -1;
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
@@ -233,7 +233,7 @@ int run_program(const char *command, const char *subsystem,
|
|||||||
close(errpipe[READ_END]);
|
close(errpipe[READ_END]);
|
||||||
errpipe[READ_END] = -1;
|
errpipe[READ_END] = -1;
|
||||||
if (count < 0)
|
if (count < 0)
|
||||||
err("stderr read failed with '%s'", strerror(errno));
|
err("stderr read failed: %s", strerror(errno));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
errbuf[count] = '\0';
|
errbuf[count] = '\0';
|
||||||
|
@@ -125,7 +125,7 @@ int main(int argc, char *argv[], char *envp[])
|
|||||||
|
|
||||||
sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
|
sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
|
||||||
if (sock == -1) {
|
if (sock == -1) {
|
||||||
err("error getting socket");
|
err("error getting socket: %s", strerror(errno));
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@ int main(int argc, char *argv[], char *envp[])
|
|||||||
|
|
||||||
retval = sendto(sock, &usend_msg, sizeof(usend_msg), 0, (struct sockaddr *)&saddr, addrlen);
|
retval = sendto(sock, &usend_msg, sizeof(usend_msg), 0, (struct sockaddr *)&saddr, addrlen);
|
||||||
if (retval == -1) {
|
if (retval == -1) {
|
||||||
info("error sending message (%s)", strerror(errno));
|
err("error sending message: %s", strerror(errno));
|
||||||
retval = 1;
|
retval = 1;
|
||||||
} else {
|
} else {
|
||||||
dbg("sent message type=0x%02x, %u bytes sent", usend_msg.type, retval);
|
dbg("sent message type=0x%02x, %u bytes sent", usend_msg.type, retval);
|
||||||
|
20
udevd.c
20
udevd.c
@@ -160,7 +160,7 @@ static void udev_event_run(struct uevent_msg *msg)
|
|||||||
logging_close();
|
logging_close();
|
||||||
exit(0);
|
exit(0);
|
||||||
case -1:
|
case -1:
|
||||||
err("fork of child failed");
|
err("fork of child failed: %s", strerror(errno));
|
||||||
msg_queue_delete(msg);
|
msg_queue_delete(msg);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -460,7 +460,7 @@ static struct uevent_msg *get_udevd_msg(void)
|
|||||||
size = recvmsg(udevd_sock, &smsg, 0);
|
size = recvmsg(udevd_sock, &smsg, 0);
|
||||||
if (size < 0) {
|
if (size < 0) {
|
||||||
if (errno != EINTR)
|
if (errno != EINTR)
|
||||||
err("unable to receive udevd message");
|
err("unable to receive udevd message: %s", strerror(errno));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
cmsg = CMSG_FIRSTHDR(&smsg);
|
cmsg = CMSG_FIRSTHDR(&smsg);
|
||||||
@@ -535,7 +535,7 @@ static struct uevent_msg *get_netlink_msg(void)
|
|||||||
size = recv(uevent_netlink_sock, &buffer, sizeof(buffer), 0);
|
size = recv(uevent_netlink_sock, &buffer, sizeof(buffer), 0);
|
||||||
if (size < 0) {
|
if (size < 0) {
|
||||||
if (errno != EINTR)
|
if (errno != EINTR)
|
||||||
err("unable to receive udevd message");
|
err("unable to receive udevd message: %s", strerror(errno));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -640,7 +640,7 @@ static int init_udevd_socket(void)
|
|||||||
|
|
||||||
udevd_sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
|
udevd_sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
|
||||||
if (udevd_sock == -1) {
|
if (udevd_sock == -1) {
|
||||||
err("error getting socket, %s", strerror(errno));
|
err("error getting socket: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -650,7 +650,7 @@ static int init_udevd_socket(void)
|
|||||||
/* the bind takes care of ensuring only one copy running */
|
/* the bind takes care of ensuring only one copy running */
|
||||||
retval = bind(udevd_sock, (struct sockaddr *) &saddr, addrlen);
|
retval = bind(udevd_sock, (struct sockaddr *) &saddr, addrlen);
|
||||||
if (retval < 0) {
|
if (retval < 0) {
|
||||||
err("bind failed, %s", strerror(errno));
|
err("bind failed: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -673,7 +673,7 @@ static int init_uevent_netlink_sock(void)
|
|||||||
|
|
||||||
uevent_netlink_sock = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
|
uevent_netlink_sock = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
|
||||||
if (uevent_netlink_sock == -1) {
|
if (uevent_netlink_sock == -1) {
|
||||||
err("error getting socket, %s", strerror(errno));
|
err("error getting socket: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -682,7 +682,7 @@ static int init_uevent_netlink_sock(void)
|
|||||||
|
|
||||||
retval = bind(uevent_netlink_sock, (struct sockaddr *) &snl, sizeof(struct sockaddr_nl));
|
retval = bind(uevent_netlink_sock, (struct sockaddr *) &snl, sizeof(struct sockaddr_nl));
|
||||||
if (retval < 0) {
|
if (retval < 0) {
|
||||||
err("bind failed, %s", strerror(errno));
|
err("bind failed: %s", strerror(errno));
|
||||||
close(uevent_netlink_sock);
|
close(uevent_netlink_sock);
|
||||||
uevent_netlink_sock = -1;
|
uevent_netlink_sock = -1;
|
||||||
return -1;
|
return -1;
|
||||||
@@ -717,7 +717,7 @@ int main(int argc, char *argv[], char *envp[])
|
|||||||
|
|
||||||
logging_init("udevd");
|
logging_init("udevd");
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
err("fatal, could not open /dev/null");
|
err("fatal, could not open /dev/null: %s", strerror(errno));
|
||||||
|
|
||||||
udev_init_config();
|
udev_init_config();
|
||||||
dbg("version %s", UDEV_VERSION);
|
dbg("version %s", UDEV_VERSION);
|
||||||
@@ -770,7 +770,7 @@ int main(int argc, char *argv[], char *envp[])
|
|||||||
dbg("daemonized fork running");
|
dbg("daemonized fork running");
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
err("fork of daemon failed");
|
err("fork of daemon failed: %s", strerror(errno));
|
||||||
rc = 4;
|
rc = 4;
|
||||||
goto exit;
|
goto exit;
|
||||||
default:
|
default:
|
||||||
@@ -792,7 +792,7 @@ int main(int argc, char *argv[], char *envp[])
|
|||||||
/* OOM_DISABLE == -17 */
|
/* OOM_DISABLE == -17 */
|
||||||
fd = open("/proc/self/oom_adj", O_RDWR);
|
fd = open("/proc/self/oom_adj", O_RDWR);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
err("error disabling OOM");
|
err("error disabling OOM: %s", strerror(errno));
|
||||||
else {
|
else {
|
||||||
write(fd, "-17", 3);
|
write(fd, "-17", 3);
|
||||||
close(fd);
|
close(fd);
|
||||||
|
@@ -84,7 +84,7 @@ int main(int argc, char **argv, char **envp)
|
|||||||
|
|
||||||
snprintf(buf, FNSIZE, "/events/debug.%05lu.%s.%s.%u", seq, argv[1], a ? a : "", getpid());
|
snprintf(buf, FNSIZE, "/events/debug.%05lu.%s.%s.%u", seq, argv[1], a ? a : "", getpid());
|
||||||
if ((fd = open(buf, O_CREAT | O_WRONLY | O_TRUNC, 0644)) < 0) {
|
if ((fd = open(buf, O_CREAT | O_WRONLY | O_TRUNC, 0644)) < 0) {
|
||||||
err("error creating '%s'", buf);
|
err("error creating '%s': %s", buf, strerror(errno));
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
free(buf);
|
free(buf);
|
||||||
|
@@ -55,14 +55,14 @@ static int init_udev_monitor_socket(void)
|
|||||||
|
|
||||||
udev_monitor_sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
|
udev_monitor_sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
|
||||||
if (udev_monitor_sock == -1) {
|
if (udev_monitor_sock == -1) {
|
||||||
fprintf(stderr, "error getting socket, %s\n", strerror(errno));
|
fprintf(stderr, "error getting socket: %s\n", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* the bind takes care of ensuring only one copy running */
|
/* the bind takes care of ensuring only one copy running */
|
||||||
retval = bind(udev_monitor_sock, (struct sockaddr *) &saddr, addrlen);
|
retval = bind(udev_monitor_sock, (struct sockaddr *) &saddr, addrlen);
|
||||||
if (retval < 0) {
|
if (retval < 0) {
|
||||||
fprintf(stderr, "bind failed, %s\n", strerror(errno));
|
fprintf(stderr, "bind failed: %s\n", strerror(errno));
|
||||||
close(udev_monitor_sock);
|
close(udev_monitor_sock);
|
||||||
udev_monitor_sock = -1;
|
udev_monitor_sock = -1;
|
||||||
return -1;
|
return -1;
|
||||||
@@ -86,14 +86,14 @@ static int init_uevent_netlink_sock(void)
|
|||||||
|
|
||||||
uevent_netlink_sock = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
|
uevent_netlink_sock = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
|
||||||
if (uevent_netlink_sock == -1) {
|
if (uevent_netlink_sock == -1) {
|
||||||
fprintf(stderr, "error getting socket, %s\n", strerror(errno));
|
fprintf(stderr, "error getting socket: %s\n", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
retval = bind(uevent_netlink_sock, (struct sockaddr *) &snl,
|
retval = bind(uevent_netlink_sock, (struct sockaddr *) &snl,
|
||||||
sizeof(struct sockaddr_nl));
|
sizeof(struct sockaddr_nl));
|
||||||
if (retval < 0) {
|
if (retval < 0) {
|
||||||
fprintf(stderr, "bind failed, %s\n", strerror(errno));
|
fprintf(stderr, "bind failed: %s\n", strerror(errno));
|
||||||
close(uevent_netlink_sock);
|
close(uevent_netlink_sock);
|
||||||
uevent_netlink_sock = -1;
|
uevent_netlink_sock = -1;
|
||||||
return -1;
|
return -1;
|
||||||
@@ -173,7 +173,7 @@ int main(int argc, char *argv[])
|
|||||||
fdcount = select(UDEV_MAX(uevent_netlink_sock, udev_monitor_sock)+1, &readfds, NULL, NULL, NULL);
|
fdcount = select(UDEV_MAX(uevent_netlink_sock, udev_monitor_sock)+1, &readfds, NULL, NULL, NULL);
|
||||||
if (fdcount < 0) {
|
if (fdcount < 0) {
|
||||||
if (errno != EINTR)
|
if (errno != EINTR)
|
||||||
fprintf(stderr, "error receiving uevent message\n");
|
fprintf(stderr, "error receiving uevent message: %s\n", strerror(errno));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@ int main(int argc, char *argv[])
|
|||||||
if ((uevent_netlink_sock > 0) && FD_ISSET(uevent_netlink_sock, &readfds)) {
|
if ((uevent_netlink_sock > 0) && FD_ISSET(uevent_netlink_sock, &readfds)) {
|
||||||
buflen = recv(uevent_netlink_sock, &buf, sizeof(buf), 0);
|
buflen = recv(uevent_netlink_sock, &buf, sizeof(buf), 0);
|
||||||
if (buflen <= 0) {
|
if (buflen <= 0) {
|
||||||
fprintf(stderr, "error receiving uevent message\n");
|
fprintf(stderr, "error receiving uevent message: %s\n", strerror(errno));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
printf("UEVENT[%s] %s\n", timestr, buf);
|
printf("UEVENT[%s] %s\n", timestr, buf);
|
||||||
@@ -195,7 +195,7 @@ int main(int argc, char *argv[])
|
|||||||
if ((udev_monitor_sock > 0) && FD_ISSET(udev_monitor_sock, &readfds)) {
|
if ((udev_monitor_sock > 0) && FD_ISSET(udev_monitor_sock, &readfds)) {
|
||||||
buflen = recv(udev_monitor_sock, &buf, sizeof(buf), 0);
|
buflen = recv(udev_monitor_sock, &buf, sizeof(buf), 0);
|
||||||
if (buflen <= 0) {
|
if (buflen <= 0) {
|
||||||
fprintf(stderr, "error receiving udev message\n");
|
fprintf(stderr, "error receiving udev message: %s\n", strerror(errno));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
printf("UDEV [%s] %s\n", timestr, buf);
|
printf("UDEV [%s] %s\n", timestr, buf);
|
||||||
|
10
udevsend.c
10
udevsend.c
@@ -71,17 +71,17 @@ static int start_daemon(void)
|
|||||||
/* daemon with empty environment */
|
/* daemon with empty environment */
|
||||||
close(sock);
|
close(sock);
|
||||||
execve(UDEVD_BIN, argv, envp);
|
execve(UDEVD_BIN, argv, envp);
|
||||||
err("exec of daemon failed");
|
err("exec of daemon failed: %s", strerror(errno));
|
||||||
_exit(1);
|
_exit(1);
|
||||||
case -1:
|
case -1:
|
||||||
err("fork of daemon failed");
|
err("fork of daemon failed: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
default:
|
default:
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
err("fork of helper failed");
|
err("fork of helper failed: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
default:
|
default:
|
||||||
waitpid(pid, NULL, 0);
|
waitpid(pid, NULL, 0);
|
||||||
@@ -110,7 +110,7 @@ int main(int argc, char *argv[], char *envp[])
|
|||||||
|
|
||||||
sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
|
sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
|
||||||
if (sock == -1) {
|
if (sock == -1) {
|
||||||
err("error getting socket");
|
err("error getting socket: %s", strerror(errno));
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ int main(int argc, char *argv[], char *envp[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (errno != ECONNREFUSED) {
|
if (errno != ECONNREFUSED) {
|
||||||
err("error sending message (%s)", strerror(errno));
|
err("error sending message: %s", strerror(errno));
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user