| Bug ID | 1553 |
|---|---|
| Summary | free called on rte_malloc block in vhost |
| Product | DPDK |
| Version | unspecified |
| Hardware | All |
| OS | All |
| Status | UNCONFIRMED |
| Severity | major |
| Priority | Normal |
| Component | vhost/virtio |
| Assignee | dev@dpdk.org |
| Reporter | stephen@networkplumber.org |
| Target Milestone | --- |
If Gcc function attributes are added to rte_malloc, the compiler is able to detect bugs where free is called on rte_malloc memory such as: [2737/2957] Compiling C object examples/dpdk-vhost_blk.p/vhost_blk_vhost_blk.c.o In function ‘vhost_blk_bdev_construct’, inlined from ‘vhost_blk_ctrlr_construct.constprop’ at ../examples/vhost_blk/vhost_blk.c:826:16: ../examples/vhost_blk/vhost_blk.c:779:17: warning: ‘free’ called on pointer returned from a mismatched allocation function [-Wmismatched-dealloc] 779 | free(bdev); | ^~~~~~~~~~ ../examples/vhost_blk/vhost_blk.c:761:16: note: returned from ‘rte_zmalloc’ 761 | bdev = rte_zmalloc(NULL, sizeof(*bdev), RTE_CACHE_LINE_SIZE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~