From: Greg Kroah-Hartman Date: Thu, 27 Oct 2022 08:08:07 +0000 (+0200) Subject: drop some dlm patches X-Git-Tag: v5.10.151~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=efd98b96c3a00aac0b5ceb58c2369617beaad668;p=thirdparty%2Fkernel%2Fstable-queue.git drop some dlm patches Were not needed. --- diff --git a/queue-5.15/dlm-use-__le-types-for-dlm-header.patch b/queue-5.15/dlm-use-__le-types-for-dlm-header.patch deleted file mode 100644 index a52006d62ff..00000000000 --- a/queue-5.15/dlm-use-__le-types-for-dlm-header.patch +++ /dev/null @@ -1,697 +0,0 @@ -From b571587e408f188b6c54e08f99cba2642bc5c6df Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 4 Apr 2022 16:06:39 -0400 -Subject: dlm: use __le types for dlm header - -From: Alexander Aring - -[ Upstream commit 3428785a65dabf05bc899b6c5334984e98286184 ] - -This patch changes to use __le types directly in the dlm header -structure which is casted at the right dlm message buffer positions. - -The main goal what is reached here is to remove sparse warnings -regarding to host to little byte order conversion or vice versa. Leaving -those sparse issues ignored and always do it in out/in functionality -tends to leave it unknown in which byte order the variable is being -handled. - -Signed-off-by: Alexander Aring -Signed-off-by: David Teigland -Stable-dep-of: 7175e131ebba ("fs: dlm: fix invalid derefence of sb_lvbptr") -Signed-off-by: Sasha Levin ---- - fs/dlm/dir.c | 2 +- - fs/dlm/dlm_internal.h | 10 ++--- - fs/dlm/lock.c | 95 +++++++++++++++++++++++-------------------- - fs/dlm/member.c | 2 +- - fs/dlm/midcomms.c | 26 +++++------- - fs/dlm/rcom.c | 42 ++++++++++--------- - fs/dlm/requestqueue.c | 7 ++-- - fs/dlm/util.c | 26 ------------ - fs/dlm/util.h | 2 - - 9 files changed, 97 insertions(+), 115 deletions(-) - -diff --git a/fs/dlm/dir.c b/fs/dlm/dir.c -index 45ebbe602bbf..dd363c39c620 100644 ---- a/fs/dlm/dir.c -+++ b/fs/dlm/dir.c -@@ -102,7 +102,7 @@ int dlm_recover_directory(struct dlm_ls *ls) - */ - - b = ls->ls_recover_buf->rc_buf; -- left = ls->ls_recover_buf->rc_header.h_length; -+ left = le16_to_cpu(ls->ls_recover_buf->rc_header.h_length); - left -= sizeof(struct dlm_rcom); - - for (;;) { -diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h -index 5f57538b5d45..c3cfe4be436a 100644 ---- a/fs/dlm/dlm_internal.h -+++ b/fs/dlm/dlm_internal.h -@@ -385,15 +385,15 @@ static inline int rsb_flag(struct dlm_rsb *r, enum rsb_flags flag) - #define DLM_FIN 5 - - struct dlm_header { -- uint32_t h_version; -+ __le32 h_version; - union { - /* for DLM_MSG and DLM_RCOM */ -- uint32_t h_lockspace; -+ __le32 h_lockspace; - /* for DLM_ACK and DLM_OPTS */ -- uint32_t h_seq; -+ __le32 h_seq; - } u; -- uint32_t h_nodeid; /* nodeid of sender */ -- uint16_t h_length; -+ __le32 h_nodeid; /* nodeid of sender */ -+ __le16 h_length; - uint8_t h_cmd; /* DLM_MSG, DLM_RCOM */ - uint8_t h_pad; - }; -diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c -index bcc7127c4c0a..859412b7a82c 100644 ---- a/fs/dlm/lock.c -+++ b/fs/dlm/lock.c -@@ -1564,8 +1564,8 @@ static int _remove_from_waiters(struct dlm_lkb *lkb, int mstype, - } - - log_error(ls, "remwait error %x remote %d %x msg %d flags %x no wait", -- lkb->lkb_id, ms ? ms->m_header.h_nodeid : 0, lkb->lkb_remid, -- mstype, lkb->lkb_flags); -+ lkb->lkb_id, ms ? le32_to_cpu(ms->m_header.h_nodeid) : 0, -+ lkb->lkb_remid, mstype, lkb->lkb_flags); - return -1; - - out_del: -@@ -3545,10 +3545,10 @@ static int _create_message(struct dlm_ls *ls, int mb_len, - - ms = (struct dlm_message *) mb; - -- ms->m_header.h_version = (DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -- ms->m_header.u.h_lockspace = ls->ls_global_id; -- ms->m_header.h_nodeid = dlm_our_nodeid(); -- ms->m_header.h_length = mb_len; -+ ms->m_header.h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -+ ms->m_header.u.h_lockspace = cpu_to_le32(ls->ls_global_id); -+ ms->m_header.h_nodeid = cpu_to_le32(dlm_our_nodeid()); -+ ms->m_header.h_length = cpu_to_le16(mb_len); - ms->m_header.h_cmd = DLM_MSG; - - ms->m_type = mstype; -@@ -3842,7 +3842,7 @@ static int send_lookup_reply(struct dlm_ls *ls, struct dlm_message *ms_in, - struct dlm_rsb *r = &ls->ls_stub_rsb; - struct dlm_message *ms; - struct dlm_mhandle *mh; -- int error, nodeid = ms_in->m_header.h_nodeid; -+ int error, nodeid = le32_to_cpu(ms_in->m_header.h_nodeid); - - error = create_message(r, NULL, nodeid, DLM_MSG_LOOKUP_REPLY, &ms, &mh); - if (error) -@@ -3881,7 +3881,8 @@ static void receive_flags_reply(struct dlm_lkb *lkb, struct dlm_message *ms) - - static int receive_extralen(struct dlm_message *ms) - { -- return (ms->m_header.h_length - sizeof(struct dlm_message)); -+ return (le16_to_cpu(ms->m_header.h_length) - -+ sizeof(struct dlm_message)); - } - - static int receive_lvb(struct dlm_ls *ls, struct dlm_lkb *lkb, -@@ -3915,7 +3916,7 @@ static void fake_astfn(void *astparam) - static int receive_request_args(struct dlm_ls *ls, struct dlm_lkb *lkb, - struct dlm_message *ms) - { -- lkb->lkb_nodeid = ms->m_header.h_nodeid; -+ lkb->lkb_nodeid = le32_to_cpu(ms->m_header.h_nodeid); - lkb->lkb_ownpid = ms->m_pid; - lkb->lkb_remid = ms->m_lkid; - lkb->lkb_grmode = DLM_LOCK_IV; -@@ -3963,7 +3964,7 @@ static int receive_unlock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, - static void setup_stub_lkb(struct dlm_ls *ls, struct dlm_message *ms) - { - struct dlm_lkb *lkb = &ls->ls_stub_lkb; -- lkb->lkb_nodeid = ms->m_header.h_nodeid; -+ lkb->lkb_nodeid = le32_to_cpu(ms->m_header.h_nodeid); - lkb->lkb_remid = ms->m_lkid; - } - -@@ -3972,7 +3973,7 @@ static void setup_stub_lkb(struct dlm_ls *ls, struct dlm_message *ms) - - static int validate_message(struct dlm_lkb *lkb, struct dlm_message *ms) - { -- int from = ms->m_header.h_nodeid; -+ int from = le32_to_cpu(ms->m_header.h_nodeid); - int error = 0; - - /* currently mixing of user/kernel locks are not supported */ -@@ -4086,7 +4087,7 @@ static int receive_request(struct dlm_ls *ls, struct dlm_message *ms) - int from_nodeid; - int error, namelen = 0; - -- from_nodeid = ms->m_header.h_nodeid; -+ from_nodeid = le32_to_cpu(ms->m_header.h_nodeid); - - error = create_lkb(ls, &lkb); - if (error) -@@ -4186,7 +4187,7 @@ static int receive_convert(struct dlm_ls *ls, struct dlm_message *ms) - log_error(ls, "receive_convert %x remid %x recover_seq %llu " - "remote %d %x", lkb->lkb_id, lkb->lkb_remid, - (unsigned long long)lkb->lkb_recover_seq, -- ms->m_header.h_nodeid, ms->m_lkid); -+ le32_to_cpu(ms->m_header.h_nodeid), ms->m_lkid); - error = -ENOENT; - dlm_put_lkb(lkb); - goto fail; -@@ -4240,7 +4241,7 @@ static int receive_unlock(struct dlm_ls *ls, struct dlm_message *ms) - if (lkb->lkb_remid != ms->m_lkid) { - log_error(ls, "receive_unlock %x remid %x remote %d %x", - lkb->lkb_id, lkb->lkb_remid, -- ms->m_header.h_nodeid, ms->m_lkid); -+ le32_to_cpu(ms->m_header.h_nodeid), ms->m_lkid); - error = -ENOENT; - dlm_put_lkb(lkb); - goto fail; -@@ -4377,7 +4378,7 @@ static void receive_lookup(struct dlm_ls *ls, struct dlm_message *ms) - { - int len, error, ret_nodeid, from_nodeid, our_nodeid; - -- from_nodeid = ms->m_header.h_nodeid; -+ from_nodeid = le32_to_cpu(ms->m_header.h_nodeid); - our_nodeid = dlm_our_nodeid(); - - len = receive_extralen(ms); -@@ -4400,7 +4401,7 @@ static void receive_remove(struct dlm_ls *ls, struct dlm_message *ms) - uint32_t hash, b; - int rv, len, dir_nodeid, from_nodeid; - -- from_nodeid = ms->m_header.h_nodeid; -+ from_nodeid = le32_to_cpu(ms->m_header.h_nodeid); - - len = receive_extralen(ms); - -@@ -4491,7 +4492,7 @@ static int receive_request_reply(struct dlm_ls *ls, struct dlm_message *ms) - struct dlm_lkb *lkb; - struct dlm_rsb *r; - int error, mstype, result; -- int from_nodeid = ms->m_header.h_nodeid; -+ int from_nodeid = le32_to_cpu(ms->m_header.h_nodeid); - - error = find_lkb(ls, ms->m_remid, &lkb); - if (error) -@@ -4643,8 +4644,8 @@ static void __receive_convert_reply(struct dlm_rsb *r, struct dlm_lkb *lkb, - - default: - log_error(r->res_ls, "receive_convert_reply %x remote %d %x %d", -- lkb->lkb_id, ms->m_header.h_nodeid, ms->m_lkid, -- ms->m_result); -+ lkb->lkb_id, le32_to_cpu(ms->m_header.h_nodeid), -+ ms->m_lkid, ms->m_result); - dlm_print_rsb(r); - dlm_print_lkb(lkb); - } -@@ -4823,8 +4824,8 @@ static void receive_lookup_reply(struct dlm_ls *ls, struct dlm_message *ms) - /* This should never happen */ - log_error(ls, "receive_lookup_reply %x from %d ret %d " - "master %d dir %d our %d first %x %s", -- lkb->lkb_id, ms->m_header.h_nodeid, ret_nodeid, -- r->res_master_nodeid, r->res_dir_nodeid, -+ lkb->lkb_id, le32_to_cpu(ms->m_header.h_nodeid), -+ ret_nodeid, r->res_master_nodeid, r->res_dir_nodeid, - dlm_our_nodeid(), r->res_first_lkid, r->res_name); - } - -@@ -4836,7 +4837,7 @@ static void receive_lookup_reply(struct dlm_ls *ls, struct dlm_message *ms) - } else if (ret_nodeid == -1) { - /* the remote node doesn't believe it's the dir node */ - log_error(ls, "receive_lookup_reply %x from %d bad ret_nodeid", -- lkb->lkb_id, ms->m_header.h_nodeid); -+ lkb->lkb_id, le32_to_cpu(ms->m_header.h_nodeid)); - r->res_master_nodeid = 0; - r->res_nodeid = -1; - lkb->lkb_nodeid = -1; -@@ -4870,10 +4871,10 @@ static void _receive_message(struct dlm_ls *ls, struct dlm_message *ms, - { - int error = 0, noent = 0; - -- if (!dlm_is_member(ls, ms->m_header.h_nodeid)) { -+ if (!dlm_is_member(ls, le32_to_cpu(ms->m_header.h_nodeid))) { - log_limit(ls, "receive %d from non-member %d %x %x %d", -- ms->m_type, ms->m_header.h_nodeid, ms->m_lkid, -- ms->m_remid, ms->m_result); -+ ms->m_type, le32_to_cpu(ms->m_header.h_nodeid), -+ ms->m_lkid, ms->m_remid, ms->m_result); - return; - } - -@@ -4967,11 +4968,13 @@ static void _receive_message(struct dlm_ls *ls, struct dlm_message *ms, - - if (error == -ENOENT && noent) { - log_debug(ls, "receive %d no %x remote %d %x saved_seq %u", -- ms->m_type, ms->m_remid, ms->m_header.h_nodeid, -+ ms->m_type, ms->m_remid, -+ le32_to_cpu(ms->m_header.h_nodeid), - ms->m_lkid, saved_seq); - } else if (error == -ENOENT) { - log_error(ls, "receive %d no %x remote %d %x saved_seq %u", -- ms->m_type, ms->m_remid, ms->m_header.h_nodeid, -+ ms->m_type, ms->m_remid, -+ le32_to_cpu(ms->m_header.h_nodeid), - ms->m_lkid, saved_seq); - - if (ms->m_type == DLM_MSG_CONVERT) -@@ -4981,7 +4984,7 @@ static void _receive_message(struct dlm_ls *ls, struct dlm_message *ms, - if (error == -EINVAL) { - log_error(ls, "receive %d inval from %d lkid %x remid %x " - "saved_seq %u", -- ms->m_type, ms->m_header.h_nodeid, -+ ms->m_type, le32_to_cpu(ms->m_header.h_nodeid), - ms->m_lkid, ms->m_remid, saved_seq); - } - } -@@ -5048,18 +5051,20 @@ void dlm_receive_buffer(union dlm_packet *p, int nodeid) - return; - } - -- if (hd->h_nodeid != nodeid) { -+ if (le32_to_cpu(hd->h_nodeid) != nodeid) { - log_print("invalid h_nodeid %d from %d lockspace %x", -- hd->h_nodeid, nodeid, hd->u.h_lockspace); -+ le32_to_cpu(hd->h_nodeid), nodeid, -+ le32_to_cpu(hd->u.h_lockspace)); - return; - } - -- ls = dlm_find_lockspace_global(hd->u.h_lockspace); -+ ls = dlm_find_lockspace_global(le32_to_cpu(hd->u.h_lockspace)); - if (!ls) { - if (dlm_config.ci_log_debug) { - printk_ratelimited(KERN_DEBUG "dlm: invalid lockspace " - "%u from %d cmd %d type %d\n", -- hd->u.h_lockspace, nodeid, hd->h_cmd, type); -+ le32_to_cpu(hd->u.h_lockspace), nodeid, -+ hd->h_cmd, type); - } - - if (hd->h_cmd == DLM_RCOM && type == DLM_RCOM_STATUS) -@@ -5089,7 +5094,7 @@ static void recover_convert_waiter(struct dlm_ls *ls, struct dlm_lkb *lkb, - ms_stub->m_flags = DLM_IFL_STUB_MS; - ms_stub->m_type = DLM_MSG_CONVERT_REPLY; - ms_stub->m_result = -EINPROGRESS; -- ms_stub->m_header.h_nodeid = lkb->lkb_nodeid; -+ ms_stub->m_header.h_nodeid = cpu_to_le32(lkb->lkb_nodeid); - _receive_convert_reply(lkb, ms_stub); - - /* Same special case as in receive_rcom_lock_args() */ -@@ -5211,7 +5216,7 @@ void dlm_recover_waiters_pre(struct dlm_ls *ls) - ms_stub->m_flags = DLM_IFL_STUB_MS; - ms_stub->m_type = DLM_MSG_UNLOCK_REPLY; - ms_stub->m_result = stub_unlock_result; -- ms_stub->m_header.h_nodeid = lkb->lkb_nodeid; -+ ms_stub->m_header.h_nodeid = cpu_to_le32(lkb->lkb_nodeid); - _receive_unlock_reply(lkb, ms_stub); - dlm_put_lkb(lkb); - break; -@@ -5222,7 +5227,7 @@ void dlm_recover_waiters_pre(struct dlm_ls *ls) - ms_stub->m_flags = DLM_IFL_STUB_MS; - ms_stub->m_type = DLM_MSG_CANCEL_REPLY; - ms_stub->m_result = stub_cancel_result; -- ms_stub->m_header.h_nodeid = lkb->lkb_nodeid; -+ ms_stub->m_header.h_nodeid = cpu_to_le32(lkb->lkb_nodeid); - _receive_cancel_reply(lkb, ms_stub); - dlm_put_lkb(lkb); - break; -@@ -5592,7 +5597,7 @@ static int receive_rcom_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, - { - struct rcom_lock *rl = (struct rcom_lock *) rc->rc_buf; - -- lkb->lkb_nodeid = rc->rc_header.h_nodeid; -+ lkb->lkb_nodeid = le32_to_cpu(rc->rc_header.h_nodeid); - lkb->lkb_ownpid = le32_to_cpu(rl->rl_ownpid); - lkb->lkb_remid = le32_to_cpu(rl->rl_lkid); - lkb->lkb_exflags = le32_to_cpu(rl->rl_exflags); -@@ -5607,8 +5612,8 @@ static int receive_rcom_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, - lkb->lkb_astfn = (rl->rl_asts & DLM_CB_CAST) ? &fake_astfn : NULL; - - if (lkb->lkb_exflags & DLM_LKF_VALBLK) { -- int lvblen = rc->rc_header.h_length - sizeof(struct dlm_rcom) - -- sizeof(struct rcom_lock); -+ int lvblen = le16_to_cpu(rc->rc_header.h_length) - -+ sizeof(struct dlm_rcom) - sizeof(struct rcom_lock); - if (lvblen > ls->ls_lvblen) - return -EINVAL; - lkb->lkb_lvbptr = dlm_allocate_lvb(ls); -@@ -5644,7 +5649,7 @@ int dlm_recover_master_copy(struct dlm_ls *ls, struct dlm_rcom *rc) - struct dlm_rsb *r; - struct dlm_lkb *lkb; - uint32_t remid = 0; -- int from_nodeid = rc->rc_header.h_nodeid; -+ int from_nodeid = le32_to_cpu(rc->rc_header.h_nodeid); - int error; - - if (rl->rl_parent_lkid) { -@@ -5734,7 +5739,8 @@ int dlm_recover_process_copy(struct dlm_ls *ls, struct dlm_rcom *rc) - error = find_lkb(ls, lkid, &lkb); - if (error) { - log_error(ls, "dlm_recover_process_copy no %x remote %d %x %d", -- lkid, rc->rc_header.h_nodeid, remid, result); -+ lkid, le32_to_cpu(rc->rc_header.h_nodeid), remid, -+ result); - return error; - } - -@@ -5744,7 +5750,8 @@ int dlm_recover_process_copy(struct dlm_ls *ls, struct dlm_rcom *rc) - - if (!is_process_copy(lkb)) { - log_error(ls, "dlm_recover_process_copy bad %x remote %d %x %d", -- lkid, rc->rc_header.h_nodeid, remid, result); -+ lkid, le32_to_cpu(rc->rc_header.h_nodeid), remid, -+ result); - dlm_dump_rsb(r); - unlock_rsb(r); - put_rsb(r); -@@ -5759,7 +5766,8 @@ int dlm_recover_process_copy(struct dlm_ls *ls, struct dlm_rcom *rc) - a barrier between recover_masters and recover_locks. */ - - log_debug(ls, "dlm_recover_process_copy %x remote %d %x %d", -- lkid, rc->rc_header.h_nodeid, remid, result); -+ lkid, le32_to_cpu(rc->rc_header.h_nodeid), remid, -+ result); - - dlm_send_rcom_lock(r, lkb); - goto out; -@@ -5769,7 +5777,8 @@ int dlm_recover_process_copy(struct dlm_ls *ls, struct dlm_rcom *rc) - break; - default: - log_error(ls, "dlm_recover_process_copy %x remote %d %x %d unk", -- lkid, rc->rc_header.h_nodeid, remid, result); -+ lkid, le32_to_cpu(rc->rc_header.h_nodeid), remid, -+ result); - } - - /* an ack for dlm_recover_locks() which waits for replies from -diff --git a/fs/dlm/member.c b/fs/dlm/member.c -index 731d489aa323..0dacddc63f55 100644 ---- a/fs/dlm/member.c -+++ b/fs/dlm/member.c -@@ -20,7 +20,7 @@ - - int dlm_slots_version(struct dlm_header *h) - { -- if ((h->h_version & 0x0000FFFF) < DLM_HEADER_SLOTS) -+ if ((le32_to_cpu(h->h_version) & 0x0000FFFF) < DLM_HEADER_SLOTS) - return 0; - return 1; - } -diff --git a/fs/dlm/midcomms.c b/fs/dlm/midcomms.c -index 7ae39ec8d9b0..a9903cdb1438 100644 ---- a/fs/dlm/midcomms.c -+++ b/fs/dlm/midcomms.c -@@ -373,13 +373,12 @@ static int dlm_send_ack(int nodeid, uint32_t seq) - - m_header = (struct dlm_header *)ppc; - -- m_header->h_version = (DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -- m_header->h_nodeid = dlm_our_nodeid(); -- m_header->h_length = mb_len; -+ m_header->h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -+ m_header->h_nodeid = cpu_to_le32(dlm_our_nodeid()); -+ m_header->h_length = cpu_to_le16(mb_len); - m_header->h_cmd = DLM_ACK; -- m_header->u.h_seq = seq; -+ m_header->u.h_seq = cpu_to_le32(seq); - -- header_out(m_header); - dlm_lowcomms_commit_msg(msg); - dlm_lowcomms_put_msg(msg); - -@@ -402,13 +401,11 @@ static int dlm_send_fin(struct midcomms_node *node, - - m_header = (struct dlm_header *)ppc; - -- m_header->h_version = (DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -- m_header->h_nodeid = dlm_our_nodeid(); -- m_header->h_length = mb_len; -+ m_header->h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -+ m_header->h_nodeid = cpu_to_le32(dlm_our_nodeid()); -+ m_header->h_length = cpu_to_le16(mb_len); - m_header->h_cmd = DLM_FIN; - -- header_out(m_header); -- - pr_debug("sending fin msg to node %d\n", node->nodeid); - dlm_midcomms_commit_mhandle(mh); - set_bit(DLM_NODE_FLAG_STOP_TX, &node->flags); -@@ -1013,11 +1010,10 @@ static void dlm_fill_opts_header(struct dlm_opts *opts, uint16_t inner_len, - uint32_t seq) - { - opts->o_header.h_cmd = DLM_OPTS; -- opts->o_header.h_version = (DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -- opts->o_header.h_nodeid = dlm_our_nodeid(); -- opts->o_header.h_length = DLM_MIDCOMMS_OPT_LEN + inner_len; -- opts->o_header.u.h_seq = seq; -- header_out(&opts->o_header); -+ opts->o_header.h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -+ opts->o_header.h_nodeid = cpu_to_le32(dlm_our_nodeid()); -+ opts->o_header.h_length = cpu_to_le16(DLM_MIDCOMMS_OPT_LEN + inner_len); -+ opts->o_header.u.h_seq = cpu_to_le32(seq); - } - - static void midcomms_new_msg_cb(struct dlm_mhandle *mh) -diff --git a/fs/dlm/rcom.c b/fs/dlm/rcom.c -index 6cba86470278..b956b7e416c8 100644 ---- a/fs/dlm/rcom.c -+++ b/fs/dlm/rcom.c -@@ -34,10 +34,10 @@ static void _create_rcom(struct dlm_ls *ls, int to_nodeid, int type, int len, - - rc = (struct dlm_rcom *) mb; - -- rc->rc_header.h_version = (DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -- rc->rc_header.u.h_lockspace = ls->ls_global_id; -- rc->rc_header.h_nodeid = dlm_our_nodeid(); -- rc->rc_header.h_length = mb_len; -+ rc->rc_header.h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -+ rc->rc_header.u.h_lockspace = cpu_to_le32(ls->ls_global_id); -+ rc->rc_header.h_nodeid = cpu_to_le32(dlm_our_nodeid()); -+ rc->rc_header.h_length = cpu_to_le16(mb_len); - rc->rc_header.h_cmd = DLM_RCOM; - - rc->rc_type = type; -@@ -127,10 +127,10 @@ static int check_rcom_config(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) - { - struct rcom_config *rf = (struct rcom_config *) rc->rc_buf; - -- if ((rc->rc_header.h_version & 0xFFFF0000) != DLM_HEADER_MAJOR) { -+ if ((le32_to_cpu(rc->rc_header.h_version) & 0xFFFF0000) != DLM_HEADER_MAJOR) { - log_error(ls, "version mismatch: %x nodeid %d: %x", - DLM_HEADER_MAJOR | DLM_HEADER_MINOR, nodeid, -- rc->rc_header.h_version); -+ le32_to_cpu(rc->rc_header.h_version)); - return -EPROTO; - } - -@@ -227,7 +227,7 @@ static void receive_rcom_status(struct dlm_ls *ls, struct dlm_rcom *rc_in) - struct dlm_rcom *rc; - struct rcom_status *rs; - uint32_t status; -- int nodeid = rc_in->rc_header.h_nodeid; -+ int nodeid = le32_to_cpu(rc_in->rc_header.h_nodeid); - int len = sizeof(struct rcom_config); - struct dlm_msg *msg; - int num_slots = 0; -@@ -289,12 +289,14 @@ static void receive_sync_reply(struct dlm_ls *ls, struct dlm_rcom *rc_in) - if (!test_bit(LSFL_RCOM_WAIT, &ls->ls_flags) || - rc_in->rc_id != ls->ls_rcom_seq) { - log_debug(ls, "reject reply %d from %d seq %llx expect %llx", -- rc_in->rc_type, rc_in->rc_header.h_nodeid, -+ rc_in->rc_type, -+ le32_to_cpu(rc_in->rc_header.h_nodeid), - (unsigned long long)rc_in->rc_id, - (unsigned long long)ls->ls_rcom_seq); - goto out; - } -- memcpy(ls->ls_recover_buf, rc_in, rc_in->rc_header.h_length); -+ memcpy(ls->ls_recover_buf, rc_in, -+ le16_to_cpu(rc_in->rc_header.h_length)); - set_bit(LSFL_RCOM_READY, &ls->ls_flags); - clear_bit(LSFL_RCOM_WAIT, &ls->ls_flags); - wake_up(&ls->ls_wait_general); -@@ -336,8 +338,9 @@ static void receive_rcom_names(struct dlm_ls *ls, struct dlm_rcom *rc_in) - int error, inlen, outlen, nodeid; - struct dlm_msg *msg; - -- nodeid = rc_in->rc_header.h_nodeid; -- inlen = rc_in->rc_header.h_length - sizeof(struct dlm_rcom); -+ nodeid = le32_to_cpu(rc_in->rc_header.h_nodeid); -+ inlen = le16_to_cpu(rc_in->rc_header.h_length) - -+ sizeof(struct dlm_rcom); - outlen = DLM_MAX_APP_BUFSIZE - sizeof(struct dlm_rcom); - - error = create_rcom_stateless(ls, nodeid, DLM_RCOM_NAMES_REPLY, outlen, -@@ -375,8 +378,9 @@ static void receive_rcom_lookup(struct dlm_ls *ls, struct dlm_rcom *rc_in) - { - struct dlm_rcom *rc; - struct dlm_mhandle *mh; -- int error, ret_nodeid, nodeid = rc_in->rc_header.h_nodeid; -- int len = rc_in->rc_header.h_length - sizeof(struct dlm_rcom); -+ int error, ret_nodeid, nodeid = le32_to_cpu(rc_in->rc_header.h_nodeid); -+ int len = le16_to_cpu(rc_in->rc_header.h_length) - -+ sizeof(struct dlm_rcom); - - /* Old code would send this special id to trigger a debug dump. */ - if (rc_in->rc_id == 0xFFFFFFFF) { -@@ -464,7 +468,7 @@ static void receive_rcom_lock(struct dlm_ls *ls, struct dlm_rcom *rc_in) - { - struct dlm_rcom *rc; - struct dlm_mhandle *mh; -- int error, nodeid = rc_in->rc_header.h_nodeid; -+ int error, nodeid = le32_to_cpu(rc_in->rc_header.h_nodeid); - - dlm_recover_master_copy(ls, rc_in); - -@@ -500,10 +504,10 @@ int dlm_send_ls_not_ready(int nodeid, struct dlm_rcom *rc_in) - - rc = (struct dlm_rcom *) mb; - -- rc->rc_header.h_version = (DLM_HEADER_MAJOR | DLM_HEADER_MINOR); -+ rc->rc_header.h_version = cpu_to_le32(DLM_HEADER_MAJOR | DLM_HEADER_MINOR); - rc->rc_header.u.h_lockspace = rc_in->rc_header.u.h_lockspace; -- rc->rc_header.h_nodeid = dlm_our_nodeid(); -- rc->rc_header.h_length = mb_len; -+ rc->rc_header.h_nodeid = cpu_to_le32(dlm_our_nodeid()); -+ rc->rc_header.h_length = cpu_to_le16(mb_len); - rc->rc_header.h_cmd = DLM_RCOM; - - rc->rc_type = DLM_RCOM_STATUS_REPLY; -@@ -631,7 +635,7 @@ void dlm_receive_rcom(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) - break; - - case DLM_RCOM_LOCK: -- if (rc->rc_header.h_length < lock_size) -+ if (le16_to_cpu(rc->rc_header.h_length) < lock_size) - goto Eshort; - receive_rcom_lock(ls, rc); - break; -@@ -649,7 +653,7 @@ void dlm_receive_rcom(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) - break; - - case DLM_RCOM_LOCK_REPLY: -- if (rc->rc_header.h_length < lock_size) -+ if (le16_to_cpu(rc->rc_header.h_length) < lock_size) - goto Eshort; - dlm_recover_process_copy(ls, rc); - break; -diff --git a/fs/dlm/requestqueue.c b/fs/dlm/requestqueue.c -index e89e0ff8bfa3..3692fbd218d5 100644 ---- a/fs/dlm/requestqueue.c -+++ b/fs/dlm/requestqueue.c -@@ -32,7 +32,8 @@ struct rq_entry { - void dlm_add_requestqueue(struct dlm_ls *ls, int nodeid, struct dlm_message *ms) - { - struct rq_entry *e; -- int length = ms->m_header.h_length - sizeof(struct dlm_message); -+ int length = le16_to_cpu(ms->m_header.h_length) - -+ sizeof(struct dlm_message); - - e = kmalloc(sizeof(struct rq_entry) + length, GFP_NOFS); - if (!e) { -@@ -42,7 +43,7 @@ void dlm_add_requestqueue(struct dlm_ls *ls, int nodeid, struct dlm_message *ms) - - e->recover_seq = ls->ls_recover_seq & 0xFFFFFFFF; - e->nodeid = nodeid; -- memcpy(&e->request, ms, ms->m_header.h_length); -+ memcpy(&e->request, ms, le16_to_cpu(ms->m_header.h_length)); - - mutex_lock(&ls->ls_requestqueue_mutex); - list_add_tail(&e->list, &ls->ls_requestqueue); -@@ -81,7 +82,7 @@ int dlm_process_requestqueue(struct dlm_ls *ls) - - log_limit(ls, "dlm_process_requestqueue msg %d from %d " - "lkid %x remid %x result %d seq %u", -- ms->m_type, ms->m_header.h_nodeid, -+ ms->m_type, le32_to_cpu(ms->m_header.h_nodeid), - ms->m_lkid, ms->m_remid, ms->m_result, - e->recover_seq); - -diff --git a/fs/dlm/util.c b/fs/dlm/util.c -index 58acbcc2081a..66b9a123768d 100644 ---- a/fs/dlm/util.c -+++ b/fs/dlm/util.c -@@ -20,24 +20,6 @@ - #define DLM_ERRNO_ETIMEDOUT 110 - #define DLM_ERRNO_EINPROGRESS 115 - --void header_out(struct dlm_header *hd) --{ -- hd->h_version = cpu_to_le32(hd->h_version); -- /* does it for others u32 in union as well */ -- hd->u.h_lockspace = cpu_to_le32(hd->u.h_lockspace); -- hd->h_nodeid = cpu_to_le32(hd->h_nodeid); -- hd->h_length = cpu_to_le16(hd->h_length); --} -- --void header_in(struct dlm_header *hd) --{ -- hd->h_version = le32_to_cpu(hd->h_version); -- /* does it for others u32 in union as well */ -- hd->u.h_lockspace = le32_to_cpu(hd->u.h_lockspace); -- hd->h_nodeid = le32_to_cpu(hd->h_nodeid); -- hd->h_length = le16_to_cpu(hd->h_length); --} -- - /* higher errno values are inconsistent across architectures, so select - one set of values for on the wire */ - -@@ -85,8 +67,6 @@ static int from_dlm_errno(int err) - - void dlm_message_out(struct dlm_message *ms) - { -- header_out(&ms->m_header); -- - ms->m_type = cpu_to_le32(ms->m_type); - ms->m_nodeid = cpu_to_le32(ms->m_nodeid); - ms->m_pid = cpu_to_le32(ms->m_pid); -@@ -109,8 +89,6 @@ void dlm_message_out(struct dlm_message *ms) - - void dlm_message_in(struct dlm_message *ms) - { -- header_in(&ms->m_header); -- - ms->m_type = le32_to_cpu(ms->m_type); - ms->m_nodeid = le32_to_cpu(ms->m_nodeid); - ms->m_pid = le32_to_cpu(ms->m_pid); -@@ -133,8 +111,6 @@ void dlm_message_in(struct dlm_message *ms) - - void dlm_rcom_out(struct dlm_rcom *rc) - { -- header_out(&rc->rc_header); -- - rc->rc_type = cpu_to_le32(rc->rc_type); - rc->rc_result = cpu_to_le32(rc->rc_result); - rc->rc_id = cpu_to_le64(rc->rc_id); -@@ -144,8 +120,6 @@ void dlm_rcom_out(struct dlm_rcom *rc) - - void dlm_rcom_in(struct dlm_rcom *rc) - { -- header_in(&rc->rc_header); -- - rc->rc_type = le32_to_cpu(rc->rc_type); - rc->rc_result = le32_to_cpu(rc->rc_result); - rc->rc_id = le64_to_cpu(rc->rc_id); -diff --git a/fs/dlm/util.h b/fs/dlm/util.h -index d46f23c7a6a0..cc719ca9397e 100644 ---- a/fs/dlm/util.h -+++ b/fs/dlm/util.h -@@ -15,8 +15,6 @@ void dlm_message_out(struct dlm_message *ms); - void dlm_message_in(struct dlm_message *ms); - void dlm_rcom_out(struct dlm_rcom *rc); - void dlm_rcom_in(struct dlm_rcom *rc); --void header_out(struct dlm_header *hd); --void header_in(struct dlm_header *hd); - - #endif - --- -2.35.1 - diff --git a/queue-5.15/dlm-use-__le-types-for-dlm-messages.patch b/queue-5.15/dlm-use-__le-types-for-dlm-messages.patch deleted file mode 100644 index f2978f04065..00000000000 --- a/queue-5.15/dlm-use-__le-types-for-dlm-messages.patch +++ /dev/null @@ -1,967 +0,0 @@ -From b59651cc695c5aaaf09223589e7516043843182d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 4 Apr 2022 16:06:41 -0400 -Subject: dlm: use __le types for dlm messages - -From: Alexander Aring - -[ Upstream commit 00e99ccde75722599faf089416341bfed7e4edb5 ] - -This patch changes to use __le types directly in the dlm message -structure which is casted at the right dlm message buffer positions. - -The main goal what is reached here is to remove sparse warnings -regarding to host to little byte order conversion or vice versa. Leaving -those sparse issues ignored and always do it in out/in functionality -tends to leave it unknown in which byte order the variable is being -handled. - -Signed-off-by: Alexander Aring -Signed-off-by: David Teigland -Stable-dep-of: 7175e131ebba ("fs: dlm: fix invalid derefence of sb_lvbptr") -Signed-off-by: Sasha Levin ---- - fs/dlm/dlm_internal.h | 36 +++--- - fs/dlm/lock.c | 276 ++++++++++++++++++++++-------------------- - fs/dlm/requestqueue.c | 15 ++- - fs/dlm/util.c | 48 +------- - fs/dlm/util.h | 4 +- - 5 files changed, 174 insertions(+), 205 deletions(-) - -diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h -index 78704fa31a74..aa5ed57ab1ba 100644 ---- a/fs/dlm/dlm_internal.h -+++ b/fs/dlm/dlm_internal.h -@@ -415,24 +415,24 @@ struct dlm_header { - - struct dlm_message { - struct dlm_header m_header; -- uint32_t m_type; /* DLM_MSG_ */ -- uint32_t m_nodeid; -- uint32_t m_pid; -- uint32_t m_lkid; /* lkid on sender */ -- uint32_t m_remid; /* lkid on receiver */ -- uint32_t m_parent_lkid; -- uint32_t m_parent_remid; -- uint32_t m_exflags; -- uint32_t m_sbflags; -- uint32_t m_flags; -- uint32_t m_lvbseq; -- uint32_t m_hash; -- int m_status; -- int m_grmode; -- int m_rqmode; -- int m_bastmode; -- int m_asts; -- int m_result; /* 0 or -EXXX */ -+ __le32 m_type; /* DLM_MSG_ */ -+ __le32 m_nodeid; -+ __le32 m_pid; -+ __le32 m_lkid; /* lkid on sender */ -+ __le32 m_remid; /* lkid on receiver */ -+ __le32 m_parent_lkid; -+ __le32 m_parent_remid; -+ __le32 m_exflags; -+ __le32 m_sbflags; -+ __le32 m_flags; -+ __le32 m_lvbseq; -+ __le32 m_hash; -+ __le32 m_status; -+ __le32 m_grmode; -+ __le32 m_rqmode; -+ __le32 m_bastmode; -+ __le32 m_asts; -+ __le32 m_result; /* 0 or -EXXX */ - char m_extra[]; /* name or lvb */ - }; - -diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c -index fea9a7216297..a6a5fbe36ca9 100644 ---- a/fs/dlm/lock.c -+++ b/fs/dlm/lock.c -@@ -1611,10 +1611,10 @@ static int remove_from_waiters_ms(struct dlm_lkb *lkb, struct dlm_message *ms) - struct dlm_ls *ls = lkb->lkb_resource->res_ls; - int error; - -- if (ms->m_flags != DLM_IFL_STUB_MS) -+ if (ms->m_flags != cpu_to_le32(DLM_IFL_STUB_MS)) - mutex_lock(&ls->ls_waiters_mutex); -- error = _remove_from_waiters(lkb, ms->m_type, ms); -- if (ms->m_flags != DLM_IFL_STUB_MS) -+ error = _remove_from_waiters(lkb, le32_to_cpu(ms->m_type), ms); -+ if (ms->m_flags != cpu_to_le32(DLM_IFL_STUB_MS)) - mutex_unlock(&ls->ls_waiters_mutex); - return error; - } -@@ -2041,7 +2041,7 @@ static void set_lvb_lock_pc(struct dlm_rsb *r, struct dlm_lkb *lkb, - if (len > r->res_ls->ls_lvblen) - len = r->res_ls->ls_lvblen; - memcpy(lkb->lkb_lvbptr, ms->m_extra, len); -- lkb->lkb_lvbseq = ms->m_lvbseq; -+ lkb->lkb_lvbseq = le32_to_cpu(ms->m_lvbseq); - } - } - -@@ -2172,10 +2172,10 @@ static void munge_demoted(struct dlm_lkb *lkb) - - static void munge_altmode(struct dlm_lkb *lkb, struct dlm_message *ms) - { -- if (ms->m_type != DLM_MSG_REQUEST_REPLY && -- ms->m_type != DLM_MSG_GRANT) { -+ if (ms->m_type != cpu_to_le32(DLM_MSG_REQUEST_REPLY) && -+ ms->m_type != cpu_to_le32(DLM_MSG_GRANT)) { - log_print("munge_altmode %x invalid reply type %d", -- lkb->lkb_id, ms->m_type); -+ lkb->lkb_id, le32_to_cpu(ms->m_type)); - return; - } - -@@ -3551,7 +3551,7 @@ static int _create_message(struct dlm_ls *ls, int mb_len, - ms->m_header.h_length = cpu_to_le16(mb_len); - ms->m_header.h_cmd = DLM_MSG; - -- ms->m_type = mstype; -+ ms->m_type = cpu_to_le32(mstype); - - *mh_ret = mh; - *ms_ret = ms; -@@ -3590,7 +3590,6 @@ static int create_message(struct dlm_rsb *r, struct dlm_lkb *lkb, - - static int send_message(struct dlm_mhandle *mh, struct dlm_message *ms) - { -- dlm_message_out(ms); - dlm_midcomms_commit_mhandle(mh); - return 0; - } -@@ -3598,40 +3597,40 @@ static int send_message(struct dlm_mhandle *mh, struct dlm_message *ms) - static void send_args(struct dlm_rsb *r, struct dlm_lkb *lkb, - struct dlm_message *ms) - { -- ms->m_nodeid = lkb->lkb_nodeid; -- ms->m_pid = lkb->lkb_ownpid; -- ms->m_lkid = lkb->lkb_id; -- ms->m_remid = lkb->lkb_remid; -- ms->m_exflags = lkb->lkb_exflags; -- ms->m_sbflags = lkb->lkb_sbflags; -- ms->m_flags = lkb->lkb_flags; -- ms->m_lvbseq = lkb->lkb_lvbseq; -- ms->m_status = lkb->lkb_status; -- ms->m_grmode = lkb->lkb_grmode; -- ms->m_rqmode = lkb->lkb_rqmode; -- ms->m_hash = r->res_hash; -+ ms->m_nodeid = cpu_to_le32(lkb->lkb_nodeid); -+ ms->m_pid = cpu_to_le32(lkb->lkb_ownpid); -+ ms->m_lkid = cpu_to_le32(lkb->lkb_id); -+ ms->m_remid = cpu_to_le32(lkb->lkb_remid); -+ ms->m_exflags = cpu_to_le32(lkb->lkb_exflags); -+ ms->m_sbflags = cpu_to_le32(lkb->lkb_sbflags); -+ ms->m_flags = cpu_to_le32(lkb->lkb_flags); -+ ms->m_lvbseq = cpu_to_le32(lkb->lkb_lvbseq); -+ ms->m_status = cpu_to_le32(lkb->lkb_status); -+ ms->m_grmode = cpu_to_le32(lkb->lkb_grmode); -+ ms->m_rqmode = cpu_to_le32(lkb->lkb_rqmode); -+ ms->m_hash = cpu_to_le32(r->res_hash); - - /* m_result and m_bastmode are set from function args, - not from lkb fields */ - - if (lkb->lkb_bastfn) -- ms->m_asts |= DLM_CB_BAST; -+ ms->m_asts |= cpu_to_le32(DLM_CB_BAST); - if (lkb->lkb_astfn) -- ms->m_asts |= DLM_CB_CAST; -+ ms->m_asts |= cpu_to_le32(DLM_CB_CAST); - - /* compare with switch in create_message; send_remove() doesn't - use send_args() */ - - switch (ms->m_type) { -- case DLM_MSG_REQUEST: -- case DLM_MSG_LOOKUP: -+ case cpu_to_le32(DLM_MSG_REQUEST): -+ case cpu_to_le32(DLM_MSG_LOOKUP): - memcpy(ms->m_extra, r->res_name, r->res_length); - break; -- case DLM_MSG_CONVERT: -- case DLM_MSG_UNLOCK: -- case DLM_MSG_REQUEST_REPLY: -- case DLM_MSG_CONVERT_REPLY: -- case DLM_MSG_GRANT: -+ case cpu_to_le32(DLM_MSG_CONVERT): -+ case cpu_to_le32(DLM_MSG_UNLOCK): -+ case cpu_to_le32(DLM_MSG_REQUEST_REPLY): -+ case cpu_to_le32(DLM_MSG_CONVERT_REPLY): -+ case cpu_to_le32(DLM_MSG_GRANT): - if (!lkb->lkb_lvbptr) - break; - memcpy(ms->m_extra, lkb->lkb_lvbptr, r->res_ls->ls_lvblen); -@@ -3681,8 +3680,8 @@ static int send_convert(struct dlm_rsb *r, struct dlm_lkb *lkb) - /* down conversions go without a reply from the master */ - if (!error && down_conversion(lkb)) { - remove_from_waiters(lkb, DLM_MSG_CONVERT_REPLY); -- r->res_ls->ls_stub_ms.m_flags = DLM_IFL_STUB_MS; -- r->res_ls->ls_stub_ms.m_type = DLM_MSG_CONVERT_REPLY; -+ r->res_ls->ls_stub_ms.m_flags = cpu_to_le32(DLM_IFL_STUB_MS); -+ r->res_ls->ls_stub_ms.m_type = cpu_to_le32(DLM_MSG_CONVERT_REPLY); - r->res_ls->ls_stub_ms.m_result = 0; - __receive_convert_reply(r, lkb, &r->res_ls->ls_stub_ms); - } -@@ -3739,7 +3738,7 @@ static int send_bast(struct dlm_rsb *r, struct dlm_lkb *lkb, int mode) - - send_args(r, lkb, ms); - -- ms->m_bastmode = mode; -+ ms->m_bastmode = cpu_to_le32(mode); - - error = send_message(mh, ms); - out: -@@ -3787,7 +3786,7 @@ static int send_remove(struct dlm_rsb *r) - goto out; - - memcpy(ms->m_extra, r->res_name, r->res_length); -- ms->m_hash = r->res_hash; -+ ms->m_hash = cpu_to_le32(r->res_hash); - - error = send_message(mh, ms); - out: -@@ -3809,7 +3808,7 @@ static int send_common_reply(struct dlm_rsb *r, struct dlm_lkb *lkb, - - send_args(r, lkb, ms); - -- ms->m_result = rv; -+ ms->m_result = cpu_to_le32(to_dlm_errno(rv)); - - error = send_message(mh, ms); - out: -@@ -3849,8 +3848,8 @@ static int send_lookup_reply(struct dlm_ls *ls, struct dlm_message *ms_in, - goto out; - - ms->m_lkid = ms_in->m_lkid; -- ms->m_result = rv; -- ms->m_nodeid = ret_nodeid; -+ ms->m_result = cpu_to_le32(to_dlm_errno(rv)); -+ ms->m_nodeid = cpu_to_le32(ret_nodeid); - - error = send_message(mh, ms); - out: -@@ -3863,20 +3862,20 @@ static int send_lookup_reply(struct dlm_ls *ls, struct dlm_message *ms_in, - - static void receive_flags(struct dlm_lkb *lkb, struct dlm_message *ms) - { -- lkb->lkb_exflags = ms->m_exflags; -- lkb->lkb_sbflags = ms->m_sbflags; -+ lkb->lkb_exflags = le32_to_cpu(ms->m_exflags); -+ lkb->lkb_sbflags = le32_to_cpu(ms->m_sbflags); - lkb->lkb_flags = (lkb->lkb_flags & 0xFFFF0000) | -- (ms->m_flags & 0x0000FFFF); -+ (le32_to_cpu(ms->m_flags) & 0x0000FFFF); - } - - static void receive_flags_reply(struct dlm_lkb *lkb, struct dlm_message *ms) - { -- if (ms->m_flags == DLM_IFL_STUB_MS) -+ if (ms->m_flags == cpu_to_le32(DLM_IFL_STUB_MS)) - return; - -- lkb->lkb_sbflags = ms->m_sbflags; -+ lkb->lkb_sbflags = le32_to_cpu(ms->m_sbflags); - lkb->lkb_flags = (lkb->lkb_flags & 0xFFFF0000) | -- (ms->m_flags & 0x0000FFFF); -+ (le32_to_cpu(ms->m_flags) & 0x0000FFFF); - } - - static int receive_extralen(struct dlm_message *ms) -@@ -3917,13 +3916,13 @@ static int receive_request_args(struct dlm_ls *ls, struct dlm_lkb *lkb, - struct dlm_message *ms) - { - lkb->lkb_nodeid = le32_to_cpu(ms->m_header.h_nodeid); -- lkb->lkb_ownpid = ms->m_pid; -- lkb->lkb_remid = ms->m_lkid; -+ lkb->lkb_ownpid = le32_to_cpu(ms->m_pid); -+ lkb->lkb_remid = le32_to_cpu(ms->m_lkid); - lkb->lkb_grmode = DLM_LOCK_IV; -- lkb->lkb_rqmode = ms->m_rqmode; -+ lkb->lkb_rqmode = le32_to_cpu(ms->m_rqmode); - -- lkb->lkb_bastfn = (ms->m_asts & DLM_CB_BAST) ? &fake_bastfn : NULL; -- lkb->lkb_astfn = (ms->m_asts & DLM_CB_CAST) ? &fake_astfn : NULL; -+ lkb->lkb_bastfn = (ms->m_asts & cpu_to_le32(DLM_CB_BAST)) ? &fake_bastfn : NULL; -+ lkb->lkb_astfn = (ms->m_asts & cpu_to_le32(DLM_CB_CAST)) ? &fake_astfn : NULL; - - if (lkb->lkb_exflags & DLM_LKF_VALBLK) { - /* lkb was just created so there won't be an lvb yet */ -@@ -3944,8 +3943,8 @@ static int receive_convert_args(struct dlm_ls *ls, struct dlm_lkb *lkb, - if (receive_lvb(ls, lkb, ms)) - return -ENOMEM; - -- lkb->lkb_rqmode = ms->m_rqmode; -- lkb->lkb_lvbseq = ms->m_lvbseq; -+ lkb->lkb_rqmode = le32_to_cpu(ms->m_rqmode); -+ lkb->lkb_lvbseq = le32_to_cpu(ms->m_lvbseq); - - return 0; - } -@@ -3965,7 +3964,7 @@ static void setup_stub_lkb(struct dlm_ls *ls, struct dlm_message *ms) - { - struct dlm_lkb *lkb = &ls->ls_stub_lkb; - lkb->lkb_nodeid = le32_to_cpu(ms->m_header.h_nodeid); -- lkb->lkb_remid = ms->m_lkid; -+ lkb->lkb_remid = le32_to_cpu(ms->m_lkid); - } - - /* This is called after the rsb is locked so that we can safely inspect -@@ -3977,7 +3976,8 @@ static int validate_message(struct dlm_lkb *lkb, struct dlm_message *ms) - int error = 0; - - /* currently mixing of user/kernel locks are not supported */ -- if (ms->m_flags & DLM_IFL_USER && ~lkb->lkb_flags & DLM_IFL_USER) { -+ if (ms->m_flags & cpu_to_le32(DLM_IFL_USER) && -+ ~lkb->lkb_flags & DLM_IFL_USER) { - log_error(lkb->lkb_resource->res_ls, - "got user dlm message for a kernel lock"); - error = -EINVAL; -@@ -3985,23 +3985,23 @@ static int validate_message(struct dlm_lkb *lkb, struct dlm_message *ms) - } - - switch (ms->m_type) { -- case DLM_MSG_CONVERT: -- case DLM_MSG_UNLOCK: -- case DLM_MSG_CANCEL: -+ case cpu_to_le32(DLM_MSG_CONVERT): -+ case cpu_to_le32(DLM_MSG_UNLOCK): -+ case cpu_to_le32(DLM_MSG_CANCEL): - if (!is_master_copy(lkb) || lkb->lkb_nodeid != from) - error = -EINVAL; - break; - -- case DLM_MSG_CONVERT_REPLY: -- case DLM_MSG_UNLOCK_REPLY: -- case DLM_MSG_CANCEL_REPLY: -- case DLM_MSG_GRANT: -- case DLM_MSG_BAST: -+ case cpu_to_le32(DLM_MSG_CONVERT_REPLY): -+ case cpu_to_le32(DLM_MSG_UNLOCK_REPLY): -+ case cpu_to_le32(DLM_MSG_CANCEL_REPLY): -+ case cpu_to_le32(DLM_MSG_GRANT): -+ case cpu_to_le32(DLM_MSG_BAST): - if (!is_process_copy(lkb) || lkb->lkb_nodeid != from) - error = -EINVAL; - break; - -- case DLM_MSG_REQUEST_REPLY: -+ case cpu_to_le32(DLM_MSG_REQUEST_REPLY): - if (!is_process_copy(lkb)) - error = -EINVAL; - else if (lkb->lkb_nodeid != -1 && lkb->lkb_nodeid != from) -@@ -4016,8 +4016,8 @@ static int validate_message(struct dlm_lkb *lkb, struct dlm_message *ms) - if (error) - log_error(lkb->lkb_resource->res_ls, - "ignore invalid message %d from %d %x %x %x %d", -- ms->m_type, from, lkb->lkb_id, lkb->lkb_remid, -- lkb->lkb_flags, lkb->lkb_nodeid); -+ le32_to_cpu(ms->m_type), from, lkb->lkb_id, -+ lkb->lkb_remid, lkb->lkb_flags, lkb->lkb_nodeid); - return error; - } - -@@ -4069,7 +4069,7 @@ static void send_repeat_remove(struct dlm_ls *ls, char *ms_name, int len) - goto out; - - memcpy(ms->m_extra, name, len); -- ms->m_hash = hash; -+ ms->m_hash = cpu_to_le32(hash); - - send_message(mh, ms); - -@@ -4160,7 +4160,7 @@ static int receive_request(struct dlm_ls *ls, struct dlm_message *ms) - - if (error != -ENOTBLK) { - log_limit(ls, "receive_request %x from %d %d", -- ms->m_lkid, from_nodeid, error); -+ le32_to_cpu(ms->m_lkid), from_nodeid, error); - } - - if (namelen && error == -EBADR) { -@@ -4179,15 +4179,16 @@ static int receive_convert(struct dlm_ls *ls, struct dlm_message *ms) - struct dlm_rsb *r; - int error, reply = 1; - -- error = find_lkb(ls, ms->m_remid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); - if (error) - goto fail; - -- if (lkb->lkb_remid != ms->m_lkid) { -+ if (lkb->lkb_remid != le32_to_cpu(ms->m_lkid)) { - log_error(ls, "receive_convert %x remid %x recover_seq %llu " - "remote %d %x", lkb->lkb_id, lkb->lkb_remid, - (unsigned long long)lkb->lkb_recover_seq, -- le32_to_cpu(ms->m_header.h_nodeid), ms->m_lkid); -+ le32_to_cpu(ms->m_header.h_nodeid), -+ le32_to_cpu(ms->m_lkid)); - error = -ENOENT; - dlm_put_lkb(lkb); - goto fail; -@@ -4234,14 +4235,15 @@ static int receive_unlock(struct dlm_ls *ls, struct dlm_message *ms) - struct dlm_rsb *r; - int error; - -- error = find_lkb(ls, ms->m_remid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); - if (error) - goto fail; - -- if (lkb->lkb_remid != ms->m_lkid) { -+ if (lkb->lkb_remid != le32_to_cpu(ms->m_lkid)) { - log_error(ls, "receive_unlock %x remid %x remote %d %x", - lkb->lkb_id, lkb->lkb_remid, -- le32_to_cpu(ms->m_header.h_nodeid), ms->m_lkid); -+ le32_to_cpu(ms->m_header.h_nodeid), -+ le32_to_cpu(ms->m_lkid)); - error = -ENOENT; - dlm_put_lkb(lkb); - goto fail; -@@ -4285,7 +4287,7 @@ static int receive_cancel(struct dlm_ls *ls, struct dlm_message *ms) - struct dlm_rsb *r; - int error; - -- error = find_lkb(ls, ms->m_remid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); - if (error) - goto fail; - -@@ -4321,7 +4323,7 @@ static int receive_grant(struct dlm_ls *ls, struct dlm_message *ms) - struct dlm_rsb *r; - int error; - -- error = find_lkb(ls, ms->m_remid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); - if (error) - return error; - -@@ -4352,7 +4354,7 @@ static int receive_bast(struct dlm_ls *ls, struct dlm_message *ms) - struct dlm_rsb *r; - int error; - -- error = find_lkb(ls, ms->m_remid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); - if (error) - return error; - -@@ -4365,8 +4367,8 @@ static int receive_bast(struct dlm_ls *ls, struct dlm_message *ms) - if (error) - goto out; - -- queue_bast(r, lkb, ms->m_bastmode); -- lkb->lkb_highbast = ms->m_bastmode; -+ queue_bast(r, lkb, le32_to_cpu(ms->m_bastmode)); -+ lkb->lkb_highbast = le32_to_cpu(ms->m_bastmode); - out: - unlock_rsb(r); - put_rsb(r); -@@ -4411,7 +4413,7 @@ static void receive_remove(struct dlm_ls *ls, struct dlm_message *ms) - return; - } - -- dir_nodeid = dlm_hash2nodeid(ls, ms->m_hash); -+ dir_nodeid = dlm_hash2nodeid(ls, le32_to_cpu(ms->m_hash)); - if (dir_nodeid != dlm_our_nodeid()) { - log_error(ls, "receive_remove from %d bad nodeid %d", - from_nodeid, dir_nodeid); -@@ -4484,7 +4486,7 @@ static void receive_remove(struct dlm_ls *ls, struct dlm_message *ms) - - static void receive_purge(struct dlm_ls *ls, struct dlm_message *ms) - { -- do_purge(ls, ms->m_nodeid, ms->m_pid); -+ do_purge(ls, le32_to_cpu(ms->m_nodeid), le32_to_cpu(ms->m_pid)); - } - - static int receive_request_reply(struct dlm_ls *ls, struct dlm_message *ms) -@@ -4494,7 +4496,7 @@ static int receive_request_reply(struct dlm_ls *ls, struct dlm_message *ms) - int error, mstype, result; - int from_nodeid = le32_to_cpu(ms->m_header.h_nodeid); - -- error = find_lkb(ls, ms->m_remid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); - if (error) - return error; - -@@ -4510,7 +4512,8 @@ static int receive_request_reply(struct dlm_ls *ls, struct dlm_message *ms) - error = remove_from_waiters(lkb, DLM_MSG_REQUEST_REPLY); - if (error) { - log_error(ls, "receive_request_reply %x remote %d %x result %d", -- lkb->lkb_id, from_nodeid, ms->m_lkid, ms->m_result); -+ lkb->lkb_id, from_nodeid, le32_to_cpu(ms->m_lkid), -+ from_dlm_errno(le32_to_cpu(ms->m_result))); - dlm_dump_rsb(r); - goto out; - } -@@ -4524,7 +4527,7 @@ static int receive_request_reply(struct dlm_ls *ls, struct dlm_message *ms) - } - - /* this is the value returned from do_request() on the master */ -- result = ms->m_result; -+ result = from_dlm_errno(le32_to_cpu(ms->m_result)); - - switch (result) { - case -EAGAIN: -@@ -4538,7 +4541,7 @@ static int receive_request_reply(struct dlm_ls *ls, struct dlm_message *ms) - case 0: - /* request was queued or granted on remote master */ - receive_flags_reply(lkb, ms); -- lkb->lkb_remid = ms->m_lkid; -+ lkb->lkb_remid = le32_to_cpu(ms->m_lkid); - if (is_altmode(lkb)) - munge_altmode(lkb, ms); - if (result) { -@@ -4611,7 +4614,7 @@ static void __receive_convert_reply(struct dlm_rsb *r, struct dlm_lkb *lkb, - struct dlm_message *ms) - { - /* this is the value returned from do_convert() on the master */ -- switch (ms->m_result) { -+ switch (from_dlm_errno(le32_to_cpu(ms->m_result))) { - case -EAGAIN: - /* convert would block (be queued) on remote master */ - queue_cast(r, lkb, -EAGAIN); -@@ -4645,7 +4648,8 @@ static void __receive_convert_reply(struct dlm_rsb *r, struct dlm_lkb *lkb, - default: - log_error(r->res_ls, "receive_convert_reply %x remote %d %x %d", - lkb->lkb_id, le32_to_cpu(ms->m_header.h_nodeid), -- ms->m_lkid, ms->m_result); -+ le32_to_cpu(ms->m_lkid), -+ from_dlm_errno(le32_to_cpu(ms->m_result))); - dlm_print_rsb(r); - dlm_print_lkb(lkb); - } -@@ -4679,7 +4683,7 @@ static int receive_convert_reply(struct dlm_ls *ls, struct dlm_message *ms) - struct dlm_lkb *lkb; - int error; - -- error = find_lkb(ls, ms->m_remid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); - if (error) - return error; - -@@ -4707,7 +4711,7 @@ static void _receive_unlock_reply(struct dlm_lkb *lkb, struct dlm_message *ms) - - /* this is the value returned from do_unlock() on the master */ - -- switch (ms->m_result) { -+ switch (from_dlm_errno(le32_to_cpu(ms->m_result))) { - case -DLM_EUNLOCK: - receive_flags_reply(lkb, ms); - remove_lock_pc(r, lkb); -@@ -4717,7 +4721,7 @@ static void _receive_unlock_reply(struct dlm_lkb *lkb, struct dlm_message *ms) - break; - default: - log_error(r->res_ls, "receive_unlock_reply %x error %d", -- lkb->lkb_id, ms->m_result); -+ lkb->lkb_id, from_dlm_errno(le32_to_cpu(ms->m_result))); - } - out: - unlock_rsb(r); -@@ -4729,7 +4733,7 @@ static int receive_unlock_reply(struct dlm_ls *ls, struct dlm_message *ms) - struct dlm_lkb *lkb; - int error; - -- error = find_lkb(ls, ms->m_remid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); - if (error) - return error; - -@@ -4757,7 +4761,7 @@ static void _receive_cancel_reply(struct dlm_lkb *lkb, struct dlm_message *ms) - - /* this is the value returned from do_cancel() on the master */ - -- switch (ms->m_result) { -+ switch (from_dlm_errno(le32_to_cpu(ms->m_result))) { - case -DLM_ECANCEL: - receive_flags_reply(lkb, ms); - revert_lock_pc(r, lkb); -@@ -4767,7 +4771,8 @@ static void _receive_cancel_reply(struct dlm_lkb *lkb, struct dlm_message *ms) - break; - default: - log_error(r->res_ls, "receive_cancel_reply %x error %d", -- lkb->lkb_id, ms->m_result); -+ lkb->lkb_id, -+ from_dlm_errno(le32_to_cpu(ms->m_result))); - } - out: - unlock_rsb(r); -@@ -4779,7 +4784,7 @@ static int receive_cancel_reply(struct dlm_ls *ls, struct dlm_message *ms) - struct dlm_lkb *lkb; - int error; - -- error = find_lkb(ls, ms->m_remid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_remid), &lkb); - if (error) - return error; - -@@ -4795,9 +4800,10 @@ static void receive_lookup_reply(struct dlm_ls *ls, struct dlm_message *ms) - int error, ret_nodeid; - int do_lookup_list = 0; - -- error = find_lkb(ls, ms->m_lkid, &lkb); -+ error = find_lkb(ls, le32_to_cpu(ms->m_lkid), &lkb); - if (error) { -- log_error(ls, "receive_lookup_reply no lkid %x", ms->m_lkid); -+ log_error(ls, "%s no lkid %x", __func__, -+ le32_to_cpu(ms->m_lkid)); - return; - } - -@@ -4812,7 +4818,7 @@ static void receive_lookup_reply(struct dlm_ls *ls, struct dlm_message *ms) - if (error) - goto out; - -- ret_nodeid = ms->m_nodeid; -+ ret_nodeid = le32_to_cpu(ms->m_nodeid); - - /* We sometimes receive a request from the dir node for this - rsb before we've received the dir node's loookup_reply for it. -@@ -4873,8 +4879,10 @@ static void _receive_message(struct dlm_ls *ls, struct dlm_message *ms, - - if (!dlm_is_member(ls, le32_to_cpu(ms->m_header.h_nodeid))) { - log_limit(ls, "receive %d from non-member %d %x %x %d", -- ms->m_type, le32_to_cpu(ms->m_header.h_nodeid), -- ms->m_lkid, ms->m_remid, ms->m_result); -+ le32_to_cpu(ms->m_type), -+ le32_to_cpu(ms->m_header.h_nodeid), -+ le32_to_cpu(ms->m_lkid), le32_to_cpu(ms->m_remid), -+ from_dlm_errno(le32_to_cpu(ms->m_result))); - return; - } - -@@ -4882,77 +4890,78 @@ static void _receive_message(struct dlm_ls *ls, struct dlm_message *ms, - - /* messages sent to a master node */ - -- case DLM_MSG_REQUEST: -+ case cpu_to_le32(DLM_MSG_REQUEST): - error = receive_request(ls, ms); - break; - -- case DLM_MSG_CONVERT: -+ case cpu_to_le32(DLM_MSG_CONVERT): - error = receive_convert(ls, ms); - break; - -- case DLM_MSG_UNLOCK: -+ case cpu_to_le32(DLM_MSG_UNLOCK): - error = receive_unlock(ls, ms); - break; - -- case DLM_MSG_CANCEL: -+ case cpu_to_le32(DLM_MSG_CANCEL): - noent = 1; - error = receive_cancel(ls, ms); - break; - - /* messages sent from a master node (replies to above) */ - -- case DLM_MSG_REQUEST_REPLY: -+ case cpu_to_le32(DLM_MSG_REQUEST_REPLY): - error = receive_request_reply(ls, ms); - break; - -- case DLM_MSG_CONVERT_REPLY: -+ case cpu_to_le32(DLM_MSG_CONVERT_REPLY): - error = receive_convert_reply(ls, ms); - break; - -- case DLM_MSG_UNLOCK_REPLY: -+ case cpu_to_le32(DLM_MSG_UNLOCK_REPLY): - error = receive_unlock_reply(ls, ms); - break; - -- case DLM_MSG_CANCEL_REPLY: -+ case cpu_to_le32(DLM_MSG_CANCEL_REPLY): - error = receive_cancel_reply(ls, ms); - break; - - /* messages sent from a master node (only two types of async msg) */ - -- case DLM_MSG_GRANT: -+ case cpu_to_le32(DLM_MSG_GRANT): - noent = 1; - error = receive_grant(ls, ms); - break; - -- case DLM_MSG_BAST: -+ case cpu_to_le32(DLM_MSG_BAST): - noent = 1; - error = receive_bast(ls, ms); - break; - - /* messages sent to a dir node */ - -- case DLM_MSG_LOOKUP: -+ case cpu_to_le32(DLM_MSG_LOOKUP): - receive_lookup(ls, ms); - break; - -- case DLM_MSG_REMOVE: -+ case cpu_to_le32(DLM_MSG_REMOVE): - receive_remove(ls, ms); - break; - - /* messages sent from a dir node (remove has no reply) */ - -- case DLM_MSG_LOOKUP_REPLY: -+ case cpu_to_le32(DLM_MSG_LOOKUP_REPLY): - receive_lookup_reply(ls, ms); - break; - - /* other messages */ - -- case DLM_MSG_PURGE: -+ case cpu_to_le32(DLM_MSG_PURGE): - receive_purge(ls, ms); - break; - - default: -- log_error(ls, "unknown message type %d", ms->m_type); -+ log_error(ls, "unknown message type %d", -+ le32_to_cpu(ms->m_type)); - } - - /* -@@ -4968,24 +4977,26 @@ static void _receive_message(struct dlm_ls *ls, struct dlm_message *ms, - - if (error == -ENOENT && noent) { - log_debug(ls, "receive %d no %x remote %d %x saved_seq %u", -- ms->m_type, ms->m_remid, -+ le32_to_cpu(ms->m_type), le32_to_cpu(ms->m_remid), - le32_to_cpu(ms->m_header.h_nodeid), -- ms->m_lkid, saved_seq); -+ le32_to_cpu(ms->m_lkid), saved_seq); - } else if (error == -ENOENT) { - log_error(ls, "receive %d no %x remote %d %x saved_seq %u", -- ms->m_type, ms->m_remid, -+ le32_to_cpu(ms->m_type), le32_to_cpu(ms->m_remid), - le32_to_cpu(ms->m_header.h_nodeid), -- ms->m_lkid, saved_seq); -+ le32_to_cpu(ms->m_lkid), saved_seq); - -- if (ms->m_type == DLM_MSG_CONVERT) -- dlm_dump_rsb_hash(ls, ms->m_hash); -+ if (ms->m_type == cpu_to_le32(DLM_MSG_CONVERT)) -+ dlm_dump_rsb_hash(ls, le32_to_cpu(ms->m_hash)); - } - - if (error == -EINVAL) { - log_error(ls, "receive %d inval from %d lkid %x remid %x " - "saved_seq %u", -- ms->m_type, le32_to_cpu(ms->m_header.h_nodeid), -- ms->m_lkid, ms->m_remid, saved_seq); -+ le32_to_cpu(ms->m_type), -+ le32_to_cpu(ms->m_header.h_nodeid), -+ le32_to_cpu(ms->m_lkid), le32_to_cpu(ms->m_remid), -+ saved_seq); - } - } - -@@ -5006,7 +5017,7 @@ static void dlm_receive_message(struct dlm_ls *ls, struct dlm_message *ms, - lockspace generation before we left. */ - if (!ls->ls_generation) { - log_limit(ls, "receive %d from %d ignore old gen", -- ms->m_type, nodeid); -+ le32_to_cpu(ms->m_type), nodeid); - return; - } - -@@ -5039,8 +5050,7 @@ void dlm_receive_buffer(union dlm_packet *p, int nodeid) - - switch (hd->h_cmd) { - case DLM_MSG: -- dlm_message_in(&p->message); -- type = p->message.m_type; -+ type = le32_to_cpu(p->message.m_type); - break; - case DLM_RCOM: - type = le32_to_cpu(p->rcom.rc_type); -@@ -5090,9 +5100,9 @@ static void recover_convert_waiter(struct dlm_ls *ls, struct dlm_lkb *lkb, - if (middle_conversion(lkb)) { - hold_lkb(lkb); - memset(ms_stub, 0, sizeof(struct dlm_message)); -- ms_stub->m_flags = DLM_IFL_STUB_MS; -- ms_stub->m_type = DLM_MSG_CONVERT_REPLY; -- ms_stub->m_result = -EINPROGRESS; -+ ms_stub->m_flags = cpu_to_le32(DLM_IFL_STUB_MS); -+ ms_stub->m_type = cpu_to_le32(DLM_MSG_CONVERT_REPLY); -+ ms_stub->m_result = cpu_to_le32(to_dlm_errno(-EINPROGRESS)); - ms_stub->m_header.h_nodeid = cpu_to_le32(lkb->lkb_nodeid); - _receive_convert_reply(lkb, ms_stub); - -@@ -5212,9 +5222,9 @@ void dlm_recover_waiters_pre(struct dlm_ls *ls) - case DLM_MSG_UNLOCK: - hold_lkb(lkb); - memset(ms_stub, 0, sizeof(struct dlm_message)); -- ms_stub->m_flags = DLM_IFL_STUB_MS; -- ms_stub->m_type = DLM_MSG_UNLOCK_REPLY; -- ms_stub->m_result = stub_unlock_result; -+ ms_stub->m_flags = cpu_to_le32(DLM_IFL_STUB_MS); -+ ms_stub->m_type = cpu_to_le32(DLM_MSG_UNLOCK_REPLY); -+ ms_stub->m_result = cpu_to_le32(to_dlm_errno(stub_unlock_result)); - ms_stub->m_header.h_nodeid = cpu_to_le32(lkb->lkb_nodeid); - _receive_unlock_reply(lkb, ms_stub); - dlm_put_lkb(lkb); -@@ -5223,9 +5233,9 @@ void dlm_recover_waiters_pre(struct dlm_ls *ls) - case DLM_MSG_CANCEL: - hold_lkb(lkb); - memset(ms_stub, 0, sizeof(struct dlm_message)); -- ms_stub->m_flags = DLM_IFL_STUB_MS; -- ms_stub->m_type = DLM_MSG_CANCEL_REPLY; -- ms_stub->m_result = stub_cancel_result; -+ ms_stub->m_flags = cpu_to_le32(DLM_IFL_STUB_MS); -+ ms_stub->m_type = cpu_to_le32(DLM_MSG_CANCEL_REPLY); -+ ms_stub->m_result = cpu_to_le32(to_dlm_errno(stub_cancel_result)); - ms_stub->m_header.h_nodeid = cpu_to_le32(lkb->lkb_nodeid); - _receive_cancel_reply(lkb, ms_stub); - dlm_put_lkb(lkb); -@@ -6302,8 +6312,8 @@ static int send_purge(struct dlm_ls *ls, int nodeid, int pid) - DLM_MSG_PURGE, &ms, &mh); - if (error) - return error; -- ms->m_nodeid = nodeid; -- ms->m_pid = pid; -+ ms->m_nodeid = cpu_to_le32(nodeid); -+ ms->m_pid = cpu_to_le32(pid); - - return send_message(mh, ms); - } -diff --git a/fs/dlm/requestqueue.c b/fs/dlm/requestqueue.c -index 3692fbd218d5..ad27d2642c82 100644 ---- a/fs/dlm/requestqueue.c -+++ b/fs/dlm/requestqueue.c -@@ -14,6 +14,7 @@ - #include "dir.h" - #include "config.h" - #include "requestqueue.h" -+#include "util.h" - - struct rq_entry { - struct list_head list; -@@ -82,8 +83,10 @@ int dlm_process_requestqueue(struct dlm_ls *ls) - - log_limit(ls, "dlm_process_requestqueue msg %d from %d " - "lkid %x remid %x result %d seq %u", -- ms->m_type, le32_to_cpu(ms->m_header.h_nodeid), -- ms->m_lkid, ms->m_remid, ms->m_result, -+ le32_to_cpu(ms->m_type), -+ le32_to_cpu(ms->m_header.h_nodeid), -+ le32_to_cpu(ms->m_lkid), le32_to_cpu(ms->m_remid), -+ from_dlm_errno(le32_to_cpu(ms->m_result)), - e->recover_seq); - - dlm_receive_message_saved(ls, &e->request, e->recover_seq); -@@ -128,7 +131,7 @@ void dlm_wait_requestqueue(struct dlm_ls *ls) - - static int purge_request(struct dlm_ls *ls, struct dlm_message *ms, int nodeid) - { -- uint32_t type = ms->m_type; -+ __le32 type = ms->m_type; - - /* the ls is being cleaned up and freed by release_lockspace */ - if (!ls->ls_count) -@@ -140,9 +143,9 @@ static int purge_request(struct dlm_ls *ls, struct dlm_message *ms, int nodeid) - /* directory operations are always purged because the directory is - always rebuilt during recovery and the lookups resent */ - -- if (type == DLM_MSG_REMOVE || -- type == DLM_MSG_LOOKUP || -- type == DLM_MSG_LOOKUP_REPLY) -+ if (type == cpu_to_le32(DLM_MSG_REMOVE) || -+ type == cpu_to_le32(DLM_MSG_LOOKUP) || -+ type == cpu_to_le32(DLM_MSG_LOOKUP_REPLY)) - return 1; - - if (!dlm_no_directory(ls)) -diff --git a/fs/dlm/util.c b/fs/dlm/util.c -index 657dbed1bd60..f2bc401f312f 100644 ---- a/fs/dlm/util.c -+++ b/fs/dlm/util.c -@@ -23,7 +23,7 @@ - /* higher errno values are inconsistent across architectures, so select - one set of values for on the wire */ - --static int to_dlm_errno(int err) -+int to_dlm_errno(int err) - { - switch (err) { - case -EDEADLK: -@@ -44,7 +44,7 @@ static int to_dlm_errno(int err) - return err; - } - --static int from_dlm_errno(int err) -+int from_dlm_errno(int err) - { - switch (err) { - case -DLM_ERRNO_EDEADLK: -@@ -64,47 +64,3 @@ static int from_dlm_errno(int err) - } - return err; - } -- --void dlm_message_out(struct dlm_message *ms) --{ -- ms->m_type = cpu_to_le32(ms->m_type); -- ms->m_nodeid = cpu_to_le32(ms->m_nodeid); -- ms->m_pid = cpu_to_le32(ms->m_pid); -- ms->m_lkid = cpu_to_le32(ms->m_lkid); -- ms->m_remid = cpu_to_le32(ms->m_remid); -- ms->m_parent_lkid = cpu_to_le32(ms->m_parent_lkid); -- ms->m_parent_remid = cpu_to_le32(ms->m_parent_remid); -- ms->m_exflags = cpu_to_le32(ms->m_exflags); -- ms->m_sbflags = cpu_to_le32(ms->m_sbflags); -- ms->m_flags = cpu_to_le32(ms->m_flags); -- ms->m_lvbseq = cpu_to_le32(ms->m_lvbseq); -- ms->m_hash = cpu_to_le32(ms->m_hash); -- ms->m_status = cpu_to_le32(ms->m_status); -- ms->m_grmode = cpu_to_le32(ms->m_grmode); -- ms->m_rqmode = cpu_to_le32(ms->m_rqmode); -- ms->m_bastmode = cpu_to_le32(ms->m_bastmode); -- ms->m_asts = cpu_to_le32(ms->m_asts); -- ms->m_result = cpu_to_le32(to_dlm_errno(ms->m_result)); --} -- --void dlm_message_in(struct dlm_message *ms) --{ -- ms->m_type = le32_to_cpu(ms->m_type); -- ms->m_nodeid = le32_to_cpu(ms->m_nodeid); -- ms->m_pid = le32_to_cpu(ms->m_pid); -- ms->m_lkid = le32_to_cpu(ms->m_lkid); -- ms->m_remid = le32_to_cpu(ms->m_remid); -- ms->m_parent_lkid = le32_to_cpu(ms->m_parent_lkid); -- ms->m_parent_remid = le32_to_cpu(ms->m_parent_remid); -- ms->m_exflags = le32_to_cpu(ms->m_exflags); -- ms->m_sbflags = le32_to_cpu(ms->m_sbflags); -- ms->m_flags = le32_to_cpu(ms->m_flags); -- ms->m_lvbseq = le32_to_cpu(ms->m_lvbseq); -- ms->m_hash = le32_to_cpu(ms->m_hash); -- ms->m_status = le32_to_cpu(ms->m_status); -- ms->m_grmode = le32_to_cpu(ms->m_grmode); -- ms->m_rqmode = le32_to_cpu(ms->m_rqmode); -- ms->m_bastmode = le32_to_cpu(ms->m_bastmode); -- ms->m_asts = le32_to_cpu(ms->m_asts); -- ms->m_result = from_dlm_errno(le32_to_cpu(ms->m_result)); --} -diff --git a/fs/dlm/util.h b/fs/dlm/util.h -index cd099c4f5d6a..b6a4b8adca8d 100644 ---- a/fs/dlm/util.h -+++ b/fs/dlm/util.h -@@ -11,8 +11,8 @@ - #ifndef __UTIL_DOT_H__ - #define __UTIL_DOT_H__ - --void dlm_message_out(struct dlm_message *ms); --void dlm_message_in(struct dlm_message *ms); -+int to_dlm_errno(int err); -+int from_dlm_errno(int err); - - #endif - --- -2.35.1 - diff --git a/queue-5.15/dlm-use-__le-types-for-rcom-messages.patch b/queue-5.15/dlm-use-__le-types-for-rcom-messages.patch deleted file mode 100644 index 59c04329971..00000000000 --- a/queue-5.15/dlm-use-__le-types-for-rcom-messages.patch +++ /dev/null @@ -1,436 +0,0 @@ -From b8f2c1902d3baf578d94e7003f691dbcefef4916 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 4 Apr 2022 16:06:40 -0400 -Subject: dlm: use __le types for rcom messages - -From: Alexander Aring - -[ Upstream commit 2f9dbeda8dc04b5b754e032000adf6bab03aa9be ] - -This patch changes to use __le types directly in the dlm rcom -structure which is casted at the right dlm message buffer positions. - -The main goal what is reached here is to remove sparse warnings -regarding to host to little byte order conversion or vice versa. Leaving -those sparse issues ignored and always do it in out/in functionality -tends to leave it unknown in which byte order the variable is being -handled. - -Signed-off-by: Alexander Aring -Signed-off-by: David Teigland -Stable-dep-of: 7175e131ebba ("fs: dlm: fix invalid derefence of sb_lvbptr") -Signed-off-by: Sasha Levin ---- - fs/dlm/dlm_internal.h | 10 +++--- - fs/dlm/lock.c | 3 +- - fs/dlm/member.c | 9 ++--- - fs/dlm/rcom.c | 80 +++++++++++++++++++++---------------------- - fs/dlm/recover.c | 10 +++--- - fs/dlm/util.c | 18 ---------- - fs/dlm/util.h | 2 -- - 7 files changed, 52 insertions(+), 80 deletions(-) - -diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h -index c3cfe4be436a..78704fa31a74 100644 ---- a/fs/dlm/dlm_internal.h -+++ b/fs/dlm/dlm_internal.h -@@ -457,11 +457,11 @@ struct dlm_message { - - struct dlm_rcom { - struct dlm_header rc_header; -- uint32_t rc_type; /* DLM_RCOM_ */ -- int rc_result; /* multi-purpose */ -- uint64_t rc_id; /* match reply with request */ -- uint64_t rc_seq; /* sender's ls_recover_seq */ -- uint64_t rc_seq_reply; /* remote ls_recover_seq */ -+ __le32 rc_type; /* DLM_RCOM_ */ -+ __le32 rc_result; /* multi-purpose */ -+ __le64 rc_id; /* match reply with request */ -+ __le64 rc_seq; /* sender's ls_recover_seq */ -+ __le64 rc_seq_reply; /* remote ls_recover_seq */ - char rc_buf[]; - }; - -diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c -index 859412b7a82c..fea9a7216297 100644 ---- a/fs/dlm/lock.c -+++ b/fs/dlm/lock.c -@@ -5043,8 +5043,7 @@ void dlm_receive_buffer(union dlm_packet *p, int nodeid) - type = p->message.m_type; - break; - case DLM_RCOM: -- dlm_rcom_in(&p->rcom); -- type = p->rcom.rc_type; -+ type = le32_to_cpu(p->rcom.rc_type); - break; - default: - log_print("invalid h_cmd %d from %u", hd->h_cmd, nodeid); -diff --git a/fs/dlm/member.c b/fs/dlm/member.c -index 0dacddc63f55..a6ff21430863 100644 ---- a/fs/dlm/member.c -+++ b/fs/dlm/member.c -@@ -120,18 +120,13 @@ int dlm_slots_copy_in(struct dlm_ls *ls) - - ro0 = (struct rcom_slot *)(rc->rc_buf + sizeof(struct rcom_config)); - -- for (i = 0, ro = ro0; i < num_slots; i++, ro++) { -- ro->ro_nodeid = le32_to_cpu(ro->ro_nodeid); -- ro->ro_slot = le16_to_cpu(ro->ro_slot); -- } -- - log_slots(ls, gen, num_slots, ro0, NULL, 0); - - list_for_each_entry(memb, &ls->ls_nodes, list) { - for (i = 0, ro = ro0; i < num_slots; i++, ro++) { -- if (ro->ro_nodeid != memb->nodeid) -+ if (le32_to_cpu(ro->ro_nodeid) != memb->nodeid) - continue; -- memb->slot = ro->ro_slot; -+ memb->slot = le16_to_cpu(ro->ro_slot); - memb->slot_prev = memb->slot; - break; - } -diff --git a/fs/dlm/rcom.c b/fs/dlm/rcom.c -index b956b7e416c8..125557e18525 100644 ---- a/fs/dlm/rcom.c -+++ b/fs/dlm/rcom.c -@@ -40,10 +40,10 @@ static void _create_rcom(struct dlm_ls *ls, int to_nodeid, int type, int len, - rc->rc_header.h_length = cpu_to_le16(mb_len); - rc->rc_header.h_cmd = DLM_RCOM; - -- rc->rc_type = type; -+ rc->rc_type = cpu_to_le32(type); - - spin_lock(&ls->ls_recover_lock); -- rc->rc_seq = ls->ls_recover_seq; -+ rc->rc_seq = cpu_to_le64(ls->ls_recover_seq); - spin_unlock(&ls->ls_recover_lock); - - *rc_ret = rc; -@@ -91,13 +91,11 @@ static int create_rcom_stateless(struct dlm_ls *ls, int to_nodeid, int type, - - static void send_rcom(struct dlm_mhandle *mh, struct dlm_rcom *rc) - { -- dlm_rcom_out(rc); - dlm_midcomms_commit_mhandle(mh); - } - - static void send_rcom_stateless(struct dlm_msg *msg, struct dlm_rcom *rc) - { -- dlm_rcom_out(rc); - dlm_lowcomms_commit_msg(msg); - dlm_lowcomms_put_msg(msg); - } -@@ -145,10 +143,10 @@ static int check_rcom_config(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) - return 0; - } - --static void allow_sync_reply(struct dlm_ls *ls, uint64_t *new_seq) -+static void allow_sync_reply(struct dlm_ls *ls, __le64 *new_seq) - { - spin_lock(&ls->ls_rcom_spin); -- *new_seq = ++ls->ls_rcom_seq; -+ *new_seq = cpu_to_le64(++ls->ls_rcom_seq); - set_bit(LSFL_RCOM_WAIT, &ls->ls_flags); - spin_unlock(&ls->ls_rcom_spin); - } -@@ -182,7 +180,7 @@ int dlm_rcom_status(struct dlm_ls *ls, int nodeid, uint32_t status_flags) - - if (nodeid == dlm_our_nodeid()) { - rc = ls->ls_recover_buf; -- rc->rc_result = dlm_recover_status(ls); -+ rc->rc_result = cpu_to_le32(dlm_recover_status(ls)); - goto out; - } - -@@ -208,7 +206,7 @@ int dlm_rcom_status(struct dlm_ls *ls, int nodeid, uint32_t status_flags) - - rc = ls->ls_recover_buf; - -- if (rc->rc_result == -ESRCH) { -+ if (rc->rc_result == cpu_to_le32(-ESRCH)) { - /* we pretend the remote lockspace exists with 0 status */ - log_debug(ls, "remote node %d not ready", nodeid); - rc->rc_result = 0; -@@ -259,7 +257,7 @@ static void receive_rcom_status(struct dlm_ls *ls, struct dlm_rcom *rc_in) - - rc->rc_id = rc_in->rc_id; - rc->rc_seq_reply = rc_in->rc_seq; -- rc->rc_result = status; -+ rc->rc_result = cpu_to_le32(status); - - set_rcom_config(ls, (struct rcom_config *)rc->rc_buf, num_slots); - -@@ -287,11 +285,11 @@ static void receive_sync_reply(struct dlm_ls *ls, struct dlm_rcom *rc_in) - { - spin_lock(&ls->ls_rcom_spin); - if (!test_bit(LSFL_RCOM_WAIT, &ls->ls_flags) || -- rc_in->rc_id != ls->ls_rcom_seq) { -+ le64_to_cpu(rc_in->rc_id) != ls->ls_rcom_seq) { - log_debug(ls, "reject reply %d from %d seq %llx expect %llx", -- rc_in->rc_type, -+ le32_to_cpu(rc_in->rc_type), - le32_to_cpu(rc_in->rc_header.h_nodeid), -- (unsigned long long)rc_in->rc_id, -+ (unsigned long long)le64_to_cpu(rc_in->rc_id), - (unsigned long long)ls->ls_rcom_seq); - goto out; - } -@@ -367,7 +365,7 @@ int dlm_send_rcom_lookup(struct dlm_rsb *r, int dir_nodeid) - if (error) - goto out; - memcpy(rc->rc_buf, r->res_name, r->res_length); -- rc->rc_id = (unsigned long) r->res_id; -+ rc->rc_id = cpu_to_le64(r->res_id); - - send_rcom(mh, rc); - out: -@@ -383,7 +381,7 @@ static void receive_rcom_lookup(struct dlm_ls *ls, struct dlm_rcom *rc_in) - sizeof(struct dlm_rcom); - - /* Old code would send this special id to trigger a debug dump. */ -- if (rc_in->rc_id == 0xFFFFFFFF) { -+ if (rc_in->rc_id == cpu_to_le64(0xFFFFFFFF)) { - log_error(ls, "receive_rcom_lookup dump from %d", nodeid); - dlm_dump_rsb_name(ls, rc_in->rc_buf, len); - return; -@@ -397,7 +395,7 @@ static void receive_rcom_lookup(struct dlm_ls *ls, struct dlm_rcom *rc_in) - DLM_LU_RECOVER_MASTER, &ret_nodeid, NULL); - if (error) - ret_nodeid = error; -- rc->rc_result = ret_nodeid; -+ rc->rc_result = cpu_to_le32(ret_nodeid); - rc->rc_id = rc_in->rc_id; - rc->rc_seq_reply = rc_in->rc_seq; - -@@ -456,7 +454,7 @@ int dlm_send_rcom_lock(struct dlm_rsb *r, struct dlm_lkb *lkb) - - rl = (struct rcom_lock *) rc->rc_buf; - pack_rcom_lock(r, lkb, rl); -- rc->rc_id = (unsigned long) r; -+ rc->rc_id = cpu_to_le64(r); - - send_rcom(mh, rc); - out: -@@ -510,15 +508,14 @@ int dlm_send_ls_not_ready(int nodeid, struct dlm_rcom *rc_in) - rc->rc_header.h_length = cpu_to_le16(mb_len); - rc->rc_header.h_cmd = DLM_RCOM; - -- rc->rc_type = DLM_RCOM_STATUS_REPLY; -+ rc->rc_type = cpu_to_le32(DLM_RCOM_STATUS_REPLY); - rc->rc_id = rc_in->rc_id; - rc->rc_seq_reply = rc_in->rc_seq; -- rc->rc_result = -ESRCH; -+ rc->rc_result = cpu_to_le32(-ESRCH); - - rf = (struct rcom_config *) rc->rc_buf; - rf->rf_lvblen = cpu_to_le32(~0U); - -- dlm_rcom_out(rc); - dlm_midcomms_commit_mhandle(mh); - - return 0; -@@ -577,27 +574,27 @@ void dlm_receive_rcom(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) - uint64_t seq; - - switch (rc->rc_type) { -- case DLM_RCOM_STATUS_REPLY: -+ case cpu_to_le32(DLM_RCOM_STATUS_REPLY): - reply = 1; - break; -- case DLM_RCOM_NAMES: -+ case cpu_to_le32(DLM_RCOM_NAMES): - names = 1; - break; -- case DLM_RCOM_NAMES_REPLY: -+ case cpu_to_le32(DLM_RCOM_NAMES_REPLY): - names = 1; - reply = 1; - break; -- case DLM_RCOM_LOOKUP: -+ case cpu_to_le32(DLM_RCOM_LOOKUP): - lookup = 1; - break; -- case DLM_RCOM_LOOKUP_REPLY: -+ case cpu_to_le32(DLM_RCOM_LOOKUP_REPLY): - lookup = 1; - reply = 1; - break; -- case DLM_RCOM_LOCK: -+ case cpu_to_le32(DLM_RCOM_LOCK): - lock = 1; - break; -- case DLM_RCOM_LOCK_REPLY: -+ case cpu_to_le32(DLM_RCOM_LOCK_REPLY): - lock = 1; - reply = 1; - break; -@@ -609,10 +606,10 @@ void dlm_receive_rcom(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) - seq = ls->ls_recover_seq; - spin_unlock(&ls->ls_recover_lock); - -- if (stop && (rc->rc_type != DLM_RCOM_STATUS)) -+ if (stop && (rc->rc_type != cpu_to_le32(DLM_RCOM_STATUS))) - goto ignore; - -- if (reply && (rc->rc_seq_reply != seq)) -+ if (reply && (le64_to_cpu(rc->rc_seq_reply) != seq)) - goto ignore; - - if (!(status & DLM_RS_NODES) && (names || lookup || lock)) -@@ -622,59 +619,60 @@ void dlm_receive_rcom(struct dlm_ls *ls, struct dlm_rcom *rc, int nodeid) - goto ignore; - - switch (rc->rc_type) { -- case DLM_RCOM_STATUS: -+ case cpu_to_le32(DLM_RCOM_STATUS): - receive_rcom_status(ls, rc); - break; - -- case DLM_RCOM_NAMES: -+ case cpu_to_le32(DLM_RCOM_NAMES): - receive_rcom_names(ls, rc); - break; - -- case DLM_RCOM_LOOKUP: -+ case cpu_to_le32(DLM_RCOM_LOOKUP): - receive_rcom_lookup(ls, rc); - break; - -- case DLM_RCOM_LOCK: -+ case cpu_to_le32(DLM_RCOM_LOCK): - if (le16_to_cpu(rc->rc_header.h_length) < lock_size) - goto Eshort; - receive_rcom_lock(ls, rc); - break; - -- case DLM_RCOM_STATUS_REPLY: -+ case cpu_to_le32(DLM_RCOM_STATUS_REPLY): - receive_sync_reply(ls, rc); - break; - -- case DLM_RCOM_NAMES_REPLY: -+ case cpu_to_le32(DLM_RCOM_NAMES_REPLY): - receive_sync_reply(ls, rc); - break; - -- case DLM_RCOM_LOOKUP_REPLY: -+ case cpu_to_le32(DLM_RCOM_LOOKUP_REPLY): - receive_rcom_lookup_reply(ls, rc); - break; - -- case DLM_RCOM_LOCK_REPLY: -+ case cpu_to_le32(DLM_RCOM_LOCK_REPLY): - if (le16_to_cpu(rc->rc_header.h_length) < lock_size) - goto Eshort; - dlm_recover_process_copy(ls, rc); - break; - - default: -- log_error(ls, "receive_rcom bad type %d", rc->rc_type); -+ log_error(ls, "receive_rcom bad type %d", -+ le32_to_cpu(rc->rc_type)); - } - return; - - ignore: - log_limit(ls, "dlm_receive_rcom ignore msg %d " - "from %d %llu %llu recover seq %llu sts %x gen %u", -- rc->rc_type, -+ le32_to_cpu(rc->rc_type), - nodeid, -- (unsigned long long)rc->rc_seq, -- (unsigned long long)rc->rc_seq_reply, -+ (unsigned long long)le64_to_cpu(rc->rc_seq), -+ (unsigned long long)le64_to_cpu(rc->rc_seq_reply), - (unsigned long long)seq, - status, ls->ls_generation); - return; - Eshort: - log_error(ls, "recovery message %d from %d is too short", -- rc->rc_type, nodeid); -+ le32_to_cpu(rc->rc_type), nodeid); - } - -diff --git a/fs/dlm/recover.c b/fs/dlm/recover.c -index 8928e99dfd47..dfd504bf1ecf 100644 ---- a/fs/dlm/recover.c -+++ b/fs/dlm/recover.c -@@ -114,7 +114,7 @@ static int wait_status_all(struct dlm_ls *ls, uint32_t wait_status, - if (save_slots) - dlm_slot_save(ls, rc, memb); - -- if (rc->rc_result & wait_status) -+ if (le32_to_cpu(rc->rc_result) & wait_status) - break; - if (delay < 1000) - delay += 20; -@@ -141,7 +141,7 @@ static int wait_status_low(struct dlm_ls *ls, uint32_t wait_status, - if (error) - break; - -- if (rc->rc_result & wait_status) -+ if (le32_to_cpu(rc->rc_result) & wait_status) - break; - if (delay < 1000) - delay += 20; -@@ -568,14 +568,14 @@ int dlm_recover_master_reply(struct dlm_ls *ls, struct dlm_rcom *rc) - struct dlm_rsb *r; - int ret_nodeid, new_master; - -- r = recover_idr_find(ls, rc->rc_id); -+ r = recover_idr_find(ls, le64_to_cpu(rc->rc_id)); - if (!r) { - log_error(ls, "dlm_recover_master_reply no id %llx", -- (unsigned long long)rc->rc_id); -+ (unsigned long long)le64_to_cpu(rc->rc_id)); - goto out; - } - -- ret_nodeid = rc->rc_result; -+ ret_nodeid = le32_to_cpu(rc->rc_result); - - if (ret_nodeid == dlm_our_nodeid()) - new_master = 0; -diff --git a/fs/dlm/util.c b/fs/dlm/util.c -index 66b9a123768d..657dbed1bd60 100644 ---- a/fs/dlm/util.c -+++ b/fs/dlm/util.c -@@ -108,21 +108,3 @@ void dlm_message_in(struct dlm_message *ms) - ms->m_asts = le32_to_cpu(ms->m_asts); - ms->m_result = from_dlm_errno(le32_to_cpu(ms->m_result)); - } -- --void dlm_rcom_out(struct dlm_rcom *rc) --{ -- rc->rc_type = cpu_to_le32(rc->rc_type); -- rc->rc_result = cpu_to_le32(rc->rc_result); -- rc->rc_id = cpu_to_le64(rc->rc_id); -- rc->rc_seq = cpu_to_le64(rc->rc_seq); -- rc->rc_seq_reply = cpu_to_le64(rc->rc_seq_reply); --} -- --void dlm_rcom_in(struct dlm_rcom *rc) --{ -- rc->rc_type = le32_to_cpu(rc->rc_type); -- rc->rc_result = le32_to_cpu(rc->rc_result); -- rc->rc_id = le64_to_cpu(rc->rc_id); -- rc->rc_seq = le64_to_cpu(rc->rc_seq); -- rc->rc_seq_reply = le64_to_cpu(rc->rc_seq_reply); --} -diff --git a/fs/dlm/util.h b/fs/dlm/util.h -index cc719ca9397e..cd099c4f5d6a 100644 ---- a/fs/dlm/util.h -+++ b/fs/dlm/util.h -@@ -13,8 +13,6 @@ - - void dlm_message_out(struct dlm_message *ms); - void dlm_message_in(struct dlm_message *ms); --void dlm_rcom_out(struct dlm_rcom *rc); --void dlm_rcom_in(struct dlm_rcom *rc); - - #endif - --- -2.35.1 - diff --git a/queue-5.15/fs-dlm-fix-invalid-derefence-of-sb_lvbptr.patch b/queue-5.15/fs-dlm-fix-invalid-derefence-of-sb_lvbptr.patch index c5e37e9c82b..08b47b26a3d 100644 --- a/queue-5.15/fs-dlm-fix-invalid-derefence-of-sb_lvbptr.patch +++ b/queue-5.15/fs-dlm-fix-invalid-derefence-of-sb_lvbptr.patch @@ -70,22 +70,17 @@ Signed-off-by: Alexander Aring Signed-off-by: David Teigland Signed-off-by: Sasha Levin --- - fs/dlm/lock.c | 2 +- + fs/dlm/lock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c -index a6a5fbe36ca9..1ce6d988146f 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c -@@ -3631,7 +3631,7 @@ static void send_args(struct dlm_rsb *r, struct dlm_lkb *lkb, - case cpu_to_le32(DLM_MSG_REQUEST_REPLY): - case cpu_to_le32(DLM_MSG_CONVERT_REPLY): - case cpu_to_le32(DLM_MSG_GRANT): +@@ -3632,7 +3632,7 @@ static void send_args(struct dlm_rsb *r, + case DLM_MSG_REQUEST_REPLY: + case DLM_MSG_CONVERT_REPLY: + case DLM_MSG_GRANT: - if (!lkb->lkb_lvbptr) + if (!lkb->lkb_lvbptr || !(lkb->lkb_exflags & DLM_LKF_VALBLK)) break; memcpy(ms->m_extra, lkb->lkb_lvbptr, r->res_ls->ls_lvblen); break; --- -2.35.1 - diff --git a/queue-5.15/series b/queue-5.15/series index 41782fc77d6..979300f2d27 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -65,9 +65,6 @@ net-sched-fix-race-condition-in-qdisc_graft.patch net-phy-dp83822-disable-mdi-crossover-status-change-.patch iommu-vt-d-allow-nvs-regions-in-arch_rmrr_sanity_che.patch iommu-vt-d-clean-up-si_domain-in-the-init_dmars-erro.patch -dlm-use-__le-types-for-dlm-header.patch -dlm-use-__le-types-for-rcom-messages.patch -dlm-use-__le-types-for-dlm-messages.patch fs-dlm-fix-invalid-derefence-of-sb_lvbptr.patch scsi-lpfc-adjust-bytes-received-vales-during-cmf-tim.patch scsi-lpfc-adjust-cmf-total-bytes-and-rxmonitor.patch