Lines Matching refs:daemon

44 	struct ecryptfs_daemon *daemon = file->private_data;  in ecryptfs_miscdev_poll()  local
47 mutex_lock(&daemon->mux); in ecryptfs_miscdev_poll()
48 if (daemon->flags & ECRYPTFS_DAEMON_ZOMBIE) { in ecryptfs_miscdev_poll()
53 if (daemon->flags & ECRYPTFS_DAEMON_IN_READ) in ecryptfs_miscdev_poll()
55 if (daemon->flags & ECRYPTFS_DAEMON_IN_POLL) in ecryptfs_miscdev_poll()
57 daemon->flags |= ECRYPTFS_DAEMON_IN_POLL; in ecryptfs_miscdev_poll()
58 mutex_unlock(&daemon->mux); in ecryptfs_miscdev_poll()
59 poll_wait(file, &daemon->wait, pt); in ecryptfs_miscdev_poll()
60 mutex_lock(&daemon->mux); in ecryptfs_miscdev_poll()
61 if (!list_empty(&daemon->msg_ctx_out_queue)) in ecryptfs_miscdev_poll()
64 daemon->flags &= ~ECRYPTFS_DAEMON_IN_POLL; in ecryptfs_miscdev_poll()
65 mutex_unlock(&daemon->mux); in ecryptfs_miscdev_poll()
79 struct ecryptfs_daemon *daemon = NULL; in ecryptfs_miscdev_open() local
83 rc = ecryptfs_find_daemon_by_euid(&daemon); in ecryptfs_miscdev_open()
88 rc = ecryptfs_spawn_daemon(&daemon, file); in ecryptfs_miscdev_open()
94 mutex_lock(&daemon->mux); in ecryptfs_miscdev_open()
95 if (daemon->flags & ECRYPTFS_DAEMON_MISCDEV_OPEN) { in ecryptfs_miscdev_open()
99 daemon->flags |= ECRYPTFS_DAEMON_MISCDEV_OPEN; in ecryptfs_miscdev_open()
100 file->private_data = daemon; in ecryptfs_miscdev_open()
103 mutex_unlock(&daemon->mux); in ecryptfs_miscdev_open()
122 struct ecryptfs_daemon *daemon = file->private_data; in ecryptfs_miscdev_release() local
125 mutex_lock(&daemon->mux); in ecryptfs_miscdev_release()
126 BUG_ON(!(daemon->flags & ECRYPTFS_DAEMON_MISCDEV_OPEN)); in ecryptfs_miscdev_release()
127 daemon->flags &= ~ECRYPTFS_DAEMON_MISCDEV_OPEN; in ecryptfs_miscdev_release()
129 mutex_unlock(&daemon->mux); in ecryptfs_miscdev_release()
132 rc = ecryptfs_exorcise_daemon(daemon); in ecryptfs_miscdev_release()
161 u16 msg_flags, struct ecryptfs_daemon *daemon) in ecryptfs_send_miscdev() argument
180 list_add_tail(&msg_ctx->daemon_out_list, &daemon->msg_ctx_out_queue); in ecryptfs_send_miscdev()
183 mutex_lock(&daemon->mux); in ecryptfs_send_miscdev()
184 daemon->num_queued_msg_ctx++; in ecryptfs_send_miscdev()
185 wake_up_interruptible(&daemon->wait); in ecryptfs_send_miscdev()
186 mutex_unlock(&daemon->mux); in ecryptfs_send_miscdev()
230 struct ecryptfs_daemon *daemon = file->private_data; in ecryptfs_miscdev_read() local
238 mutex_lock(&daemon->mux); in ecryptfs_miscdev_read()
239 if (daemon->flags & ECRYPTFS_DAEMON_ZOMBIE) { in ecryptfs_miscdev_read()
245 if (daemon->flags & ECRYPTFS_DAEMON_IN_READ) { in ecryptfs_miscdev_read()
250 daemon->flags |= ECRYPTFS_DAEMON_IN_READ; in ecryptfs_miscdev_read()
252 if (list_empty(&daemon->msg_ctx_out_queue)) { in ecryptfs_miscdev_read()
253 mutex_unlock(&daemon->mux); in ecryptfs_miscdev_read()
255 daemon->wait, !list_empty(&daemon->msg_ctx_out_queue)); in ecryptfs_miscdev_read()
256 mutex_lock(&daemon->mux); in ecryptfs_miscdev_read()
262 if (daemon->flags & ECRYPTFS_DAEMON_ZOMBIE) { in ecryptfs_miscdev_read()
266 if (list_empty(&daemon->msg_ctx_out_queue)) { in ecryptfs_miscdev_read()
272 msg_ctx = list_first_entry(&daemon->msg_ctx_out_queue, in ecryptfs_miscdev_read()
325 daemon->flags &= ~ECRYPTFS_DAEMON_IN_READ; in ecryptfs_miscdev_read()
326 mutex_unlock(&daemon->mux); in ecryptfs_miscdev_read()
338 static int ecryptfs_miscdev_response(struct ecryptfs_daemon *daemon, char *data, in ecryptfs_miscdev_response() argument
351 rc = ecryptfs_process_response(daemon, msg, seq); in ecryptfs_miscdev_response()