mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-22 00:00:03 +03:00
The memmove() in pop_cmd() reads and writes beyond the end of argv. This is basically harmless in the current C program; the environment variable list immediately follows argv so all this does is unnecessarily copy the beginning of that list. However, this will become problematic once we start calling C functions like fs_cmds() from Rust code. Then argv will be a Vec<String> (as *mut *mut i8) and the memory layout will be different--in particular, I don't think we can assume that a Vec<String> will be NULL-terminated like argv always is--, meaning the invalid write could lead to heap corruption. Also, it doesn't look like full_cmd ever gets used after calling pop_cmd() so I'm removing it here since it looks unneeded to me. Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev> |
||
---|---|---|
.github | ||
ccan | ||
debian | ||
doc | ||
fsck | ||
include | ||
initramfs | ||
libbcachefs | ||
linux | ||
packaging | ||
raid | ||
rust-src | ||
tests | ||
udev | ||
.bcachefs_revision | ||
.editorconfig | ||
.gitignore | ||
bcachefs.8 | ||
bcachefs.c | ||
build.nix | ||
cmd_assemble.c | ||
cmd_attr.c | ||
cmd_counters.c | ||
cmd_data.c | ||
cmd_device.c | ||
cmd_dump.c | ||
cmd_format.c | ||
cmd_fs.c | ||
cmd_fsck.c | ||
cmd_fusemount.c | ||
cmd_key.c | ||
cmd_kill_btree_node.c | ||
cmd_list_journal.c | ||
cmd_migrate.c | ||
cmd_option.c | ||
cmd_run.c | ||
cmd_subvolume.c | ||
cmd_version.c | ||
cmds.h | ||
config.h | ||
COPYING | ||
crypto.c | ||
crypto.h | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
INSTALL.md | ||
libbcachefs.c | ||
libbcachefs.h | ||
make-release-tarball.sh | ||
Makefile | ||
Makefile.compiler | ||
mount.bcachefs.sh | ||
qcow2.c | ||
qcow2.h | ||
README.md | ||
tools-util.c | ||
tools-util.h |
bcachefs-tools
Userspace tools and docs for bcachefs
Bcachefs is an advanced new filesystem for Linux, with an emphasis on reliability and robustness and the complete set of features one would expect from a modern filesystem.
This repo primarily consists of the following:
- bcachefs tool, the reason this repo exists.
- {mkfs,mount,fsck}.bcachefs utils, which is just wrappers calling the corresponding subcommands in the main tool
- docs in the form of man-pages and a user manual
Please refer to the main site for getting started An in-depth user manual is (also) found on the official website
Build and install
Refer to INSTALL.md
Bug reports and contributions
- The official mailing list, linux-bcachefs@vger.kernel.org
- IRC: #bcache on OFTC (irc.oftc.net). Although, note that it can be easily missed.