Fri, 29 Nov 2013 19:28:27 -0600
applying patch-3.10.19-vs2.3.6.8.diff to linux-3.10.21 fails:
patching file ipc/shm.c
Hunk #2 FAILED at 210.
Hunk #3 FAILED at 219.
Hunk #4 succeeded at 499 (offset 3 lines).
Hunk #5 succeeded at 576 (offset 3 lines).
2 out of 5 hunks FAILED -- saving rejects to file ipc/shm.c.rej
the failure is due to this commit in 3.10.21:
http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?h=linux-3.10.y&id=b444df2f5791fb1ddf7d6b771ee32e30cc29dad9
the attached patch fixes the failure (and Makefile's EXTRAVERSION, too).
instructions:
1. download linux-3.10.21 (or patch linux-3.10.20, etc)
2. apply patch-3.10.19-vs2.3.6.8.diff
3. apply the attached patch-3.10.19-21-vs2.3.6.8.diff
i've built and tested the resulting kernel against testme.sh and testfs.sh in
virtualbox (and will put into production in 24 hours if no bugs are reported
in linux-3.10.21).
corey
--
undefined@pobox.com
diff -urNpd a/linux-3.10.21-vs2.3.6.8/ipc/shm.c b/linux-3.10.21-vs2.3.6.8/ipc/shm.c
--- a/linux-3.10.21-vs2.3.6.8/ipc/shm.c 2013-11-29 15:47:58.000000000 -0600
+++ b/linux-3.10.21-vs2.3.6.8/ipc/shm.c 2013-11-29 16:21:32.000000000 -0600
@@ -214,7 +214,13 @@ static void shm_destroy(struct ipc_names
shm_file = shp->shm_file;
shp->shm_file = NULL;
- ns->shm_tot -= (shp->shm_segsz + PAGE_SIZE - 1) >> PAGE_SHIFT;
+
+ struct vx_info *vxi = lookup_vx_info(shp->shm_perm.xid);
+ int numpages = (shp->shm_segsz + PAGE_SIZE - 1) >> PAGE_SHIFT;
+
+ vx_ipcshm_sub(vxi, shp, numpages);
+ ns->shm_tot -= numpages;
+
shm_rmid(ns, shp);
shm_unlock(shp);
if (!is_file_hugepages(shm_file))
@@ -222,6 +228,7 @@ static void shm_destroy(struct ipc_names
else if (shp->mlock_user)
user_shm_unlock(file_inode(shm_file)->i_size, shp->mlock_user);
fput(shm_file);
+ put_vx_info(vxi);
ipc_rcu_putref(shp, shm_rcu_free);
}
diff -urNpd a/linux-3.10.21-vs2.3.6.8/Makefile b/linux-3.10.21-vs2.3.6.8/Makefile
--- a/linux-3.10.21-vs2.3.6.8/Makefile 2013-11-29 15:38:14.000000000 -0600
+++ b/linux-3.10.21-vs2.3.6.8/Makefile 2013-11-29 15:50:03.000000000 -0600
@@ -1,7 +1,7 @@
VERSION = 3
PATCHLEVEL = 10
SUBLEVEL = 21
-EXTRAVERSION =
+EXTRAVERSION = -vs2.3.6.8
NAME = TOSSUG Baby Fish
# *DOCUMENTATION*