Go to file
Anatoly Burakov 0db6d2782c malloc: avoid padding elements on page deallocation
Currently, when deallocating pages, malloc will fixup other
elements' headers if there is not enough space to store a full
element in leftover space. This leads to race conditions because
there are some functions that check for pad size with an unlocked
heap, expecting pad size to be constant.

Fix it by being more conservative and only freeing pages when
there is enough space before and after the page to store a free
element.

Fixes: 1403f87d4f ("malloc: enable memory hotplug support")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
2018-05-02 18:35:19 +02:00
app app/testpmd: conserve offload flags of mbuf 2018-04-27 20:11:33 +02:00
buildtools buildtools: output build failure reason to stderr 2018-02-08 22:25:37 +01:00
config net/ixgbe: enable vector PMD for icc 32 bits 2018-04-27 15:54:56 +01:00
devtools crypto/ccp: add AMD ccp skeleton PMD 2018-04-23 18:19:43 +01:00
doc doc: update memory option usage for FreeBSD 2018-04-28 00:07:31 +02:00
drivers bus/dpaa: optimize physical to virtual address search 2018-04-27 21:41:33 +02:00
examples examples/flow_classify: fix validation in port init 2018-04-30 15:48:26 +02:00
kernel igb_uio: pass MODULE_CFLAGS in Kbuild 2018-05-01 16:46:22 +02:00
lib malloc: avoid padding elements on page deallocation 2018-05-02 18:35:19 +02:00
license license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
mk net/ifcvf: add ifcvf vDPA driver 2018-04-27 15:54:55 +01:00
pkg version: 18.02.0 2018-02-14 19:11:02 +01:00
test test/mempool: fix autotest retry 2018-04-26 18:16:12 +02:00
usertools usertools: add Cavium TIM as an event device 2018-04-16 11:11:06 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore devtools: add tags and cscope index generation 2017-04-30 12:57:04 +02:00
GNUmakefile move kernel modules directories 2018-03-21 23:04:21 +01:00
MAINTAINERS maintainers: call out subtree for bbdev and security 2018-04-28 00:05:32 +02:00
Makefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
meson_options.txt net/mvpp2: add to meson build 2018-04-19 14:10:44 +02:00
meson.build version: 18.05-rc1 2018-04-28 00:26:04 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org