Symbol: daemon
fs/ecryptfs/ecryptfs_kernel.h
593
int ecryptfs_process_response(struct ecryptfs_daemon *daemon,
fs/ecryptfs/ecryptfs_kernel.h
664
u16 msg_flags, struct ecryptfs_daemon *daemon);
fs/ecryptfs/ecryptfs_kernel.h
667
ecryptfs_spawn_daemon(struct ecryptfs_daemon **daemon, struct file *file);
fs/ecryptfs/ecryptfs_kernel.h
668
int ecryptfs_exorcise_daemon(struct ecryptfs_daemon *daemon);
fs/ecryptfs/ecryptfs_kernel.h
669
int ecryptfs_find_daemon_by_euid(struct ecryptfs_daemon **daemon);
fs/ecryptfs/messaging.c
102
int ecryptfs_find_daemon_by_euid(struct ecryptfs_daemon **daemon)
fs/ecryptfs/messaging.c
106
hlist_for_each_entry(*daemon,
fs/ecryptfs/messaging.c
109
if (uid_eq((*daemon)->file->f_cred->euid, current_euid())) {
fs/ecryptfs/messaging.c
130
ecryptfs_spawn_daemon(struct ecryptfs_daemon **daemon, struct file *file)
fs/ecryptfs/messaging.c
134
(*daemon) = kzalloc_obj(**daemon);
fs/ecryptfs/messaging.c
135
if (!(*daemon)) {
fs/ecryptfs/messaging.c
139
(*daemon)->file = file;
fs/ecryptfs/messaging.c
140
mutex_init(&(*daemon)->mux);
fs/ecryptfs/messaging.c
141
INIT_LIST_HEAD(&(*daemon)->msg_ctx_out_queue);
fs/ecryptfs/messaging.c
142
init_waitqueue_head(&(*daemon)->wait);
fs/ecryptfs/messaging.c
143
(*daemon)->num_queued_msg_ctx = 0;
fs/ecryptfs/messaging.c
144
hlist_add_head(&(*daemon)->euid_chain,
fs/ecryptfs/messaging.c
156
int ecryptfs_exorcise_daemon(struct ecryptfs_daemon *daemon)
fs/ecryptfs/messaging.c
161
mutex_lock(&daemon->mux);
fs/ecryptfs/messaging.c
162
if ((daemon->flags & ECRYPTFS_DAEMON_IN_READ)
fs/ecryptfs/messaging.c
163
|| (daemon->flags & ECRYPTFS_DAEMON_IN_POLL)) {
fs/ecryptfs/messaging.c
165
mutex_unlock(&daemon->mux);
fs/ecryptfs/messaging.c
169
&daemon->msg_ctx_out_queue, daemon_out_list) {
fs/ecryptfs/messaging.c
171
daemon->num_queued_msg_ctx--;
fs/ecryptfs/messaging.c
176
hlist_del(&daemon->euid_chain);
fs/ecryptfs/messaging.c
177
mutex_unlock(&daemon->mux);
fs/ecryptfs/messaging.c
178
kfree_sensitive(daemon);
fs/ecryptfs/messaging.c
206
int ecryptfs_process_response(struct ecryptfs_daemon *daemon,
fs/ecryptfs/messaging.c
265
struct ecryptfs_daemon *daemon;
fs/ecryptfs/messaging.c
268
rc = ecryptfs_find_daemon_by_euid(&daemon);
fs/ecryptfs/messaging.c
285
daemon);
fs/ecryptfs/messaging.c
426
struct ecryptfs_daemon *daemon;
fs/ecryptfs/messaging.c
434
hlist_for_each_entry_safe(daemon, n,
fs/ecryptfs/messaging.c
437
rc = ecryptfs_exorcise_daemon(daemon);
fs/ecryptfs/miscdev.c
109
struct ecryptfs_daemon *daemon = file->private_data;
fs/ecryptfs/miscdev.c
112
mutex_lock(&daemon->mux);
fs/ecryptfs/miscdev.c
113
BUG_ON(!(daemon->flags & ECRYPTFS_DAEMON_MISCDEV_OPEN));
fs/ecryptfs/miscdev.c
114
daemon->flags &= ~ECRYPTFS_DAEMON_MISCDEV_OPEN;
fs/ecryptfs/miscdev.c
116
mutex_unlock(&daemon->mux);
fs/ecryptfs/miscdev.c
119
rc = ecryptfs_exorcise_daemon(daemon);
fs/ecryptfs/miscdev.c
148
u16 msg_flags, struct ecryptfs_daemon *daemon)
fs/ecryptfs/miscdev.c
163
list_add_tail(&msg_ctx->daemon_out_list, &daemon->msg_ctx_out_queue);
fs/ecryptfs/miscdev.c
166
mutex_lock(&daemon->mux);
fs/ecryptfs/miscdev.c
167
daemon->num_queued_msg_ctx++;
fs/ecryptfs/miscdev.c
168
wake_up_interruptible(&daemon->wait);
fs/ecryptfs/miscdev.c
169
mutex_unlock(&daemon->mux);
fs/ecryptfs/miscdev.c
213
struct ecryptfs_daemon *daemon = file->private_data;
fs/ecryptfs/miscdev.c
221
mutex_lock(&daemon->mux);
fs/ecryptfs/miscdev.c
222
if (daemon->flags & ECRYPTFS_DAEMON_ZOMBIE) {
fs/ecryptfs/miscdev.c
228
if (daemon->flags & ECRYPTFS_DAEMON_IN_READ) {
fs/ecryptfs/miscdev.c
233
daemon->flags |= ECRYPTFS_DAEMON_IN_READ;
fs/ecryptfs/miscdev.c
235
if (list_empty(&daemon->msg_ctx_out_queue)) {
fs/ecryptfs/miscdev.c
236
mutex_unlock(&daemon->mux);
fs/ecryptfs/miscdev.c
238
daemon->wait, !list_empty(&daemon->msg_ctx_out_queue));
fs/ecryptfs/miscdev.c
239
mutex_lock(&daemon->mux);
fs/ecryptfs/miscdev.c
245
if (daemon->flags & ECRYPTFS_DAEMON_ZOMBIE) {
fs/ecryptfs/miscdev.c
249
if (list_empty(&daemon->msg_ctx_out_queue)) {
fs/ecryptfs/miscdev.c
255
msg_ctx = list_first_entry(&daemon->msg_ctx_out_queue,
fs/ecryptfs/miscdev.c
308
daemon->flags &= ~ECRYPTFS_DAEMON_IN_READ;
fs/ecryptfs/miscdev.c
309
mutex_unlock(&daemon->mux);
fs/ecryptfs/miscdev.c
31
struct ecryptfs_daemon *daemon = file->private_data;
fs/ecryptfs/miscdev.c
322
static int ecryptfs_miscdev_response(struct ecryptfs_daemon *daemon, char *data,
fs/ecryptfs/miscdev.c
335
rc = ecryptfs_process_response(daemon, msg, seq);
fs/ecryptfs/miscdev.c
34
mutex_lock(&daemon->mux);
fs/ecryptfs/miscdev.c
35
if (daemon->flags & ECRYPTFS_DAEMON_ZOMBIE) {
fs/ecryptfs/miscdev.c
40
if (daemon->flags & ECRYPTFS_DAEMON_IN_READ)
fs/ecryptfs/miscdev.c
42
if (daemon->flags & ECRYPTFS_DAEMON_IN_POLL)
fs/ecryptfs/miscdev.c
44
daemon->flags |= ECRYPTFS_DAEMON_IN_POLL;
fs/ecryptfs/miscdev.c
45
mutex_unlock(&daemon->mux);
fs/ecryptfs/miscdev.c
46
poll_wait(file, &daemon->wait, pt);
fs/ecryptfs/miscdev.c
47
mutex_lock(&daemon->mux);
fs/ecryptfs/miscdev.c
48
if (!list_empty(&daemon->msg_ctx_out_queue))
fs/ecryptfs/miscdev.c
51
daemon->flags &= ~ECRYPTFS_DAEMON_IN_POLL;
fs/ecryptfs/miscdev.c
52
mutex_unlock(&daemon->mux);
fs/ecryptfs/miscdev.c
66
struct ecryptfs_daemon *daemon = NULL;
fs/ecryptfs/miscdev.c
70
rc = ecryptfs_find_daemon_by_euid(&daemon);
fs/ecryptfs/miscdev.c
75
rc = ecryptfs_spawn_daemon(&daemon, file);
fs/ecryptfs/miscdev.c
81
mutex_lock(&daemon->mux);
fs/ecryptfs/miscdev.c
82
if (daemon->flags & ECRYPTFS_DAEMON_MISCDEV_OPEN) {
fs/ecryptfs/miscdev.c
86
daemon->flags |= ECRYPTFS_DAEMON_MISCDEV_OPEN;
fs/ecryptfs/miscdev.c
87
file->private_data = daemon;
fs/ecryptfs/miscdev.c
90
mutex_unlock(&daemon->mux);
kernel/cred.c
558
struct cred *prepare_kernel_cred(struct task_struct *daemon)
kernel/cred.c
563
if (WARN_ON_ONCE(!daemon))
kernel/cred.c
572
old = get_task_cred(daemon);
kernel/debug/kdb/kdb_main.c
2165
int idle = 0, daemon = 0;
kernel/debug/kdb/kdb_main.c
2175
++daemon;
kernel/debug/kdb/kdb_main.c
2177
if (idle || daemon) {
kernel/debug/kdb/kdb_main.c
2181
daemon ? " and " : "");
kernel/debug/kdb/kdb_main.c
2182
if (daemon)
kernel/debug/kdb/kdb_main.c
2184
"process%s", daemon,
kernel/debug/kdb/kdb_main.c
2185
daemon == 1 ? "" : "es");
tools/hv/hv_fcopy_uio_daemon.c
479
if (daemonize && daemon(1, 0)) {
tools/hv/hv_kvp_daemon.c
1815
if (daemonize && daemon(1, 0))
tools/hv/hv_vss_daemon.c
241
if (daemonize && daemon(1, 0))
tools/laptop/freefall/freefall.c
134
if (daemon(0, 0) != 0) {
tools/perf/builtin-daemon.c
1003
daemon_session__kill(session, daemon);
tools/perf/builtin-daemon.c
1006
if (daemon_session__run(session, daemon))
tools/perf/builtin-daemon.c
1015
static int setup_config_changes(struct daemon *daemon)
tools/perf/builtin-daemon.c
1017
char *basen = strdup(daemon->config_real);
tools/perf/builtin-daemon.c
1018
char *dirn = strdup(daemon->config_real);
tools/perf/builtin-daemon.c
1037
daemon->config_base = strdup(base);
tools/perf/builtin-daemon.c
1038
if (!daemon->config_base) {
tools/perf/builtin-daemon.c
1052
static bool process_inotify_event(struct daemon *daemon, char *buf, ssize_t len)
tools/perf/builtin-daemon.c
1065
if (!strcmp(event->name, daemon->config_base))
tools/perf/builtin-daemon.c
1073
static int handle_config_changes(struct daemon *daemon, int conf_fd,
tools/perf/builtin-daemon.c
1088
*config_changed = process_inotify_event(daemon, buf, len);
tools/perf/builtin-daemon.c
1093
static int setup_config(struct daemon *daemon)
tools/perf/builtin-daemon.c
1095
if (daemon->base_user) {
tools/perf/builtin-daemon.c
1096
daemon->base = strdup(daemon->base_user);
tools/perf/builtin-daemon.c
1097
if (!daemon->base)
tools/perf/builtin-daemon.c
1101
if (daemon->config) {
tools/perf/builtin-daemon.c
1102
char *real = realpath(daemon->config, NULL);
tools/perf/builtin-daemon.c
1108
daemon->config_real = real;
tools/perf/builtin-daemon.c
1113
daemon->config_real = strdup(perf_etc_perfconfig());
tools/perf/builtin-daemon.c
1115
daemon->config_real = strdup(perf_home_perfconfig());
tools/perf/builtin-daemon.c
1117
return daemon->config_real ? 0 : -1;
tools/perf/builtin-daemon.c
1140
static int check_lock(struct daemon *daemon)
tools/perf/builtin-daemon.c
1147
scnprintf(path, sizeof(path), "%s/lock", daemon->base);
tools/perf/builtin-daemon.c
1156
pid, daemon->base);
tools/perf/builtin-daemon.c
116
static struct daemon_session *daemon__add_session(struct daemon *config, char *name)
tools/perf/builtin-daemon.c
1179
static int go_background(struct daemon *daemon)
tools/perf/builtin-daemon.c
1193
if (check_lock(daemon))
tools/perf/builtin-daemon.c
1198
if (chdir(daemon->base)) {
tools/perf/builtin-daemon.c
1220
daemon->out = fdopen(1, "w");
tools/perf/builtin-daemon.c
1221
if (!daemon->out) {
tools/perf/builtin-daemon.c
1227
setbuf(daemon->out, NULL);
tools/perf/builtin-daemon.c
1231
static int setup_signalfd(struct daemon *daemon)
tools/perf/builtin-daemon.c
1241
daemon->signal_fd = signalfd(-1, &mask, SFD_NONBLOCK|SFD_CLOEXEC);
tools/perf/builtin-daemon.c
1242
return daemon->signal_fd;
tools/perf/builtin-daemon.c
1245
static int __cmd_start(struct daemon *daemon, struct option parent_options[],
tools/perf/builtin-daemon.c
1263
daemon->start = time(NULL);
tools/perf/builtin-daemon.c
1265
if (setup_config(daemon)) {
tools/perf/builtin-daemon.c
1270
if (setup_server_config(daemon))
tools/perf/builtin-daemon.c
1273
if (foreground && check_lock(daemon))
tools/perf/builtin-daemon.c
1277
err = go_background(daemon);
tools/perf/builtin-daemon.c
1282
daemon__exit(daemon);
tools/perf/builtin-daemon.c
1287
debug_set_file(daemon->out);
tools/perf/builtin-daemon.c
1294
sock_fd = setup_server_socket(daemon);
tools/perf/builtin-daemon.c
1298
conf_fd = setup_config_changes(daemon);
tools/perf/builtin-daemon.c
1302
signal_fd = setup_signalfd(daemon);
tools/perf/builtin-daemon.c
1323
err = daemon__reconfig(daemon);
tools/perf/builtin-daemon.c
1329
err = handle_server_socket(daemon, sock_fd);
tools/perf/builtin-daemon.c
1331
err = handle_config_changes(daemon, conf_fd, &reconfig);
tools/perf/builtin-daemon.c
1333
err = handle_signalfd(daemon) < 0;
tools/perf/builtin-daemon.c
1336
err = setup_server_config(daemon);
tools/perf/builtin-daemon.c
134
static struct daemon_session *daemon__find_session(struct daemon *daemon, char *name)
tools/perf/builtin-daemon.c
1343
daemon__kill(daemon);
tools/perf/builtin-daemon.c
1344
daemon__exit(daemon);
tools/perf/builtin-daemon.c
1354
fclose(daemon->out);
tools/perf/builtin-daemon.c
1358
static int send_cmd(struct daemon *daemon, union cmd *cmd)
tools/perf/builtin-daemon.c
1366
if (setup_client_config(daemon))
tools/perf/builtin-daemon.c
1369
fd = setup_client_socket(daemon);
tools/perf/builtin-daemon.c
138
list_for_each_entry(session, &daemon->sessions, list) {
tools/perf/builtin-daemon.c
1401
static int send_cmd_list(struct daemon *daemon)
tools/perf/builtin-daemon.c
1408
cmd.list.csv_sep = daemon->csv_sep ? *daemon->csv_sep : 0;
tools/perf/builtin-daemon.c
1410
return send_cmd(daemon, &cmd);
tools/perf/builtin-daemon.c
1413
static int __cmd_signal(struct daemon *daemon, struct option parent_options[],
tools/perf/builtin-daemon.c
1429
if (setup_config(daemon)) {
tools/perf/builtin-daemon.c
1439
return send_cmd(daemon, &cmd);
tools/perf/builtin-daemon.c
1442
static int __cmd_stop(struct daemon *daemon, struct option parent_options[],
tools/perf/builtin-daemon.c
1455
if (setup_config(daemon)) {
tools/perf/builtin-daemon.c
1462
return send_cmd(daemon, &cmd);
tools/perf/builtin-daemon.c
1465
static int __cmd_ping(struct daemon *daemon, struct option parent_options[],
tools/perf/builtin-daemon.c
1481
if (setup_config(daemon)) {
tools/perf/builtin-daemon.c
1489
return send_cmd(daemon, &cmd);
tools/perf/builtin-daemon.c
157
static int session_config(struct daemon *daemon, const char *var, const char *value)
tools/perf/builtin-daemon.c
171
session = daemon__find_session(daemon, name);
tools/perf/builtin-daemon.c
175
session = daemon__add_session(daemon, name);
tools/perf/builtin-daemon.c
218
struct daemon *daemon = cb;
tools/perf/builtin-daemon.c
221
return session_config(daemon, var, value);
tools/perf/builtin-daemon.c
222
} else if (!strcmp(var, "daemon.base") && !daemon->base_user) {
tools/perf/builtin-daemon.c
223
if (daemon->base && strcmp(daemon->base, value)) {
tools/perf/builtin-daemon.c
227
daemon->base = strdup(value);
tools/perf/builtin-daemon.c
228
if (!daemon->base)
tools/perf/builtin-daemon.c
237
struct daemon *daemon = cb;
tools/perf/builtin-daemon.c
239
if (!strcmp(var, "daemon.base") && !daemon->base_user) {
tools/perf/builtin-daemon.c
240
daemon->base = strdup(value);
tools/perf/builtin-daemon.c
241
if (!daemon->base)
tools/perf/builtin-daemon.c
248
static int check_base(struct daemon *daemon)
tools/perf/builtin-daemon.c
252
if (!daemon->base) {
tools/perf/builtin-daemon.c
257
if (stat(daemon->base, &st)) {
tools/perf/builtin-daemon.c
261
daemon->base);
tools/perf/builtin-daemon.c
265
daemon->base);
tools/perf/builtin-daemon.c
268
pr_err("failed: can't access base '%s': %m\n", daemon->base);
tools/perf/builtin-daemon.c
275
daemon->base);
tools/perf/builtin-daemon.c
282
static int setup_client_config(struct daemon *daemon)
tools/perf/builtin-daemon.c
284
struct perf_config_set *set = perf_config_set__load_file(daemon->config_real);
tools/perf/builtin-daemon.c
288
err = perf_config_set(set, client_config, daemon);
tools/perf/builtin-daemon.c
292
return err ?: check_base(daemon);
tools/perf/builtin-daemon.c
295
static int setup_server_config(struct daemon *daemon)
tools/perf/builtin-daemon.c
308
list_for_each_entry(session, &daemon->sessions, list)
tools/perf/builtin-daemon.c
311
set = perf_config_set__load_file(daemon->config_real);
tools/perf/builtin-daemon.c
313
err = perf_config_set(set, server_config, daemon);
tools/perf/builtin-daemon.c
317
return err ?: check_base(daemon);
tools/perf/builtin-daemon.c
321
struct daemon *daemon)
tools/perf/builtin-daemon.c
328
daemon->base, session->name) < 0) {
tools/perf/builtin-daemon.c
384
daemon->perf, SESSION_CONTROL, SESSION_ACK, session->run);
tools/perf/builtin-daemon.c
390
exit(execve(daemon->perf, argv, NULL));
tools/perf/builtin-daemon.c
394
static pid_t handle_signalfd(struct daemon *daemon)
tools/perf/builtin-daemon.c
408
err = read(daemon->signal_fd, &si, sizeof(struct signalfd_siginfo));
tools/perf/builtin-daemon.c
414
list_for_each_entry(session, &daemon->sessions, list) {
tools/perf/builtin-daemon.c
443
static int daemon_session__wait(struct daemon_session *session, struct daemon *daemon,
tools/perf/builtin-daemon.c
447
.fd = daemon->signal_fd,
tools/perf/builtin-daemon.c
458
handle_signalfd(daemon);
tools/perf/builtin-daemon.c
471
static bool daemon__has_alive_session(struct daemon *daemon)
tools/perf/builtin-daemon.c
475
list_for_each_entry(session, &daemon->sessions, list) {
tools/perf/builtin-daemon.c
483
static int daemon__wait(struct daemon *daemon, int secs)
tools/perf/builtin-daemon.c
486
.fd = daemon->signal_fd,
tools/perf/builtin-daemon.c
497
handle_signalfd(daemon);
tools/perf/builtin-daemon.c
505
} while (daemon__has_alive_session(daemon));
tools/perf/builtin-daemon.c
580
static int setup_server_socket(struct daemon *daemon)
tools/perf/builtin-daemon.c
597
scnprintf(path, sizeof(path), "%s/control", daemon->base);
tools/perf/builtin-daemon.c
671
static int cmd_session_list(struct daemon *daemon, union cmd *cmd, FILE *out)
tools/perf/builtin-daemon.c
682
csv_sep, daemon->base,
tools/perf/builtin-daemon.c
684
csv_sep, daemon->base, SESSION_OUTPUT);
tools/perf/builtin-daemon.c
688
csv_sep, daemon->base, "lock");
tools/perf/builtin-daemon.c
692
csv_sep, (uint64_t)((curr - daemon->start) / 60));
tools/perf/builtin-daemon.c
696
fprintf(out, "[%d:daemon] base: %s\n", getpid(), daemon->base);
tools/perf/builtin-daemon.c
699
daemon->base, SESSION_OUTPUT);
tools/perf/builtin-daemon.c
701
daemon->base);
tools/perf/builtin-daemon.c
703
(uint64_t)((curr - daemon->start) / 60));
tools/perf/builtin-daemon.c
707
list_for_each_entry(session, &daemon->sessions, list) {
tools/perf/builtin-daemon.c
762
static int cmd_session_kill(struct daemon *daemon, union cmd *cmd, FILE *out)
tools/perf/builtin-daemon.c
769
list_for_each_entry(session, &daemon->sessions, list) {
tools/perf/builtin-daemon.c
785
static int cmd_session_ping(struct daemon *daemon, union cmd *cmd, FILE *out)
tools/perf/builtin-daemon.c
792
list_for_each_entry(session, &daemon->sessions, list) {
tools/perf/builtin-daemon.c
808
static int handle_server_socket(struct daemon *daemon, int sock_fd)
tools/perf/builtin-daemon.c
833
ret = cmd_session_list(daemon, &cmd, out);
tools/perf/builtin-daemon.c
836
ret = cmd_session_kill(daemon, &cmd, out);
tools/perf/builtin-daemon.c
844
ret = cmd_session_ping(daemon, &cmd, out);
tools/perf/builtin-daemon.c
858
static int setup_client_socket(struct daemon *daemon)
tools/perf/builtin-daemon.c
869
scnprintf(path, sizeof(path), "%s/control", daemon->base);
tools/perf/builtin-daemon.c
891
struct daemon *daemon)
tools/perf/builtin-daemon.c
913
} while (daemon_session__wait(session, daemon, 10));
tools/perf/builtin-daemon.c
916
static void daemon__signal(struct daemon *daemon, int sig)
tools/perf/builtin-daemon.c
920
list_for_each_entry(session, &daemon->sessions, list)
tools/perf/builtin-daemon.c
938
static void daemon__stop(struct daemon *daemon)
tools/perf/builtin-daemon.c
942
list_for_each_entry(session, &daemon->sessions, list)
tools/perf/builtin-daemon.c
946
static void daemon__kill(struct daemon *daemon)
tools/perf/builtin-daemon.c
953
daemon__stop(daemon);
tools/perf/builtin-daemon.c
956
daemon__signal(daemon, SIGTERM);
tools/perf/builtin-daemon.c
959
daemon__signal(daemon, SIGKILL);
tools/perf/builtin-daemon.c
967
} while (daemon__wait(daemon, 10));
tools/perf/builtin-daemon.c
970
static void daemon__exit(struct daemon *daemon)
tools/perf/builtin-daemon.c
974
list_for_each_entry_safe(session, h, &daemon->sessions, list)
tools/perf/builtin-daemon.c
977
zfree(&daemon->config_real);
tools/perf/builtin-daemon.c
978
zfree(&daemon->config_base);
tools/perf/builtin-daemon.c
979
zfree(&daemon->base);
tools/perf/builtin-daemon.c
982
static int daemon__reconfig(struct daemon *daemon)
tools/perf/builtin-daemon.c
986
list_for_each_entry_safe(session, n, &daemon->sessions, list) {
tools/perf/builtin-daemon.c
99
static struct daemon __daemon = {
tools/perf/builtin-daemon.c
994
daemon_session__kill(session, daemon);
tools/testing/selftests/net/ovpn/ovpn-cli.c
1933
daemon(1, 1);
tools/thermal/thermal-engine/thermal-engine.c
376
if (options.daemonize && daemon(0, 0)) {
tools/usb/usbip/src/usbipd.c
505
if (daemon(0, 0) < 0) {