fix to support 64 bit
This commit is contained in:
parent
b0eeb21f32
commit
018d790f16
43
0001-cachefilesd-fix-abort-in-decant_cull_table.patch
Normal file
43
0001-cachefilesd-fix-abort-in-decant_cull_table.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
From 3349ade9c1f40c0999c722dda4cd84b9869bebe2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: lixiaokeng <lixiaokeng@huawei.com>
|
||||||
|
Date: Mon, 29 Nov 2021 21:15:56 +0800
|
||||||
|
Subject: [PATCH] cachefilesd: fix abort() in decant_cull_table
|
||||||
|
|
||||||
|
decant_cull_table only deals data with 32 bit, we should fix it
|
||||||
|
to support 64 bit, or it will coredump.
|
||||||
|
|
||||||
|
Signed-off-by: volcanodragon <linfeilong@huawei.com>
|
||||||
|
---
|
||||||
|
cachefilesd.c | 9 ++++++++-
|
||||||
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/cachefilesd.c b/cachefilesd.c
|
||||||
|
index d4d236f..e9de4e4 100644
|
||||||
|
--- a/cachefilesd.c
|
||||||
|
+++ b/cachefilesd.c
|
||||||
|
@@ -1512,6 +1512,13 @@ static void decant_cull_table(void)
|
||||||
|
{
|
||||||
|
unsigned loop, avail, copy, leave, space, n;
|
||||||
|
|
||||||
|
+ long mask = 15;
|
||||||
|
+ long illegal = 6;
|
||||||
|
+
|
||||||
|
+ /* 8 is bit of byte, 4 is valid bit of mask and illegal */
|
||||||
|
+ mask = mask << (sizeof(void *) * 8 - 4);
|
||||||
|
+ illegal = illegal << (sizeof(void *) * 8 - 4);
|
||||||
|
+
|
||||||
|
if (scan_cursor)
|
||||||
|
error("Can't decant cull table whilst scanning");
|
||||||
|
|
||||||
|
@@ -1567,7 +1574,7 @@ static void decant_cull_table(void)
|
||||||
|
|
||||||
|
check:
|
||||||
|
for (loop = 0; loop < nr_in_ready_table; loop++)
|
||||||
|
- if (((long)cullready[loop] & 0xf0000000) == 0x60000000)
|
||||||
|
+ if (((long)cullready[loop] & mask) == illegal)
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
@ -1,12 +1,14 @@
|
|||||||
Name: cachefilesd
|
Name: cachefilesd
|
||||||
Version: 0.10.10
|
Version: 0.10.10
|
||||||
Release: 8
|
Release: 9
|
||||||
Summary: CacheFiles user-space management daemon
|
Summary: CacheFiles user-space management daemon
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://people.redhat.com/~dhowells/fscache/
|
URL: http://people.redhat.com/~dhowells/fscache/
|
||||||
Source0: https://people.redhat.com/dhowells/cachefs/cachefilesd-%{version}.tar.bz2
|
Source0: https://people.redhat.com/dhowells/cachefs/cachefilesd-%{version}.tar.bz2
|
||||||
|
|
||||||
|
Patch1: 0001-cachefilesd-fix-abort-in-decant_cull_table.patch
|
||||||
|
|
||||||
BuildRequires: gcc systemd-units
|
BuildRequires: gcc systemd-units
|
||||||
Requires(post): systemd-units
|
Requires(post): systemd-units
|
||||||
Requires(preun): systemd-units
|
Requires(preun): systemd-units
|
||||||
@ -62,6 +64,9 @@ install -D -m 644 cachefilesd.service %{buildroot}%{_unitdir}/cachefilesd.servic
|
|||||||
%{_mandir}/*/*
|
%{_mandir}/*/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 29 2021 volcanodragon <linfeilong@huawei.com> - 0.10.10-9
|
||||||
|
- DESC: fix decant_cull_table to support 64 bit.
|
||||||
|
|
||||||
* Fri Jul 30 2021 chenyanpanHW <chenyanpan@huawei.com> - 0.10.10-8
|
* Fri Jul 30 2021 chenyanpanHW <chenyanpan@huawei.com> - 0.10.10-8
|
||||||
- DESC: delete -S git from %autosetup, and delete BuildRequires git
|
- DESC: delete -S git from %autosetup, and delete BuildRequires git
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user