摘要:
In the Linux kernel, the following vulnerability has been resolved:nfp: Fix memory leak in nfp_cpp_area_cache_add()In line 800 (#1), nfp_cpp_area_alloc() allocates and initializes aCPP area structure. But in line 807 (#2), when the cache is allocatedfailed, this CPP area structure is not freed, which will result inmemory leak.We can fix it by freeing the CPP area when the cache is allocatedfailed (#2).792 int nfp_cpp_area_cache_add(struct nfp_cpp *cpp, size_t size)793 {794 struct nfp_cpp_area_cache *cache;795 struct nfp_cpp_area *area;800 area = nfp_cpp_area_alloc(cpp, NFP_CPP_ID(7, NFP_CPP_ACTION_RW, 0),801 0, size); // #1: allocates and initializes802 if (!area)803 return -ENOMEM;805 cache = kzalloc(sizeof(*cache), GFP_KERNEL);806 if (!cache)807 return -ENOMEM; // #2: missing free817 return 0;818 }
安全等级: Low
公告ID: KylinSec-SA-2024-2720
发布日期: 2024年6月13日
关联CVE: CVE-2021-47516
In the Linux kernel, the following vulnerability has been resolved:nfp: Fix memory leak in nfp_cpp_area_cache_add()In line 800 (#1), nfp_cpp_area_alloc() allocates and initializes aCPP area structure. But in line 807 (#2), when the cache is allocatedfailed, this CPP area structure is not freed, which will result inmemory leak.We can fix it by freeing the CPP area when the cache is allocatedfailed (#2).792 int nfp_cpp_area_cache_add(struct nfp_cpp *cpp, size_t size)793 {794 struct nfp_cpp_area_cache *cache;795 struct nfp_cpp_area *area;800 area = nfp_cpp_area_alloc(cpp, NFP_CPP_ID(7, NFP_CPP_ACTION_RW, 0),801 0, size); // #1: allocates and initializes802 if (!area)803 return -ENOMEM;805 cache = kzalloc(sizeof(*cache), GFP_KERNEL);806 if (!cache)807 return -ENOMEM; // #2: missing free817 return 0;818 }
cve名称 | 产品 | 组件 | 是否受影响 |
---|---|---|---|
CVE-2021-47516 | V6 | kernel | Unaffected |