Commit 6f3d5eee authored by Namjae Jeon's avatar Namjae Jeon
Browse files

ksmbd: use list_for_each_entry instead of list_for_each



Use list_for_each_entry instead of list_for_each.

Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent f8524776
Loading
Loading
Loading
Loading
+4 −10
Original line number Diff line number Diff line
@@ -73,10 +73,8 @@ static inline int check_session_id(struct ksmbd_conn *conn, u64 id)
struct channel *lookup_chann_list(struct ksmbd_session *sess, struct ksmbd_conn *conn)
{
	struct channel *chann;
	struct list_head *t;

	list_for_each(t, &sess->ksmbd_chann_list) {
		chann = list_entry(t, struct channel, chann_list);
	list_for_each_entry(chann, &sess->ksmbd_chann_list, chann_list) {
		if (chann && chann->conn == conn)
			return chann;
	}
@@ -6315,7 +6313,6 @@ int smb2_cancel(struct ksmbd_work *work)
	struct smb2_hdr *hdr = work->request_buf;
	struct smb2_hdr *chdr;
	struct ksmbd_work *cancel_work = NULL;
	struct list_head *tmp;
	int canceled = 0;
	struct list_head *command_list;

@@ -6326,9 +6323,8 @@ int smb2_cancel(struct ksmbd_work *work)
		command_list = &conn->async_requests;

		spin_lock(&conn->request_lock);
		list_for_each(tmp, command_list) {
			cancel_work = list_entry(tmp, struct ksmbd_work,
						 async_request_entry);
		list_for_each_entry(cancel_work, command_list,
				    async_request_entry) {
			chdr = cancel_work->request_buf;

			if (cancel_work->async_id !=
@@ -6347,9 +6343,7 @@ int smb2_cancel(struct ksmbd_work *work)
		command_list = &conn->requests;

		spin_lock(&conn->request_lock);
		list_for_each(tmp, command_list) {
			cancel_work = list_entry(tmp, struct ksmbd_work,
						 request_entry);
		list_for_each_entry(cancel_work, command_list, request_entry) {
			chdr = cancel_work->request_buf;

			if (chdr->MessageId != hdr->MessageId ||
+1 −3
Original line number Diff line number Diff line
@@ -481,15 +481,13 @@ int ksmbd_smb_check_shared_mode(struct file *filp, struct ksmbd_file *curr_fp)
{
	int rc = 0;
	struct ksmbd_file *prev_fp;
	struct list_head *cur;

	/*
	 * Lookup fp in master fp list, and check desired access and
	 * shared mode between previous open and current open.
	 */
	read_lock(&curr_fp->f_ci->m_lock);
	list_for_each(cur, &curr_fp->f_ci->m_fp_list) {
		prev_fp = list_entry(cur, struct ksmbd_file, node);
	list_for_each_entry(prev_fp, &curr_fp->f_ci->m_fp_list, node) {
		if (file_inode(filp) != FP_INODE(prev_fp))
			continue;

+1 −3
Original line number Diff line number Diff line
@@ -472,15 +472,13 @@ struct ksmbd_file *ksmbd_lookup_fd_inode(struct inode *inode)
{
	struct ksmbd_file	*lfp;
	struct ksmbd_inode	*ci;
	struct list_head	*cur;

	ci = ksmbd_inode_lookup_by_vfsinode(inode);
	if (!ci)
		return NULL;

	read_lock(&ci->m_lock);
	list_for_each(cur, &ci->m_fp_list) {
		lfp = list_entry(cur, struct ksmbd_file, node);
	list_for_each_entry(lfp, &ci->m_fp_list, node) {
		if (inode == FP_INODE(lfp)) {
			atomic_dec(&ci->m_count);
			read_unlock(&ci->m_lock);