]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commit
e2fsck: avoid mallinfo() if over 2GB allocated
authorAndreas Dilger <adilger@whamcloud.com>
Fri, 7 Feb 2020 01:09:40 +0000 (18:09 -0700)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 29 Feb 2020 23:27:49 +0000 (18:27 -0500)
commitf7c8ea2067e811f17bd5c9706f7dbf65dadcfca1
tree6eabd7f527cca0b9de161059f4b0f0ead99f297f
parent382ed4a1c2b60acb9db7631e86dda207bde6076e
e2fsck: avoid mallinfo() if over 2GB allocated

Don't use mallinfo() for determining the amount of memory used if it
is over 2GB.  Otherwise, the signed ints used by this interface can
can overflow and return garbage values.  This makes the actual amount
of memory used by e2fsck misleading and hard to determine.

Instead, use brk() to get the total amount of memory allocated, and print
this if the more detailed mallinfo() information is not suitable for use.

There does not appear to be a mallinfo64() variant of this function.
There does appear to be an abomination named malloc_info() that writes
XML-formatted malloc stats to a FILE stream that would need to be read
and parsed in order to get these stats, but that doesn't seem worthwhile.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Shilong Wang <wshilong@ddn.com>
Lustre-bug-id: https://jira.whamcloud.com/browse/LU-13197
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
e2fsck/scantest.c
e2fsck/util.c