Sync with upstream

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
This commit is contained in:
Lukas Czerner 2022-01-21 13:30:08 +01:00
parent 0f7111b4d1
commit dd6cc934a9
4 changed files with 167 additions and 1 deletions

View File

@ -0,0 +1,43 @@
From b0f95e3954f85d97a99f8a08645418945484dbca Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Wed, 1 Sep 2021 08:00:00 +0000
Subject: [PATCH 2/3] common.c: fix strncat usage
When quota is configured using --enable-werror, gcc -flto fails with
the following diagnostics:
In function 'strncat',
inlined from 'sstrncat' at common.c:113:2,
inlined from 'get_proc_num' at quotastats.c:46:2:
/usr/include/bits/string_fortified.h:122:10: error: '__builtin___strncat_chk' specified bound 4096 equals destination size [-Werror=str
ingop-overflow=]
122 | return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
| ^
This diagnostics is correct: when "src" contains "len" or more bytes,
strncat() writes "len"+1 bytes to "dest" ("len" from "src" plus
the terminating null byte).
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Jan Kara <jack@suse.cz>
---
common.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/common.c b/common.c
index 8be0428..b3e5ad2 100644
--- a/common.c
+++ b/common.c
@@ -110,8 +110,7 @@ void sstrncpy(char *d, const char *s, size_t len)
void sstrncat(char *d, const char *s, size_t len)
{
- strncat(d, s, len);
- d[len - 1] = 0;
+ strncat(d, s, len - 1);
}
char *sstrdup(const char *s)
--
2.31.1

View File

@ -0,0 +1,68 @@
From 100b8a8814152ca6f52564cb65f33bf7cf033c22 Mon Sep 17 00:00:00 2001
From: Jan Kara <jack@suse.cz>
Date: Fri, 20 Aug 2021 21:51:05 +0200
Subject: [PATCH 1/3] quotacheck, quotaon: Always display message about
deprecated usage
Visible quota files on ext4 filesystem are deprecated. Make sure we
always display the warning message and also expand the message to
explain how the filesystem can be converted.
Signed-off-by: Jan Kara <jack@suse.cz>
---
quotacheck.c | 7 +++++--
quotaon.c | 7 ++++---
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/quotacheck.c b/quotacheck.c
index 1b81610..bd62d9a 100644
--- a/quotacheck.c
+++ b/quotacheck.c
@@ -1198,7 +1198,7 @@ static int check_all(void)
debug(FL_DEBUG, _("Detected quota format %s\n"), fmt2name(cfmt));
}
- if (flags & (FL_VERBOSE | FL_DEBUG) && !warned) {
+ if (!warned) {
if (!strcmp(mnt->me_type, MNTTYPE_EXT4) &&
ext4_supports_quota_feature()) {
warned = 1;
@@ -1207,7 +1207,10 @@ static int check_all(void)
"external quota files. Please switch "
"your filesystem to use ext4 quota "
"feature as external quota files on "
- "ext4 are deprecated.\n"));
+ "ext4 are deprecated. You can enable "
+ "the feature by unmounting the file "
+ "system and running 'tune2fs -O quota "
+ "<device>'.\n"));
} else if (!str_hasmntopt(mnt->me_opts, MNTOPT_USRJQUOTA) &&
!str_hasmntopt(mnt->me_opts, MNTOPT_GRPJQUOTA) &&
(!strcmp(mnt->me_type, MNTTYPE_EXT3) ||
diff --git a/quotaon.c b/quotaon.c
index aceb6ec..125b934 100644
--- a/quotaon.c
+++ b/quotaon.c
@@ -270,15 +270,16 @@ static int newstate(struct mount_entry *mnt, int type, char *extra)
if (!me_hasquota(mnt, type))
return 0;
- if (flags & FL_VERBOSE && !warned &&
- !strcmp(mnt->me_type, MNTTYPE_EXT4) &&
+ if (!warned && !strcmp(mnt->me_type, MNTTYPE_EXT4) &&
ext4_supports_quota_feature()) {
warned = 1;
errstr(_("Your kernel probably supports ext4 quota "
"feature but you are using external quota "
"files. Please switch your filesystem to use "
"ext4 quota feature as external quota files "
- "on ext4 are deprecated.\n"));
+ "on ext4 are deprecated. You can enable the "
+ "feature by unmounting the file system and "
+ "running 'tune2fs -O quota <device>'.\n"));
}
if (fmt == -1) {
if (get_qf_name(mnt, type, QF_VFSV0,
--
2.31.1

View File

@ -0,0 +1,46 @@
From d2256ac2d44b0a5be9c0b49ce4ce8e5f6821ce2a Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Wed, 1 Sep 2021 08:00:00 +0000
Subject: [PATCH 3/3] quotasys.c: fix strncpy usage
When quota is configured using --enable-werror, gcc -flto fails with
the following diagnostics:
In function 'strncpy',
inlined from 'sstrncpy' at common.c:107:2,
inlined from 'copy_mntoptarg' at quotasys.c:774:3,
inlined from 'copy_mntoptarg' at quotasys.c:769:13:
/usr/include/bits/string_fortified.h:91:10: error: '__builtin_strncpy' specified bound depends on the length of the source argument [-Werror=stringop-overflow=]
91 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^
quotasys.c: In function 'copy_mntoptarg':
quotasys.c:774:25: note: length computed here
774 | sstrncpy(buf, optarg, min(buflen, strlen(optarg) + 1));
| ^
This diagnostics is correct: strcpy() copies at most "len" bytes of the string
pointed to by "src", including the terminating null byte, to the buffer
pointed to by "dest".
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Jan Kara <jack@suse.cz>
---
quotasys.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/quotasys.c b/quotasys.c
index 885fb1f..3f50e32 100644
--- a/quotasys.c
+++ b/quotasys.c
@@ -771,7 +771,7 @@ static void copy_mntoptarg(char *buf, const char *optarg, int buflen)
char *sep = strchr(optarg, ',');
if (!sep)
- sstrncpy(buf, optarg, min(buflen, strlen(optarg) + 1));
+ sstrncpy(buf, optarg, buflen);
else
sstrncpy(buf, optarg, min(buflen, sep - optarg + 1));
}
--
2.31.1

View File

@ -13,7 +13,7 @@
Name: quota
Epoch: 1
Version: 4.06
Release: 6%{?dist}
Release: 7%{?dist}
Summary: System administration tools for monitoring users' disk usage
# quota_nld.c, quotaio_xfs.h: GPLv2
# bylabel.c copied from util-linux: GPLv2+
@ -72,6 +72,10 @@ Patch5: quota-4.06-Drop-sys-cdefs.h-usage.patch
# Fix sa_mask initialization when registering PID file removal,
# upstream bug #141, in upstream after 4.06
Patch6: quota-4.06-quota_nld-Initialize-sa_mask-when-registering-PID-fi.patch
Patch7: quota-4.06-quotacheck-quotaon-Always-display-message-about-depr.patch
Patch8: quota-4.06-common.c-fix-strncat-usage.patch
Patch9: quota-4.06-quotasys.c-fix-strncpy-usage.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bash
@ -348,6 +352,11 @@ make check
%changelog
* Fri Jan 21 2022 Lukas Czerner <lczerner@redhat.com> - 1:4.06-7
- Always display message about deprecated usage in quotacheck and quotaon
- Fix strncat usage in common.c
- Fix strncpy usage quotasys.c
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.06-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild