Lines Matching refs:user
811 struct devkmsg_user *user = file->private_data; in devkmsg_write() local
815 if (!user || len > LOG_LINE_MAX) in devkmsg_write()
824 if (!___ratelimit(&user->rs, current->comm)) in devkmsg_write()
871 struct devkmsg_user *user = file->private_data; in devkmsg_read() local
876 if (!user) in devkmsg_read()
879 ret = mutex_lock_interruptible(&user->lock); in devkmsg_read()
884 while (user->seq == log_next_seq) { in devkmsg_read()
893 user->seq != log_next_seq); in devkmsg_read()
899 if (user->seq < log_first_seq) { in devkmsg_read()
901 user->idx = log_first_idx; in devkmsg_read()
902 user->seq = log_first_seq; in devkmsg_read()
908 msg = log_from_idx(user->idx); in devkmsg_read()
909 len = msg_print_ext_header(user->buf, sizeof(user->buf), in devkmsg_read()
910 msg, user->seq); in devkmsg_read()
911 len += msg_print_ext_body(user->buf + len, sizeof(user->buf) - len, in devkmsg_read()
915 user->idx = log_next(user->idx); in devkmsg_read()
916 user->seq++; in devkmsg_read()
924 if (copy_to_user(buf, user->buf, len)) { in devkmsg_read()
930 mutex_unlock(&user->lock); in devkmsg_read()
936 struct devkmsg_user *user = file->private_data; in devkmsg_llseek() local
939 if (!user) in devkmsg_llseek()
948 user->idx = log_first_idx; in devkmsg_llseek()
949 user->seq = log_first_seq; in devkmsg_llseek()
957 user->idx = clear_idx; in devkmsg_llseek()
958 user->seq = clear_seq; in devkmsg_llseek()
962 user->idx = log_next_idx; in devkmsg_llseek()
963 user->seq = log_next_seq; in devkmsg_llseek()
974 struct devkmsg_user *user = file->private_data; in devkmsg_poll() local
977 if (!user) in devkmsg_poll()
983 if (user->seq < log_next_seq) { in devkmsg_poll()
985 if (user->seq < log_first_seq) in devkmsg_poll()
997 struct devkmsg_user *user; in devkmsg_open() local
1011 user = kmalloc(sizeof(struct devkmsg_user), GFP_KERNEL); in devkmsg_open()
1012 if (!user) in devkmsg_open()
1015 ratelimit_default_init(&user->rs); in devkmsg_open()
1016 ratelimit_set_flags(&user->rs, RATELIMIT_MSG_ON_RELEASE); in devkmsg_open()
1018 mutex_init(&user->lock); in devkmsg_open()
1021 user->idx = log_first_idx; in devkmsg_open()
1022 user->seq = log_first_seq; in devkmsg_open()
1025 file->private_data = user; in devkmsg_open()
1031 struct devkmsg_user *user = file->private_data; in devkmsg_release() local
1033 if (!user) in devkmsg_release()
1036 ratelimit_state_exit(&user->rs); in devkmsg_release()
1038 mutex_destroy(&user->lock); in devkmsg_release()
1039 kfree(user); in devkmsg_release()