2022-02-17 11:14:30

by Lukas Czerner

[permalink] [raw]
Subject: [PATCH 1/3] resize2fs: remove unused variable 'c'

Signed-off-by: Lukas Czerner <[email protected]>
---
resize/resize2fs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index b9783e8c..d69cb01e 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -2847,7 +2847,7 @@ static errcode_t resize2fs_calculate_summary_stats(ext2_filsys fs)
errcode_t retval;
blk64_t blk = fs->super->s_first_data_block;
ext2_ino_t ino;
- unsigned int n, c, group, count;
+ unsigned int n, group, count;
blk64_t total_clusters_free = 0;
int total_inodes_free = 0;
int group_free = 0;
--
2.34.1


2022-02-17 23:32:58

by Lukas Czerner

[permalink] [raw]
Subject: [PATCH 3/3] e2fsprogs: use mallinfo2 instead of mallinfo if available

mallinfo has been deprecated with GNU C library version 2.33 in favor of
mallinfo2 which works exactly the same as mallinfo but with larger field
widths. Use mallinfo2 if available.

Signed-off-by: Lukas Czerner <[email protected]>
---
configure | 2 +-
configure.ac | 1 +
e2fsck/iscan.c | 11 ++++++++++-
e2fsck/util.c | 11 ++++++++++-
lib/config.h.in | 3 +++
resize/resource_track.c | 13 ++++++++++---
6 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/configure b/configure
index effd929d..530bc77c 100755
--- a/configure
+++ b/configure
@@ -11254,7 +11254,7 @@ fi
if test -n "$DLOPEN_LIB" ; then
ac_cv_func_dlopen=yes
fi
-for ac_func in __secure_getenv add_key backtrace chflags dlopen fadvise64 fallocate fallocate64 fchown fcntl fdatasync fstat64 fsync ftruncate64 futimes getcwd getdtablesize getentropy gethostname getmntinfo getpwuid_r getrandom getrlimit getrusage jrand48 keyctl llistxattr llseek lseek64 mallinfo mbstowcs memalign mempcpy mmap msync nanosleep open64 pathconf posix_fadvise posix_fadvise64 posix_memalign prctl pread pwrite pread64 pwrite64 secure_getenv setmntent setresgid setresuid snprintf srandom stpcpy strcasecmp strdup strnlen strptime strtoull sync_file_range sysconf usleep utime utimes valloc
+for ac_func in __secure_getenv add_key backtrace chflags dlopen fadvise64 fallocate fallocate64 fchown fcntl fdatasync fstat64 fsync ftruncate64 futimes getcwd getdtablesize getentropy gethostname getmntinfo getpwuid_r getrandom getrlimit getrusage jrand48 keyctl llistxattr llseek lseek64 mallinfo mallinfo2 mbstowcs memalign mempcpy mmap msync nanosleep open64 pathconf posix_fadvise posix_fadvise64 posix_memalign prctl pread pwrite pread64 pwrite64 secure_getenv setmntent setresgid setresuid snprintf srandom stpcpy strcasecmp strdup strnlen strptime strtoull sync_file_range sysconf usleep utime utimes valloc
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/configure.ac b/configure.ac
index dff3d1ca..8acc4e1c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1214,6 +1214,7 @@ AC_CHECK_FUNCS(m4_flatten([
llseek
lseek64
mallinfo
+ mallinfo2
mbstowcs
memalign
mempcpy
diff --git a/e2fsck/iscan.c b/e2fsck/iscan.c
index 607e4752..33c6a4cd 100644
--- a/e2fsck/iscan.c
+++ b/e2fsck/iscan.c
@@ -109,7 +109,16 @@ void print_resource_track(const char *desc,
printf("%s: ", desc);

#define kbytes(x) (((unsigned long long)(x) + 1023) / 1024)
-#ifdef HAVE_MALLINFO
+#ifdef HAVE_MALLINFO2
+ if (1) {
+ struct mallinfo2 malloc_info = mallinfo2();
+
+ printf("Memory used: %lluk/%lluk (%lluk/%lluk), ",
+ kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
+ kbytes(malloc_info.uordblks),
+ kbytes(malloc_info.fordblks));
+ } else
+#elif defined HAVE_MALLINFO
/* don't use mallinfo() if over 2GB used, since it returns "int" */
if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) {
struct mallinfo malloc_info = mallinfo();
diff --git a/e2fsck/util.c b/e2fsck/util.c
index 3fe3c988..42740d9e 100644
--- a/e2fsck/util.c
+++ b/e2fsck/util.c
@@ -430,7 +430,16 @@ void print_resource_track(e2fsck_t ctx, const char *desc,
log_out(ctx, "%s: ", desc);

#define kbytes(x) (((unsigned long long)(x) + 1023) / 1024)
-#ifdef HAVE_MALLINFO
+#ifdef HAVE_MALLINFO2
+ if (1) {
+ struct mallinfo2 malloc_info = mallinfo2();
+
+ log_out(ctx, _("Memory used: %lluk/%lluk (%lluk/%lluk), "),
+ kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
+ kbytes(malloc_info.uordblks),
+ kbytes(malloc_info.fordblks));
+ } else
+#elif defined HAVE_MALLINFO
/* don't use mallinfo() if over 2GB used, since it returns "int" */
if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) {
struct mallinfo malloc_info = mallinfo();
diff --git a/lib/config.h.in b/lib/config.h.in
index 9c9de65d..b5856bb5 100644
--- a/lib/config.h.in
+++ b/lib/config.h.in
@@ -208,6 +208,9 @@
/* Define to 1 if you have the `mallinfo' function. */
#undef HAVE_MALLINFO

+/* Define to 1 if you have the `mallinfo2' function. */
+#undef HAVE_MALLINFO2
+
/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H

diff --git a/resize/resource_track.c b/resize/resource_track.c
index f0efe114..f4667060 100644
--- a/resize/resource_track.c
+++ b/resize/resource_track.c
@@ -63,8 +63,10 @@ void print_resource_track(ext2_resize_t rfs, struct resource_track *track,
#ifdef HAVE_GETRUSAGE
struct rusage r;
#endif
-#ifdef HAVE_MALLINFO
- struct mallinfo malloc_info;
+#ifdef HAVE_MALLINFO2
+ struct mallinfo2 malloc_info;
+#elif defined HAVE_MALLINFO
+ struct mallinfo malloc_info;
#endif
struct timeval time_end;

@@ -76,8 +78,13 @@ void print_resource_track(ext2_resize_t rfs, struct resource_track *track,
if (track->desc)
printf("%s: ", track->desc);

-#ifdef HAVE_MALLINFO
#define kbytes(x) (((unsigned long)(x) + 1023) / 1024)
+#ifdef HAVE_MALLINFO2
+ malloc_info = mallinfo2();
+ printf("Memory used: %luk/%luk (%luk/%luk), ",
+ kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
+ kbytes(malloc_info.uordblks), kbytes(malloc_info.fordblks));
+#elif defined HAVE_MALLINFO

malloc_info = mallinfo();
printf("Memory used: %luk/%luk (%luk/%luk), ",
--
2.34.1

2022-03-01 00:46:50

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH 1/3] resize2fs: remove unused variable 'c'

On Feb 17, 2022, at 2:24 AM, Lukas Czerner <[email protected]> wrote:
>
> Signed-off-by: Lukas Czerner <[email protected]>

Reviewed-by: Andreas Dilger <[email protected]>

> ---
> resize/resize2fs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/resize/resize2fs.c b/resize/resize2fs.c
> index b9783e8c..d69cb01e 100644
> --- a/resize/resize2fs.c
> +++ b/resize/resize2fs.c
> @@ -2847,7 +2847,7 @@ static errcode_t resize2fs_calculate_summary_stats(ext2_filsys fs)
> errcode_t retval;
> blk64_t blk = fs->super->s_first_data_block;
> ext2_ino_t ino;
> - unsigned int n, c, group, count;
> + unsigned int n, group, count;
> blk64_t total_clusters_free = 0;
> int total_inodes_free = 0;
> int group_free = 0;
> --
> 2.34.1
>


Cheers, Andreas






Attachments:
signature.asc (890.00 B)
Message signed with OpenPGP

2022-03-01 00:53:34

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH 3/3] e2fsprogs: use mallinfo2 instead of mallinfo if available

On Feb 17, 2022, at 2:25 AM, Lukas Czerner <[email protected]> wrote:
>
> mallinfo has been deprecated with GNU C library version 2.33 in favor of
> mallinfo2 which works exactly the same as mallinfo but with larger field
> widths. Use mallinfo2 if available.
>
> Signed-off-by: Lukas Czerner <[email protected]>

Reviewed-by: Andreas Dilger <[email protected]>

> ---
> configure | 2 +-
> configure.ac | 1 +
> e2fsck/iscan.c | 11 ++++++++++-
> e2fsck/util.c | 11 ++++++++++-
> lib/config.h.in | 3 +++
> resize/resource_track.c | 13 ++++++++++---
> 6 files changed, 35 insertions(+), 6 deletions(-)
>
> diff --git a/configure b/configure
> index effd929d..530bc77c 100755
> --- a/configure
> +++ b/configure
> @@ -11254,7 +11254,7 @@ fi
> if test -n "$DLOPEN_LIB" ; then
> ac_cv_func_dlopen=yes
> fi
> -for ac_func in __secure_getenv add_key backtrace chflags dlopen fadvise64 fallocate fallocate64 fchown fcntl fdatasync fstat64 fsync ftruncate64 futimes getcwd getdtablesize getentropy gethostname getmntinfo getpwuid_r getrandom getrlimit getrusage jrand48 keyctl llistxattr llseek lseek64 mallinfo mbstowcs memalign mempcpy mmap msync nanosleep open64 pathconf posix_fadvise posix_fadvise64 posix_memalign prctl pread pwrite pread64 pwrite64 secure_getenv setmntent setresgid setresuid snprintf srandom stpcpy strcasecmp strdup strnlen strptime strtoull sync_file_range sysconf usleep utime utimes valloc
> +for ac_func in __secure_getenv add_key backtrace chflags dlopen fadvise64 fallocate fallocate64 fchown fcntl fdatasync fstat64 fsync ftruncate64 futimes getcwd getdtablesize getentropy gethostname getmntinfo getpwuid_r getrandom getrlimit getrusage jrand48 keyctl llistxattr llseek lseek64 mallinfo mallinfo2 mbstowcs memalign mempcpy mmap msync nanosleep open64 pathconf posix_fadvise posix_fadvise64 posix_memalign prctl pread pwrite pread64 pwrite64 secure_getenv setmntent setresgid setresuid snprintf srandom stpcpy strcasecmp strdup strnlen strptime strtoull sync_file_range sysconf usleep utime utimes valloc
> do :
> as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
> ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
> diff --git a/configure.ac b/configure.ac
> index dff3d1ca..8acc4e1c 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1214,6 +1214,7 @@ AC_CHECK_FUNCS(m4_flatten([
> llseek
> lseek64
> mallinfo
> + mallinfo2
> mbstowcs
> memalign
> mempcpy
> diff --git a/e2fsck/iscan.c b/e2fsck/iscan.c
> index 607e4752..33c6a4cd 100644
> --- a/e2fsck/iscan.c
> +++ b/e2fsck/iscan.c
> @@ -109,7 +109,16 @@ void print_resource_track(const char *desc,
> printf("%s: ", desc);
>
> #define kbytes(x) (((unsigned long long)(x) + 1023) / 1024)
> -#ifdef HAVE_MALLINFO
> +#ifdef HAVE_MALLINFO2
> + if (1) {
> + struct mallinfo2 malloc_info = mallinfo2();
> +
> + printf("Memory used: %lluk/%lluk (%lluk/%lluk), ",
> + kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
> + kbytes(malloc_info.uordblks),
> + kbytes(malloc_info.fordblks));
> + } else
> +#elif defined HAVE_MALLINFO
> /* don't use mallinfo() if over 2GB used, since it returns "int" */
> if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) {
> struct mallinfo malloc_info = mallinfo();
> diff --git a/e2fsck/util.c b/e2fsck/util.c
> index 3fe3c988..42740d9e 100644
> --- a/e2fsck/util.c
> +++ b/e2fsck/util.c
> @@ -430,7 +430,16 @@ void print_resource_track(e2fsck_t ctx, const char *desc,
> log_out(ctx, "%s: ", desc);
>
> #define kbytes(x) (((unsigned long long)(x) + 1023) / 1024)
> -#ifdef HAVE_MALLINFO
> +#ifdef HAVE_MALLINFO2
> + if (1) {
> + struct mallinfo2 malloc_info = mallinfo2();
> +
> + log_out(ctx, _("Memory used: %lluk/%lluk (%lluk/%lluk), "),
> + kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
> + kbytes(malloc_info.uordblks),
> + kbytes(malloc_info.fordblks));
> + } else
> +#elif defined HAVE_MALLINFO
> /* don't use mallinfo() if over 2GB used, since it returns "int" */
> if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) {
> struct mallinfo malloc_info = mallinfo();
> diff --git a/lib/config.h.in b/lib/config.h.in
> index 9c9de65d..b5856bb5 100644
> --- a/lib/config.h.in
> +++ b/lib/config.h.in
> @@ -208,6 +208,9 @@
> /* Define to 1 if you have the `mallinfo' function. */
> #undef HAVE_MALLINFO
>
> +/* Define to 1 if you have the `mallinfo2' function. */
> +#undef HAVE_MALLINFO2
> +
> /* Define to 1 if you have the <malloc.h> header file. */
> #undef HAVE_MALLOC_H
>
> diff --git a/resize/resource_track.c b/resize/resource_track.c
> index f0efe114..f4667060 100644
> --- a/resize/resource_track.c
> +++ b/resize/resource_track.c
> @@ -63,8 +63,10 @@ void print_resource_track(ext2_resize_t rfs, struct resource_track *track,
> #ifdef HAVE_GETRUSAGE
> struct rusage r;
> #endif
> -#ifdef HAVE_MALLINFO
> - struct mallinfo malloc_info;
> +#ifdef HAVE_MALLINFO2
> + struct mallinfo2 malloc_info;
> +#elif defined HAVE_MALLINFO
> + struct mallinfo malloc_info;
> #endif
> struct timeval time_end;
>
> @@ -76,8 +78,13 @@ void print_resource_track(ext2_resize_t rfs, struct resource_track *track,
> if (track->desc)
> printf("%s: ", track->desc);
>
> -#ifdef HAVE_MALLINFO
> #define kbytes(x) (((unsigned long)(x) + 1023) / 1024)
> +#ifdef HAVE_MALLINFO2
> + malloc_info = mallinfo2();
> + printf("Memory used: %luk/%luk (%luk/%luk), ",
> + kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
> + kbytes(malloc_info.uordblks), kbytes(malloc_info.fordblks));
> +#elif defined HAVE_MALLINFO
>
> malloc_info = mallinfo();
> printf("Memory used: %luk/%luk (%luk/%luk), ",
> --
> 2.34.1
>


Cheers, Andreas






Attachments:
signature.asc (890.00 B)
Message signed with OpenPGP

2022-03-01 01:09:48

by Andreas Dilger

[permalink] [raw]
Subject: Re: [PATCH 3/3] e2fsprogs: use mallinfo2 instead of mallinfo if available

On Feb 17, 2022, at 2:25 AM, Lukas Czerner <[email protected]> wrote:
>
> mallinfo has been deprecated with GNU C library version 2.33 in favor of
> mallinfo2 which works exactly the same as mallinfo but with larger field
> widths. Use mallinfo2 if available.
>
> Signed-off-by: Lukas Czerner <[email protected]>

Nice that a replacement for mallinfo() API was finally added to glibc.

Reviewed-by: Andreas Dilger <[email protected]>

> ---
> configure | 2 +-
> configure.ac | 1 +
> e2fsck/iscan.c | 11 ++++++++++-
> e2fsck/util.c | 11 ++++++++++-
> lib/config.h.in | 3 +++
> resize/resource_track.c | 13 ++++++++++---
> 6 files changed, 35 insertions(+), 6 deletions(-)
>
> diff --git a/configure b/configure
> index effd929d..530bc77c 100755
> --- a/configure
> +++ b/configure
> @@ -11254,7 +11254,7 @@ fi
> if test -n "$DLOPEN_LIB" ; then
> ac_cv_func_dlopen=yes
> fi
> -for ac_func in __secure_getenv add_key backtrace chflags dlopen fadvise64 fallocate fallocate64 fchown fcntl fdatasync fstat64 fsync ftruncate64 futimes getcwd getdtablesize getentropy gethostname getmntinfo getpwuid_r getrandom getrlimit getrusage jrand48 keyctl llistxattr llseek lseek64 mallinfo mbstowcs memalign mempcpy mmap msync nanosleep open64 pathconf posix_fadvise posix_fadvise64 posix_memalign prctl pread pwrite pread64 pwrite64 secure_getenv setmntent setresgid setresuid snprintf srandom stpcpy strcasecmp strdup strnlen strptime strtoull sync_file_range sysconf usleep utime utimes valloc
> +for ac_func in __secure_getenv add_key backtrace chflags dlopen fadvise64 fallocate fallocate64 fchown fcntl fdatasync fstat64 fsync ftruncate64 futimes getcwd getdtablesize getentropy gethostname getmntinfo getpwuid_r getrandom getrlimit getrusage jrand48 keyctl llistxattr llseek lseek64 mallinfo mallinfo2 mbstowcs memalign mempcpy mmap msync nanosleep open64 pathconf posix_fadvise posix_fadvise64 posix_memalign prctl pread pwrite pread64 pwrite64 secure_getenv setmntent setresgid setresuid snprintf srandom stpcpy strcasecmp strdup strnlen strptime strtoull sync_file_range sysconf usleep utime utimes valloc
> do :
> as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
> ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
> diff --git a/configure.ac b/configure.ac
> index dff3d1ca..8acc4e1c 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1214,6 +1214,7 @@ AC_CHECK_FUNCS(m4_flatten([
> llseek
> lseek64
> mallinfo
> + mallinfo2
> mbstowcs
> memalign
> mempcpy
> diff --git a/e2fsck/iscan.c b/e2fsck/iscan.c
> index 607e4752..33c6a4cd 100644
> --- a/e2fsck/iscan.c
> +++ b/e2fsck/iscan.c
> @@ -109,7 +109,16 @@ void print_resource_track(const char *desc,
> printf("%s: ", desc);
>
> #define kbytes(x) (((unsigned long long)(x) + 1023) / 1024)
> -#ifdef HAVE_MALLINFO
> +#ifdef HAVE_MALLINFO2
> + if (1) {
> + struct mallinfo2 malloc_info = mallinfo2();
> +
> + printf("Memory used: %lluk/%lluk (%lluk/%lluk), ",
> + kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
> + kbytes(malloc_info.uordblks),
> + kbytes(malloc_info.fordblks));
> + } else
> +#elif defined HAVE_MALLINFO
> /* don't use mallinfo() if over 2GB used, since it returns "int" */
> if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) {
> struct mallinfo malloc_info = mallinfo();
> diff --git a/e2fsck/util.c b/e2fsck/util.c
> index 3fe3c988..42740d9e 100644
> --- a/e2fsck/util.c
> +++ b/e2fsck/util.c
> @@ -430,7 +430,16 @@ void print_resource_track(e2fsck_t ctx, const char *desc,
> log_out(ctx, "%s: ", desc);
>
> #define kbytes(x) (((unsigned long long)(x) + 1023) / 1024)
> -#ifdef HAVE_MALLINFO
> +#ifdef HAVE_MALLINFO2
> + if (1) {
> + struct mallinfo2 malloc_info = mallinfo2();
> +
> + log_out(ctx, _("Memory used: %lluk/%lluk (%lluk/%lluk), "),
> + kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
> + kbytes(malloc_info.uordblks),
> + kbytes(malloc_info.fordblks));
> + } else
> +#elif defined HAVE_MALLINFO
> /* don't use mallinfo() if over 2GB used, since it returns "int" */
> if ((char *)sbrk(0) - (char *)track->brk_start < 2LL << 30) {
> struct mallinfo malloc_info = mallinfo();
> diff --git a/lib/config.h.in b/lib/config.h.in
> index 9c9de65d..b5856bb5 100644
> --- a/lib/config.h.in
> +++ b/lib/config.h.in
> @@ -208,6 +208,9 @@
> /* Define to 1 if you have the `mallinfo' function. */
> #undef HAVE_MALLINFO
>
> +/* Define to 1 if you have the `mallinfo2' function. */
> +#undef HAVE_MALLINFO2
> +
> /* Define to 1 if you have the <malloc.h> header file. */
> #undef HAVE_MALLOC_H
>
> diff --git a/resize/resource_track.c b/resize/resource_track.c
> index f0efe114..f4667060 100644
> --- a/resize/resource_track.c
> +++ b/resize/resource_track.c
> @@ -63,8 +63,10 @@ void print_resource_track(ext2_resize_t rfs, struct resource_track *track,
> #ifdef HAVE_GETRUSAGE
> struct rusage r;
> #endif
> -#ifdef HAVE_MALLINFO
> - struct mallinfo malloc_info;
> +#ifdef HAVE_MALLINFO2
> + struct mallinfo2 malloc_info;
> +#elif defined HAVE_MALLINFO
> + struct mallinfo malloc_info;
> #endif
> struct timeval time_end;
>
> @@ -76,8 +78,13 @@ void print_resource_track(ext2_resize_t rfs, struct resource_track *track,
> if (track->desc)
> printf("%s: ", track->desc);
>
> -#ifdef HAVE_MALLINFO
> #define kbytes(x) (((unsigned long)(x) + 1023) / 1024)
> +#ifdef HAVE_MALLINFO2
> + malloc_info = mallinfo2();
> + printf("Memory used: %luk/%luk (%luk/%luk), ",
> + kbytes(malloc_info.arena), kbytes(malloc_info.hblkhd),
> + kbytes(malloc_info.uordblks), kbytes(malloc_info.fordblks));
> +#elif defined HAVE_MALLINFO
>
> malloc_info = mallinfo();
> printf("Memory used: %luk/%luk (%luk/%luk), ",
> --
> 2.34.1
>


Cheers, Andreas






Attachments:
signature.asc (890.00 B)
Message signed with OpenPGP

2022-04-29 11:46:45

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH 1/3] resize2fs: remove unused variable 'c'

Applied, thanks!

I did make a minor change in the libss patch; there's no need to
create a new error code, SS_ET_ENOMEM; we can just return the standard
ENOMEM error.

[1/3] resize2fs: remove unused variable 'c'
commit: 997902106fab2bc7cb0f7251eb55fad4b721b51a
[2/3] libss: fix possible NULL pointer dereferece on allocation failure
commit: a282671a02e8fffa04ac0f9db7982fd6bb0a0916
[3/3] e2fsprogs: use mallinfo2 instead of mallinfo if available
commit: 97079a792dd5e9ea9d4708d2e80244c930a139cd

Best regards,
--
Theodore Ts'o <[email protected]>