|
532 | 532 |
|
533 | 533 | const unsigned char *_ctype; |
534 | 534 |
|
| 535 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 10, 0) |
| 536 | + typeof(kmalloc_noprof) *kmalloc_noprof; |
| 537 | + typeof(krealloc_noprof) *krealloc_noprof; |
| 538 | + typeof(kzalloc_noprof) *kzalloc_noprof; |
| 539 | + typeof(kvmalloc_node_noprof) *kvmalloc_node_noprof; |
| 540 | + typeof(kmalloc_trace_noprof) *kmalloc_trace_noprof; |
| 541 | +#else /* <6.10.0 */ |
535 | 542 | typeof(kmalloc) *kmalloc; |
536 | | - typeof(kfree) *kfree; |
537 | | - typeof(ksize) *ksize; |
538 | 543 | typeof(krealloc) *krealloc; |
539 | 544 | #ifdef HAVE_KVMALLOC |
540 | 545 | typeof(kvmalloc_node) *kvmalloc_node; |
541 | | - typeof(kvfree) *kvfree; |
542 | 546 | #endif |
543 | | - typeof(is_vmalloc_addr) *is_vmalloc_addr; |
544 | | - |
545 | 547 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0) |
546 | 548 | typeof(kmalloc_trace) *kmalloc_trace; |
547 | 549 | #else |
548 | 550 | typeof(kmem_cache_alloc_trace) *kmem_cache_alloc_trace; |
549 | 551 | typeof(kmalloc_order_trace) *kmalloc_order_trace; |
550 | 552 | #endif |
| 553 | +#endif /* <6.10.0 */ |
| 554 | + #ifdef HAVE_KVMALLOC |
| 555 | + typeof(kvfree) *kvfree; |
| 556 | + #endif |
| 557 | + typeof(kfree) *kfree; |
| 558 | + typeof(ksize) *ksize; |
| 559 | + typeof(is_vmalloc_addr) *is_vmalloc_addr; |
551 | 560 |
|
552 | 561 | typeof(get_random_bytes) *get_random_bytes; |
553 | 562 | #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) |
|
675 | 684 |
|
676 | 685 | #define _ctype (wolfssl_linuxkm_get_pie_redirect_table()->_ctype) |
677 | 686 |
|
| 687 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 10, 0) |
| 688 | + /* see include/linux/alloc_tag.h and include/linux/slab.h */ |
| 689 | + #define kmalloc_noprof (wolfssl_linuxkm_get_pie_redirect_table()->kmalloc_noprof) |
| 690 | + #define krealloc_noprof (wolfssl_linuxkm_get_pie_redirect_table()->krealloc_noprof) |
| 691 | + #define kzalloc_noprof (wolfssl_linuxkm_get_pie_redirect_table()->kzalloc_noprof) |
| 692 | + #define kvmalloc_node_noprof (wolfssl_linuxkm_get_pie_redirect_table()->kvmalloc_node_noprof) |
| 693 | + #define kmalloc_trace_noprof (wolfssl_linuxkm_get_pie_redirect_table()->kmalloc_trace_noprof) |
| 694 | +#else /* <6.10.0 */ |
678 | 695 | #define kmalloc (wolfssl_linuxkm_get_pie_redirect_table()->kmalloc) |
679 | | - #define kfree (wolfssl_linuxkm_get_pie_redirect_table()->kfree) |
680 | | - #define ksize (wolfssl_linuxkm_get_pie_redirect_table()->ksize) |
681 | 696 | #define krealloc (wolfssl_linuxkm_get_pie_redirect_table()->krealloc) |
682 | 697 | #define kzalloc(size, flags) kmalloc(size, (flags) | __GFP_ZERO) |
683 | 698 | #ifdef HAVE_KVMALLOC |
684 | 699 | #define kvmalloc_node (wolfssl_linuxkm_get_pie_redirect_table()->kvmalloc_node) |
685 | | - #define kvfree (wolfssl_linuxkm_get_pie_redirect_table()->kvfree) |
686 | 700 | #endif |
687 | | - #define is_vmalloc_addr (wolfssl_linuxkm_get_pie_redirect_table()->is_vmalloc_addr) |
688 | 701 | #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0) |
689 | 702 | #define kmalloc_trace (wolfssl_linuxkm_get_pie_redirect_table()->kmalloc_trace) |
690 | 703 | #else |
691 | 704 | #define kmem_cache_alloc_trace (wolfssl_linuxkm_get_pie_redirect_table()->kmem_cache_alloc_trace) |
692 | 705 | #define kmalloc_order_trace (wolfssl_linuxkm_get_pie_redirect_table()->kmalloc_order_trace) |
693 | 706 | #endif |
| 707 | +#endif /* <6.10.0 */ |
| 708 | + |
| 709 | + #define kfree (wolfssl_linuxkm_get_pie_redirect_table()->kfree) |
| 710 | + #ifdef HAVE_KVMALLOC |
| 711 | + #define kvfree (wolfssl_linuxkm_get_pie_redirect_table()->kvfree) |
| 712 | + #endif |
| 713 | + #define ksize (wolfssl_linuxkm_get_pie_redirect_table()->ksize) |
| 714 | + |
| 715 | + #define is_vmalloc_addr (wolfssl_linuxkm_get_pie_redirect_table()->is_vmalloc_addr) |
694 | 716 |
|
695 | 717 | #define get_random_bytes (wolfssl_linuxkm_get_pie_redirect_table()->get_random_bytes) |
696 | 718 | #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) |
|
0 commit comments