Browse Source

fix(opencl/extern_c_opr): fix cl_mem UAF issue 2/2

GitOrigin-RevId: ef79af3c6a
dev-support-lite-fork-debug-mode
Megvii Engine Team 2 years ago
parent
commit
ab34bac4fc
2 changed files with 2 additions and 4 deletions
  1. +2
    -1
      src/serialization/impl/extern_c_opr.cpp
  2. +0
    -3
      src/serialization/include/megbrain/serialization/extern_c_opr_io.h

+ 2
- 1
src/serialization/impl/extern_c_opr.cpp View File

@@ -381,6 +381,7 @@ void ExternCOprRunner::check_param() {

void ExternCOprRunner::scn_do_execute() {
SmallVector<MGBTensor> c_inp(input().size()), c_out(output().size());
SmallVector<HostTensorND> cpu_inp, cpu_out;
check_param();

bool need_copy = false;
@@ -417,7 +418,7 @@ void ExternCOprRunner::scn_do_execute() {
m_desc->execute(m_desc.get(), c_inp.data(), c_out.data());

for (size_t i = 0; i < output().size(); ++i)
output(i)->dev_tensor().copy_from_fixlayout(cpu_out[i]);
output(i)->dev_tensor().copy_from_fixlayout(cpu_out[i]).sync();
} else {
CompNodeEnv::from_comp_node(comp_node())
.cpu_env()


+ 0
- 3
src/serialization/include/megbrain/serialization/extern_c_opr_io.h View File

@@ -16,9 +16,6 @@ MGB_DEFINE_OPR_CLASS_WITH_EXPORT(
//! store dynamic store param
std::shared_ptr<ExternCOprParam> m_param;

//! HostTensorND holder for scn_do_execute
SmallVector<HostTensorND> cpu_inp, cpu_out;

void get_output_var_shape(
const TensorShapeArray& inp_shape,
TensorShapeArray& out_shape) const override;


Loading…
Cancel
Save