This is bugfix release of stable libmdbx branch. The most significant fixes since v0.12.10 (the previous version pinned to buildroot): - Fixed the possibility of `SIGSEGV` inside the `coherence_check()` after changing the geometry by another process with an increase in the upper DB size above the previous in-process limit. - Fixed cursor(s) handling opened in parent transactions and closed before the completion of nested/child transactions. In such case, closed cursors were "resurrected", which led to a leak of memory allocated for such cursors. - Fixed a possibility of `SIGSEGV` when enabling logging of the `MDBX_LOG_TRACE` level in debug builds. - Correction of the missing `TXN_END_EOTDONE` in the case the start of a reading transaction fails. The mentioned bit-flag was missing in the transaction destruction/shutdown path on error its launch. Because of this, an attempt was made to destroy the cursors, which led to crash debug builds, since the corresponding array is intentionally filled with poison pointers. - Modification of `mdbx_close_by()` to return an error when trying to close the dbi descriptor of a table created and/or modified in a still-running transaction. Such premature closure of the descriptor is an incorrect use of the API and a violation of the contract/preconditions formulated in the description of `mdbx_close_dbi()`. However, instead of returning an error, an incorrect closure of the descriptor was performed, which could lead to the creation of a table with an empty name, leakage of database pages and/or corruption of a b-tree structure (wrong reference to the root of a table). The complete ChangeLog: https://gitflic.ru/project/erthink/libmdbx/blob?file=ChangeLog.md Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit 81e7806b9353ab403e202d3e3d1d2a5818eb390f) Signed-off-by: Peter Korsgaard <peter@korsgaard.com> |
||
---|---|---|
.github | ||
.gitlab/issue_templates | ||
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.b4-config | ||
.checkpackageignore | ||
.clang-format | ||
.defconfig | ||
.editorconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.shellcheckrc | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on OFTC IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches