From da5b53e5749b78ed607afbaa34bbe882790a4fcb Mon Sep 17 00:00:00 2001 From: Luwei Zhou Date: Tue, 6 Dec 2022 19:48:28 +0800 Subject: [PATCH] [CPU] Fix Deformable Convolution invalid read issue (#14326) * Fix MACOS compiling issue when enabling CPU_DEBUG_CAPS. * Fix Deformable Convolution segment fault caused by invalid access offset index. --- src/plugins/intel_cpu/src/nodes/def_conv.cpp | 8 ++++---- .../intel_cpu/src/utils/debug_capabilities.h | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/plugins/intel_cpu/src/nodes/def_conv.cpp b/src/plugins/intel_cpu/src/nodes/def_conv.cpp index ce873843bf1..bd7523126ec 100644 --- a/src/plugins/intel_cpu/src/nodes/def_conv.cpp +++ b/src/plugins/intel_cpu/src/nodes/def_conv.cpp @@ -342,10 +342,10 @@ private: size_t ind_off_lh = ind_off_hl + 1; size_t ind_off_ll = ind_off_lh + 1; - uni_vmovq(xmm_v1_off, qword[aux_reg_sampled_offs + ind_off_ll * jcp_.typesize_sampled_offsets]); - uni_vmovq(xmm_v2_off, qword[aux_reg_sampled_offs + ind_off_hl * jcp_.typesize_sampled_offsets]); - uni_vmovq(xmm_v3_off, qword[aux_reg_sampled_offs + ind_off_lh * jcp_.typesize_sampled_offsets]); - uni_vmovq(xmm_v4_off, qword[aux_reg_sampled_offs + ind_off_hh * jcp_.typesize_sampled_offsets]); + uni_vmovd(xmm_v1_off, dword[aux_reg_sampled_offs + ind_off_ll * jcp_.typesize_sampled_offsets]); + uni_vmovd(xmm_v2_off, dword[aux_reg_sampled_offs + ind_off_hl * jcp_.typesize_sampled_offsets]); + uni_vmovd(xmm_v3_off, dword[aux_reg_sampled_offs + ind_off_lh * jcp_.typesize_sampled_offsets]); + uni_vmovd(xmm_v4_off, dword[aux_reg_sampled_offs + ind_off_hh * jcp_.typesize_sampled_offsets]); // w's computation uni_vbroadcastss(vmm_w1, dword[aux_reg_sampled_wei + ind_off_ll * jcp_.typesize_sampled_wei]); diff --git a/src/plugins/intel_cpu/src/utils/debug_capabilities.h b/src/plugins/intel_cpu/src/utils/debug_capabilities.h index 1ceab277cb4..ac0155bb8fd 100644 --- a/src/plugins/intel_cpu/src/utils/debug_capabilities.h +++ b/src/plugins/intel_cpu/src/utils/debug_capabilities.h @@ -43,14 +43,6 @@ public: void break_at(const std::string & log); }; -static inline std::ostream& write_all_to_stream(std::ostream& os) { - return os; -} -template -static inline std::ostream& write_all_to_stream(std::ostream& os, const T& arg, TS&&... args) { - return ov::intel_cpu::write_all_to_stream(os << arg, std::forward(args)...); -} - class NodeDesc; class MemoryDesc; class Node; @@ -125,6 +117,14 @@ std::ostream & operator<<(std::ostream & os, const PrintableVector& vec) { return os; } +static inline std::ostream& write_all_to_stream(std::ostream& os) { + return os; +} +template +static inline std::ostream& write_all_to_stream(std::ostream& os, const T& arg, TS&&... args) { + return ov::intel_cpu::write_all_to_stream(os << arg, std::forward(args)...); +} + } // namespace intel_cpu } // namespace ov