/linux/Documentation/translations/zh_CN/core-api/ |
H A D | memory-allocation.rst | 19 Linux为内存分配提供了多种API。你可以使用 `kmalloc` 或 `kmem_cache_alloc` 114 可以用 `kmalloc` 分配的块的最大尺寸是有限的。实际的限制取决于硬件和内核配置,但是对于 115 小于页面大小的对象,使用 `kmalloc` 是一个好的做法。 117 用 `kmalloc` 分配的块的地址至少要对齐到ARCH_KMALLOC_MINALIGN字节。对于2的幂的大小, 126 如果你不确定分配的大小对 `kmalloc` 来说是否太大,可以使用kvmalloc()及其派生函数。它将尝 136 当分配的内存不再需要时,它必须被释放。你可以使用kvfree()来处理用 `kmalloc` 、 `vmalloc`
|
/linux/drivers/misc/lkdtm/ |
H A D | heap.c | 46 * This tries to stay within the next largest power-of-2 kmalloc cache 56 u32 *data = kmalloc(len, GFP_KERNEL); in lkdtm_SLAB_LINEAR_OVERFLOW() 77 base = kmalloc(len, GFP_KERNEL); in lkdtm_WRITE_AFTER_FREE() 86 again = kmalloc(len, GFP_KERNEL); in lkdtm_WRITE_AFTER_FREE() 104 base = kmalloc(len, GFP_KERNEL); in lkdtm_READ_AFTER_FREE() 110 val = kmalloc(len, GFP_KERNEL); in lkdtm_READ_AFTER_FREE() 161 base = kmalloc(len, GFP_KERNEL); in lkdtm_KFENCE_READ_AFTER_FREE() 225 val = kmalloc(1024, GFP_KERNEL); in lkdtm_READ_BUDDY_AFTER_FREE() 256 first = kmalloc(512, GFP_KERNEL); in lkdtm_SLAB_INIT_ON_ALLOC() 265 val = kmalloc(51 in lkdtm_SLAB_INIT_ON_ALLOC() [all...] |
/linux/mm/kasan/ |
H A D | kasan_test_c.c | 168 ptr = kmalloc(size, GFP_KERNEL); in kmalloc_oob_right() 173 * An unaligned access past the requested kmalloc size. in kmalloc_oob_right() 181 * within the aligned kmalloc object. in kmalloc_oob_right() 185 /* Out-of-bounds access past the aligned kmalloc object. */ in kmalloc_oob_right() 197 ptr = kmalloc(size, GFP_KERNEL); in kmalloc_oob_left() 250 * via kmalloc(). But not as big as to trigger the page_alloc fallback. 257 ptr = kmalloc(size, GFP_KERNEL); in kmalloc_big_oob_right() 266 * The kmalloc_large_* tests below use kmalloc() to allocate a memory chunk 276 ptr = kmalloc(size, GFP_KERNEL); in kmalloc_large_oob_right() 290 ptr = kmalloc(siz in kmalloc_large_uaf() [all...] |
/linux/tools/testing/selftests/ftrace/test.d/trigger/ |
H A D | trigger-hist.tc | 44 echo 'hist:keys=call_site.sym' > events/kmem/kmalloc/trigger 46 grep '{ call_site: \[[0-9a-f][0-9a-f]*\] [_a-zA-Z][_a-zA-Z]* *}' events/kmem/kmalloc/hist > /dev/null || \ 47 fail "sym modifier on kmalloc call_site did not work" 53 echo 'hist:keys=call_site.sym-offset' > events/kmem/kmalloc/trigger 55 grep '{ call_site: \[[0-9a-f][0-9a-f]*\] [_a-zA-Z][_a-zA-Z]*+0x[0-9a-f][0-9a-f]*' events/kmem/kmalloc/hist > /dev/null || \ 56 fail "sym-offset modifier on kmalloc call_site did not work"
|
H A D | trigger-hist-mod.tc | 45 echo 'hist:keys=bytes_req.log2' > events/kmem/kmalloc/trigger 47 grep 'bytes_req: ~ 2^[0-9]*' events/kmem/kmalloc/hist > /dev/null || \ 48 fail "log2 modifier on kmem/kmalloc did not work"
|
/linux/scripts/coccinelle/api/alloc/ |
H A D | alloc_cast.cocci | 3 /// like kmalloc, kzalloc, kmem_cache_alloc, kmem_cache_zalloc etc. 6 //# kmalloc, kzalloc, kcalloc, kmem_cache_alloc, kmem_cache_zalloc, 34 \(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\| 57 \(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\| 80 \(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\| 97 \(kmalloc\|kzalloc\|kcalloc\|kmem_cache_alloc\|kmem_cache_zalloc\|
|
/linux/scripts/coccinelle/api/ |
H A D | kvmalloc.cocci | 3 /// Find if/else condition with kmalloc/vmalloc calls. 35 * E = \(kmalloc\|kzalloc\|kcalloc\|kmalloc_node\|kzalloc_node\| 45 * E = \(kmalloc\|kzalloc\|kcalloc\|kmalloc_node\|kzalloc_node\| 57 * T x = \(kmalloc\|kzalloc\|kcalloc\|kmalloc_node\|kzalloc_node\| 95 - E = kmalloc(size, flags); 101 - E = kmalloc(size, \(GFP_KERNEL\|GFP_KERNEL|__GFP_NOWARN\)); 106 - E = kmalloc(size, flags | __GFP_NOWARN); 111 - E = kmalloc(size, \(GFP_KERNEL\|GFP_KERNEL|__GFP_NOWARN\)); 116 - T x = kmalloc(size, flags | __GFP_NOWARN); 121 - T x = kmalloc(siz [all...] |
H A D | memdup.cocci | 23 to = \(kmalloc@p\|kzalloc@p\)(strlen(from) + 1,flag); 33 to = \(kmalloc@p\|kzalloc@p\)(x,flag); 41 - to = \(kmalloc@p\|kzalloc@p\)(size,flag); 52 * to = \(kmalloc@p\|kzalloc@p\)(size,flag);
|
H A D | kfree_mismatch.cocci | 25 E = \(kmalloc\|kzalloc\|krealloc\|kcalloc\| 38 E = \(kmalloc\|kzalloc\|krealloc\|kcalloc\|kmalloc_node\|kzalloc_node\| 68 * E = \(kmalloc\|kzalloc\|krealloc\|kcalloc\|kmalloc_node\| 82 E = \(kmalloc\|kzalloc\|krealloc\|kcalloc\|kmalloc_node\| 169 msg = "WARNING kmalloc is used to allocate this memory at line %s" % (a[0].line) 177 msg = "WARNING kmalloc is used to allocate this memory at line %s" % (a[0].line) 218 msg = "WARNING kmalloc (line %s) && vmalloc (line %s) are used to allocate this memory" % (ka[0].line, va[0].line) 227 msg = "WARNING kmalloc (line %s) && vmalloc (line %s) are used to allocate this memory" % (ka[0].line, va[0].line)
|
H A D | kstrdup.cocci | 23 - to = kmalloc(strlen(from) + 1,flag); 38 - to = \(kmalloc\|kzalloc\)(x,flag); 54 * to = kmalloc@p1(strlen(from) + 1,flag); 69 * to = \(kmalloc@p1\|kzalloc@p1\)(x,flag);
|
/linux/tools/include/linux/ |
H A D | slab.h | 11 #define kzalloc_node(size, flags, node) kmalloc(size, flags) 13 void *kmalloc(size_t size, gfp_t gfp); 28 return kmalloc(size, gfp | __GFP_ZERO); in kzalloc()
|
/linux/drivers/usb/misc/ |
H A D | cytherm.c | 84 buffer = kmalloc(8, GFP_KERNEL); in brightness_store() 127 buffer = kmalloc(8, GFP_KERNEL); in temp_show() 162 buffer = kmalloc(8, GFP_KERNEL); in button_show() 191 buffer = kmalloc(8, GFP_KERNEL); in port0_show() 216 buffer = kmalloc(8, GFP_KERNEL); in port0_store() 246 buffer = kmalloc(8, GFP_KERNEL); in port1_show() 271 buffer = kmalloc(8, GFP_KERNEL); in port1_store()
|
/linux/tools/virtio/linux/ |
H A D | kernel.h | 56 static inline void *kmalloc(size_t s, gfp_t gfp) in kmalloc() function 64 return kmalloc(n * s, gfp); in kmalloc_array() 69 void *p = kmalloc(s, gfp); in kzalloc() 77 return kmalloc(s, gfp); in alloc_pages_exact()
|
/linux/scripts/coccinelle/null/ |
H A D | kmerr.cocci | 2 /// This semantic patch looks for kmalloc etc that are not followed by a 5 /// in determining what the error handling code for the call to kmalloc etc 38 *x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); 54 x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
|
/linux/net/bluetooth/ |
H A D | ecdh_helper.c | 53 tmp = kmalloc(64, GFP_KERNEL); in compute_ecdh_secret() 109 tmp = kmalloc(32, GFP_KERNEL); in set_ecdh_privkey() 118 buf = kmalloc(buf_len, GFP_KERNEL); in set_ecdh_privkey() 153 tmp = kmalloc(64, GFP_KERNEL); in generate_ecdh_public_key()
|
/linux/drivers/acpi/ |
H A D | processor_pdc.c | 35 obj_list = kmalloc(sizeof(struct acpi_object_list), GFP_KERNEL); in acpi_processor_alloc_pdc() 39 obj = kmalloc(sizeof(union acpi_object), GFP_KERNEL); in acpi_processor_alloc_pdc() 45 buf = kmalloc(12, GFP_KERNEL); in acpi_processor_alloc_pdc()
|
/linux/fs/cachefiles/ |
H A D | key.c | 58 name = kmalloc(len + 1, GFP_KERNEL); in cachefiles_cook_key() 87 name = kmalloc(nlen, GFP_KERNEL); in cachefiles_cook_key() 107 name = kmalloc(b64len + 1, GFP_KERNEL); in cachefiles_cook_key()
|
/linux/drivers/xen/ |
H A D | sys-hypervisor.c | 107 extra = kmalloc(XEN_EXTRAVERSION_LEN, GFP_KERNEL); in extra_show() 185 info = kmalloc(sizeof(struct xen_compile_info), GFP_KERNEL); in compiler_show() 203 info = kmalloc(sizeof(struct xen_compile_info), GFP_KERNEL); in compiled_by_show() 221 info = kmalloc(sizeof(struct xen_compile_info), GFP_KERNEL); in compile_date_show() 258 caps = kmalloc(XEN_CAPABILITIES_INFO_LEN, GFP_KERNEL); in capabilities_show() 276 cset = kmalloc(XEN_CHANGESET_INFO_LEN, GFP_KERNEL); in changeset_show() 294 parms = kmalloc(sizeof(struct xen_platform_parameters), GFP_KERNEL); in virtual_start_show() 370 buildid = kmalloc(sizeof(*buildid) + ret, GFP_KERNEL); in buildid_show()
|
/linux/lib/zlib_inflate/ |
H A D | infutil.c | 17 strm = kmalloc(sizeof(*strm), GFP_KERNEL); in zlib_inflate_blob() 20 strm->workspace = kmalloc(zlib_inflate_workspacesize(), GFP_KERNEL); in zlib_inflate_blob()
|
/linux/tools/virtio/ringtest/ |
H A D | ptr_ring.c | 27 static void *kmalloc(unsigned size, gfp_t gfp) in kmalloc() function 40 return kmalloc(size, flags | __GFP_ZERO); in kzalloc() 47 return kmalloc(n * size, flags); in kmalloc_array()
|
/linux/fs/squashfs/ |
H A D | page_actor.c | 46 struct squashfs_page_actor *actor = kmalloc(sizeof(*actor), GFP_KERNEL); in squashfs_page_actor_init() 113 struct squashfs_page_actor *actor = kmalloc(sizeof(*actor), GFP_KERNEL); in squashfs_page_actor_init_special() 119 actor->tmp_buffer = kmalloc(PAGE_SIZE, GFP_KERNEL); in squashfs_page_actor_init_special()
|
/linux/fs/quota/ |
H A D | quota_tree.c | 117 char *buf = kmalloc(info->dqi_usable_bs, GFP_KERNEL); in get_free_dqblk() 169 char *tmpbuf = kmalloc(info->dqi_usable_bs, GFP_KERNEL); in remove_free_dqentry() 216 char *tmpbuf = kmalloc(info->dqi_usable_bs, GFP_KERNEL); in insert_free_dqentry() 264 char *buf = kmalloc(info->dqi_usable_bs, GFP_KERNEL); in find_free_dqentry() 338 char *buf = kmalloc(info->dqi_usable_bs, GFP_KERNEL); in do_insert_tree() 444 char *ddquot = kmalloc(info->dqi_entry_size, GFP_KERNEL); in qtree_write_dquot() 483 char *buf = kmalloc(info->dqi_usable_bs, GFP_KERNEL); in free_dqentry() 547 char *buf = kmalloc(info->dqi_usable_bs, GFP_KERNEL); in remove_tree() 625 char *buf = kmalloc(info->dqi_usable_bs, GFP_KERNEL); in find_block_dqentry() 663 char *buf = kmalloc(inf in find_tree_dqentry() [all...] |
/linux/drivers/net/ovpn/ |
H A D | crypto_aead.c | 75 ovpn_skb_cb(skb)->sg = kmalloc(sizeof(*ovpn_skb_cb(skb)->sg) * in ovpn_aead_encrypt() 109 ovpn_skb_cb(skb)->iv = kmalloc(OVPN_NONCE_SIZE, GFP_ATOMIC); in ovpn_aead_encrypt() 188 ovpn_skb_cb(skb)->sg = kmalloc(sizeof(*ovpn_skb_cb(skb)->sg) * in ovpn_aead_decrypt() 217 ovpn_skb_cb(skb)->iv = kmalloc(OVPN_NONCE_SIZE, GFP_ATOMIC); in ovpn_aead_decrypt() 331 ks = kmalloc(sizeof(*ks), GFP_KERNEL); in ovpn_aead_crypto_key_slot_new()
|
/linux/drivers/media/usb/dvb-usb/ |
H A D | dibusb-common.c | 66 b = kmalloc(3, GFP_KERNEL); in dibusb_power_ctrl() 89 b = kmalloc(3, GFP_KERNEL); in dibusb2_0_streaming_ctrl() 122 b = kmalloc(3, GFP_KERNEL); in dibusb2_0_power_ctrl() 149 sndbuf = kmalloc(MAX_XFER_SIZE, GFP_KERNEL); in dibusb_i2c_msg() 380 buf = kmalloc(5, GFP_KERNEL); in dibusb_rc_query()
|
/linux/drivers/isdn/capi/ |
H A D | capiutil.c | 403 nb = kmalloc(ns, GFP_ATOMIC); in bufprint() 541 cdb = kmalloc(sizeof(_cdebbuf), GFP_ATOMIC); in cdebbuf_alloc() 544 cdb->buf = kmalloc(CDEBUG_SIZE, GFP_ATOMIC); in cdebbuf_alloc() 595 cmsg = kmalloc(sizeof(_cmsg), GFP_ATOMIC); in capi_message2str() 621 g_cmsg = kmalloc(sizeof(_cmsg), GFP_KERNEL); in cdebug_init() 624 g_debbuf = kmalloc(sizeof(_cdebbuf), GFP_KERNEL); in cdebug_init() 629 g_debbuf->buf = kmalloc(CDEBUG_GSIZE, GFP_KERNEL); in cdebug_init()
|