瀏覽代碼

btf: fix sanitization if BTF_FUNC_GLOBAL is not supported

The lower 16 bits were not actually being cleared.
Alessandro Decina 3 年之前
父節點
當前提交
7ad0524283
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      aya/src/obj/btf/btf.rs

+ 2 - 1
aya/src/obj/btf/btf.rs

@@ -596,7 +596,8 @@ impl Btf {
                             "{}: BTF_FUNC_GLOBAL not supported. replacing with BTF_FUNC_STATIC",
                             kind
                         );
-                        ty.info |= (btf_func_linkage::BTF_FUNC_STATIC as u32) & 0xFFFF;
+                        ty.info = (ty.info & 0xFFFF0000)
+                            | (btf_func_linkage::BTF_FUNC_STATIC as u32) & 0xFFFF;
                         btf.add_type(BtfType::Func(ty));
                     } else {
                         btf.add_type(BtfType::Func(ty));