Commit b49a447b authored by Manuel's avatar Manuel

Remove tiacx

parent 22178d7e
......@@ -4,7 +4,7 @@
# maintainer abveritas@chakra-project.org
# Find the kernel name inside the chroot
_extramodules=extramodules-3.7-CHAKRA
_extramodules=extramodules-3.8-CHAKRA
_kver="$(cat /lib/modules/${_extramodules}/version)"
pkgname=broadcom-wl
......@@ -14,7 +14,7 @@ pkgdesc='Broadcom 802.11abgn hybrid Linux networking device driver'
arch=('x86_64')
url='http://www.broadcom.com/support/802.11/linux_sta.php'
license=('custom')
depends=('linux>=3.7' 'linux<3.8')
depends=('linux>=3.8' 'linux<3.9')
makedepends=('linux-headers')
source=("http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v${pkgver//./_}.tar.gz"
......@@ -49,4 +49,4 @@ package() {
install -D -m 644 lib/LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -D -m 644 modprobe.d "${pkgdir}"/etc/modprobe.d/broadcom-wl.conf
}
\ No newline at end of file
}
[Dolphin]
Timestamp=2013,5,1,10,4,11
Version=3
[Settings]
HiddenFilesShown=true
#
# Core Packages for Chakra, part of chakra-project.org
#
# maintainer abveritas[at]chakra-project[dog]org>
# maintainer Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgbase=linux
pkgname=('linux' 'linux-headers' 'linux-docs')
_kernelname=${pkgname#linux}
_basekernel=3.7
pkgver=3.7.6
pkgrel=2
_basekernel=3.8
pkgver=3.8.8
pkgrel=1
arch=('x86_64')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl')
options=('!strip')
source=("http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.7.tar.xz"
source=("http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.tar.xz"
"http://www.kernel.org/pub/linux/kernel/v3.x/patch-${pkgver}.xz"
# the main kernel config files
'config.x86_64'
......@@ -29,27 +28,19 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.7.tar.xz"
'config.aufs'
# standard config files for mkinitcpio ramdisk
'linux.preset'
'change-default-console-loglevel.patch'
'fat-3.6.x.patch'
'sp5100_tco-Add-SB8x0-chipset-support2.patch'
'ath3k.patch'
'security.patch')
md5sums=('21223369d682bcf44bcdfe1521095983'
'ec61c44f37585a768d41c0439101ef9c'
'05befa9b6c2a91015f89d6cda6802198'
'2e33819e859125ba0176072d2cd5ac81'
'6a1ffafeacb79be96c97e4638cea2452'
'3074dfe1c01219b1b005a4e5f00e25cd'
'f18131bd568796722284557193c3a3c0'
'cd0a193e702bf4d607190e5249c67da8'
'35a09afd2e995a88d36c342ade093c27'
'change-default-console-loglevel.patch')
md5sums=('1c738edfc54e7c65faeb90c436104e2f'
'08cdcef928c2ca402adf1c444a3c43ac'
'b052c16a6f0b1861233166b9d52033d2'
'52690fe8baa6d6abd858f04c4531d437'
'94a873436f6c62580ac54c1b9f0e021a'
'a2678afaf5205f24c58affd4b1570503'
'7693e0258036ab1c6e6a42d7ee573666'
'f9d33aeebb5c637eeefc222643632035'
'5e73a0f39d73095bdff6a9168ecc05cd'
'52f4a2c7f6277774117c834d949d6b81'
'eb14dcfd80c00852ef81ded6e826826a'
'65cbe8e4c8efaf96dd162102e46ce81d'
'88d501404f172dac6fcb248978251560'
'57ee9aa09bdec07a5ce2b553b94c7039'
'd393a0bbd762bf9d6f42d770b89e6811'
'fc4928d107d638bb106901f1bfedd684')
'65cbe8e4c8efaf96dd162102e46ce81d')
build() {
cd "${srcdir}/linux-${_basekernel}"
......@@ -60,18 +51,6 @@ build() {
# add latest fixes from stable queue, if needed
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
# fix cosmetic fat issue
patch -p1 -i "${srcdir}/fat-3.6.x.patch"
# "kernel: sp5100_tco: mmio address 0xfec000f0 already in use" error
# https://bugzilla.kernel.org/show_bug.cgi?id=43176
#patch -p1 -i "${srcdir}/sp5100_tco-Add-SB8x0-chipset-support2.patch"
# bug http://chakra-linux.org/bugs/index.php?do=details&task_id=501
patch -p1 -i "${srcdir}/ath3k.patch"
# Fix out-of-bounds access to sock_diag_handlerscurrent, code does not test for
# this condition therefore is vulnerable to an out-of-bound access opening doors
# for a privilege escalation
patch -p1 -i "${srcdir}/security.patch"
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
......@@ -322,4 +301,4 @@ package_linux-docs() {
# remove a file already in linux package
rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
}
\ No newline at end of file
}
diff -urN linux-3.8-rc1/drivers/bluetooth/ath3k.c linux-3.8-rc1.new/drivers/bluetooth/ath3k.c
--- linux-3.8-rc1/drivers/bluetooth/ath3k.c 2012-12-22 02:19:00.000000000 +0100
+++ linux-3.8-rc1.new/drivers/bluetooth/ath3k.c 2012-12-26 21:19:39.052205857 +0100
@@ -77,6 +77,7 @@
{ USB_DEVICE(0x0CF3, 0x311D) },
{ USB_DEVICE(0x13d3, 0x3375) },
{ USB_DEVICE(0x04CA, 0x3005) },
+ { USB_DEVICE(0x04CA, 0x3008) },
{ USB_DEVICE(0x13d3, 0x3362) },
{ USB_DEVICE(0x0CF3, 0xE004) },
{ USB_DEVICE(0x0930, 0x0219) },
@@ -104,6 +105,7 @@
{ USB_DEVICE(0x0cf3, 0x311D), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
+ { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
diff -urN linux-3.8-rc1/drivers/bluetooth/btusb.c linux-3.8-rc1.new/drivers/bluetooth/btusb.c
--- linux-3.8-rc1/drivers/bluetooth/btusb.c 2012-12-22 02:19:00.000000000 +0100
+++ linux-3.8-rc1.new/drivers/bluetooth/btusb.c 2012-12-26 21:19:23.423360883 +0100
@@ -135,6 +135,7 @@
{ USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
+ { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
aufs3.7 base patch
aufs3.x-rcN base patch
diff --git a/fs/file_table.c b/fs/file_table.c
index a72bf9d..dac6792 100644
index de9e965..e73287a 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -36,7 +36,7 @@ struct files_stat_struct files_stat = {
......@@ -14,7 +14,7 @@ index a72bf9d..dac6792 100644
/* SLAB cache for file structures */
static struct kmem_cache *filp_cachep __read_mostly;
diff --git a/fs/inode.c b/fs/inode.c
index 64999f1..ad73fc3 100644
index 14084b7..ece87ed 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1503,7 +1503,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode,
......@@ -27,10 +27,10 @@ index 64999f1..ad73fc3 100644
if (inode->i_op->update_time)
return inode->i_op->update_time(inode, time, flags);
diff --git a/fs/splice.c b/fs/splice.c
index 13e5b47..f185c6c 100644
index 6909d89..020c7bc 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -1093,8 +1093,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
@@ -1092,8 +1092,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
/*
* Attempt to initiate a splice from pipe to file.
*/
......@@ -41,7 +41,7 @@ index 13e5b47..f185c6c 100644
{
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
loff_t *, size_t, unsigned int);
@@ -1121,9 +1121,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
@@ -1120,9 +1120,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
/*
* Attempt to initiate a splice from a file to a pipe.
*/
......@@ -55,10 +55,10 @@ index 13e5b47..f185c6c 100644
ssize_t (*splice_read)(struct file *, loff_t *,
struct pipe_inode_info *, size_t, unsigned int);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 75fe9a1..70a766ae 100644
index 7617ee0..1a39c33 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2553,6 +2553,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *);
@@ -2551,6 +2551,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *);
extern int inode_newsize_ok(const struct inode *, loff_t offset);
extern void setattr_copy(struct inode *inode, const struct iattr *attr);
......
aufs3.7 kbuild patch
aufs3.x-rcN kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig
index f95ae3a..6d8a9a5 100644
index 780725a..d460c05 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -220,6 +220,7 @@ source "fs/pstore/Kconfig"
source "fs/sysv/Kconfig"
@@ -211,6 +211,7 @@ source "fs/sysv/Kconfig"
source "fs/ufs/Kconfig"
source "fs/exofs/Kconfig"
source "fs/f2fs/Kconfig"
+source "fs/aufs/Kconfig"
endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile
index 1d7af79..06db6eb 100644
index 9d53192..e70f08f 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -126,3 +126,4 @@ obj-$(CONFIG_GFS2_FS) += gfs2/
@@ -127,3 +127,4 @@ obj-$(CONFIG_F2FS_FS) += f2fs/
obj-y += exofs/ # Multiple modules
obj-$(CONFIG_CEPH_FS) += ceph/
obj-$(CONFIG_PSTORE) += pstore/
......
aufs3.7 loopback patch
aufs3.x-rcN loopback patch
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 54046e5..b0f8b8b 100644
index ae12512..ed8295b 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -500,7 +500,7 @@ out:
@@ -506,7 +506,7 @@ out:
}
struct switch_request {
......@@ -13,7 +13,7 @@ index 54046e5..b0f8b8b 100644
struct completion wait;
};
@@ -560,7 +560,8 @@ static int loop_thread(void *data)
@@ -568,7 +568,8 @@ static int loop_thread(void *data)
* First it needs to flush existing IO, it does this by sending a magic
* BIO down the pipe. The completion of this BIO does the actual switch.
*/
......@@ -23,7 +23,7 @@ index 54046e5..b0f8b8b 100644
{
struct switch_request w;
struct bio *bio = bio_alloc(GFP_KERNEL, 0);
@@ -568,6 +569,7 @@ static int loop_switch(struct loop_device *lo, struct file *file)
@@ -576,6 +577,7 @@ static int loop_switch(struct loop_device *lo, struct file *file)
return -ENOMEM;
init_completion(&w.wait);
w.file = file;
......@@ -31,7 +31,7 @@ index 54046e5..b0f8b8b 100644
bio->bi_private = &w;
bio->bi_bdev = NULL;
loop_make_request(lo->lo_queue, bio);
@@ -584,7 +586,7 @@ static int loop_flush(struct loop_device *lo)
@@ -592,7 +594,7 @@ static int loop_flush(struct loop_device *lo)
if (!lo->lo_thread)
return 0;
......@@ -40,7 +40,7 @@ index 54046e5..b0f8b8b 100644
}
/*
@@ -603,6 +605,7 @@ static void do_loop_switch(struct loop_device *lo, struct switch_request *p)
@@ -611,6 +613,7 @@ static void do_loop_switch(struct loop_device *lo, struct switch_request *p)
mapping = file->f_mapping;
mapping_set_gfp_mask(old_file->f_mapping, lo->old_gfp_mask);
lo->lo_backing_file = file;
......@@ -48,7 +48,7 @@ index 54046e5..b0f8b8b 100644
lo->lo_blocksize = S_ISBLK(mapping->host->i_mode) ?
mapping->host->i_bdev->bd_block_size : PAGE_SIZE;
lo->old_gfp_mask = mapping_gfp_mask(mapping);
@@ -611,6 +614,13 @@ out:
@@ -619,6 +622,13 @@ out:
complete(&p->wait);
}
......@@ -62,7 +62,7 @@ index 54046e5..b0f8b8b 100644
/*
* loop_change_fd switched the backing store of a loopback device to
@@ -624,6 +634,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -632,6 +642,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
unsigned int arg)
{
struct file *file, *old_file;
......@@ -70,7 +70,7 @@ index 54046e5..b0f8b8b 100644
struct inode *inode;
int error;
@@ -640,9 +651,16 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -648,9 +659,16 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
file = fget(arg);
if (!file)
goto out;
......@@ -87,7 +87,7 @@ index 54046e5..b0f8b8b 100644
error = -EINVAL;
@@ -654,17 +672,21 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -662,17 +680,21 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
goto out_putf;
/* and ... switch */
......@@ -110,7 +110,7 @@ index 54046e5..b0f8b8b 100644
out:
return error;
}
@@ -807,7 +829,7 @@ static void loop_config_discard(struct loop_device *lo)
@@ -815,7 +837,7 @@ static void loop_config_discard(struct loop_device *lo)
static int loop_set_fd(struct loop_device *lo, fmode_t mode,
struct block_device *bdev, unsigned int arg)
{
......@@ -119,7 +119,7 @@ index 54046e5..b0f8b8b 100644
struct inode *inode;
struct address_space *mapping;
unsigned lo_blocksize;
@@ -822,6 +844,12 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
@@ -830,6 +852,12 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
file = fget(arg);
if (!file)
goto out;
......@@ -132,7 +132,7 @@ index 54046e5..b0f8b8b 100644
error = -EBUSY;
if (lo->lo_state != Lo_unbound)
@@ -870,6 +898,7 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
@@ -878,6 +906,7 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode,
lo->lo_device = bdev;
lo->lo_flags = lo_flags;
lo->lo_backing_file = file;
......@@ -140,7 +140,7 @@ index 54046e5..b0f8b8b 100644
lo->transfer = transfer_none;
lo->ioctl = NULL;
lo->lo_sizelimit = 0;
@@ -915,6 +944,7 @@ out_clr:
@@ -924,6 +953,7 @@ out_clr:
lo->lo_thread = NULL;
lo->lo_device = NULL;
lo->lo_backing_file = NULL;
......@@ -148,7 +148,7 @@ index 54046e5..b0f8b8b 100644
lo->lo_flags = 0;
set_capacity(lo->lo_disk, 0);
invalidate_bdev(bdev);
@@ -924,6 +954,8 @@ out_clr:
@@ -933,6 +963,8 @@ out_clr:
lo->lo_state = Lo_unbound;
out_putf:
fput(file);
......@@ -157,7 +157,7 @@ index 54046e5..b0f8b8b 100644
out:
/* This is safe: open() is still holding a reference. */
module_put(THIS_MODULE);
@@ -970,6 +1002,7 @@ loop_init_xfer(struct loop_device *lo, struct loop_func_table *xfer,
@@ -979,6 +1011,7 @@ loop_init_xfer(struct loop_device *lo, struct loop_func_table *xfer,
static int loop_clr_fd(struct loop_device *lo)
{
struct file *filp = lo->lo_backing_file;
......@@ -165,7 +165,7 @@ index 54046e5..b0f8b8b 100644
gfp_t gfp = lo->old_gfp_mask;
struct block_device *bdev = lo->lo_device;
@@ -1003,6 +1036,7 @@ static int loop_clr_fd(struct loop_device *lo)
@@ -1012,6 +1045,7 @@ static int loop_clr_fd(struct loop_device *lo)
spin_lock_irq(&lo->lo_lock);
lo->lo_backing_file = NULL;
......@@ -173,7 +173,7 @@ index 54046e5..b0f8b8b 100644
spin_unlock_irq(&lo->lo_lock);
loop_release_xfer(lo);
@@ -1043,6 +1077,8 @@ static int loop_clr_fd(struct loop_device *lo)
@@ -1052,6 +1086,8 @@ static int loop_clr_fd(struct loop_device *lo)
* bd_mutex which is usually taken before lo_ctl_mutex.
*/
fput(filp);
......@@ -258,10 +258,10 @@ index ab4c909..8e654b8 100644
/* ---------------------------------------------------------------------- */
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 70a766ae..31fcb91 100644
index 1a39c33..146e26f 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1619,6 +1619,10 @@ struct super_operations {
@@ -1614,6 +1614,10 @@ struct super_operations {
int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t);
int (*nr_cached_objects)(struct super_block *);
void (*free_cached_objects)(struct super_block *, int);
......@@ -273,7 +273,7 @@ index 70a766ae..31fcb91 100644
/*
diff --git a/include/linux/loop.h b/include/linux/loop.h
index 6492181..2b61d6a 100644
index 460b60f..6910d80 100644
--- a/include/linux/loop.h
+++ b/include/linux/loop.h
@@ -44,7 +44,7 @@ struct loop_device {
......
aufs3.7 proc_map patch
aufs3.x-rcN proc_map patch
diff --git a/fs/buffer.c b/fs/buffer.c
index ec0aca8..107f143 100644
index 7a75c3e..b9c3f3c 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2384,6 +2384,8 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
@@ -2380,6 +2380,8 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
* fault so this update may be superfluous but who really cares...
*/
file_update_time(vma->vm_file);
......@@ -29,7 +29,7 @@ index b1822dd..8b29ab7 100644
ino = inode->i_ino;
}
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 90c63f9..78680c7 100644
index ca5ce7f..45db66f 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -272,6 +272,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid)
......@@ -43,7 +43,7 @@ index 90c63f9..78680c7 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
@@ -1232,6 +1236,8 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
@@ -1285,6 +1289,8 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
if (file) {
seq_printf(m, " file=");
......@@ -68,10 +68,10 @@ index 1ccfa53..c39acb5 100644
ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 31f8a3a..8b068ad 100644
index f8f5162..25ce88d 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -211,6 +211,7 @@ struct vm_region {
@@ -212,6 +212,7 @@ struct vm_region {
unsigned long vm_top; /* region allocated to here */
unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */
struct file *vm_file; /* the backing file or NULL */
......@@ -79,7 +79,7 @@ index 31f8a3a..8b068ad 100644
int vm_usage; /* region usage count (access under nommu_region_sem) */
bool vm_icache_flushed : 1; /* true if the icache has been flushed for
@@ -267,6 +268,7 @@ struct vm_area_struct {
@@ -280,6 +281,7 @@ struct vm_area_struct {
unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE
units, *not* PAGE_CACHE_SIZE */
struct file * vm_file; /* File we map to (can be NULL). */
......@@ -88,10 +88,10 @@ index 31f8a3a..8b068ad 100644
#ifndef CONFIG_MMU
diff --git a/kernel/fork.c b/kernel/fork.c
index 8b20ab7..11a9854 100644
index c535f33..76da22a 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -416,6 +416,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
@@ -417,6 +417,8 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
struct address_space *mapping = file->f_mapping;
get_file(file);
......@@ -101,10 +101,10 @@ index 8b20ab7..11a9854 100644
atomic_dec(&inode->i_writecount);
mutex_lock(&mapping->i_mmap_mutex);
diff --git a/mm/memory.c b/mm/memory.c
index 221fc9f..a55a613 100644
index bb1369f..105c729 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -3368,6 +3368,8 @@ static int __do_fault(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -3373,6 +3373,8 @@ static int __do_fault(struct mm_struct *mm, struct vm_area_struct *vma,
/* file_update_time outside page_lock */
if (vma->vm_file && !page_mkwrite)
file_update_time(vma->vm_file);
......@@ -114,10 +114,10 @@ index 221fc9f..a55a613 100644
unlock_page(vmf.page);
if (anon)
diff --git a/mm/mmap.c b/mm/mmap.c
index 9a796c4..8f3271e 100644
index 35730ee..a8c385b 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -227,6 +227,8 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
@@ -242,6 +242,8 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
vma->vm_ops->close(vma);
if (vma->vm_file)
fput(vma->vm_file);
......@@ -126,7 +126,7 @@ index 9a796c4..8f3271e 100644
mpol_put(vma_policy(vma));
kmem_cache_free(vm_area_cachep, vma);
return next;
@@ -667,6 +669,8 @@ again: remove_next = 1 + (end > next->vm_end);
@@ -816,6 +818,8 @@ again: remove_next = 1 + (end > next->vm_end);
if (file) {
uprobe_munmap(next, next->vm_start, next->vm_end);
fput(file);
......@@ -135,7 +135,7 @@ index 9a796c4..8f3271e 100644
}
if (next->anon_vma)
anon_vma_merge(vma, next);
@@ -2019,6 +2023,8 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
@@ -2344,6 +2348,8 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
if (new->vm_file)
get_file(new->vm_file);
......@@ -144,7 +144,7 @@ index 9a796c4..8f3271e 100644
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
@@ -2038,6 +2044,8 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
@@ -2363,6 +2369,8 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma,
new->vm_ops->close(new);
if (new->vm_file)
fput(new->vm_file);
......@@ -153,7 +153,7 @@ index 9a796c4..8f3271e 100644
unlink_anon_vmas(new);
out_free_mpol:
mpol_put(pol);
@@ -2435,6 +2443,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
@@ -2760,6 +2768,8 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
goto out_free_mempol;
if (new_vma->vm_file)
get_file(new_vma->vm_file);
......@@ -163,10 +163,10 @@ index 9a796c4..8f3271e 100644
new_vma->vm_ops->open(new_vma);
vma_link(mm, new_vma, prev, rb_link, rb_parent);
diff --git a/mm/nommu.c b/mm/nommu.c
index 45131b4..576643c9f 100644
index 79c3cac..85da8dc 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -633,6 +633,8 @@ static void __put_nommu_region(struct vm_region *region)
@@ -648,6 +648,8 @@ static void __put_nommu_region(struct vm_region *region)
if (region->vm_file)
fput(region->vm_file);
......@@ -175,7 +175,7 @@ index 45131b4..576643c9f 100644
/* IO memory and memory shared directly out of the pagecache
* from ramfs/tmpfs mustn't be released here */
@@ -791,6 +793,8 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
@@ -806,6 +808,8 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
vma->vm_ops->close(vma);
if (vma->vm_file)
fput(vma->vm_file);
......@@ -184,7 +184,7 @@ index 45131b4..576643c9f 100644
put_nommu_region(vma->vm_region);
kmem_cache_free(vm_area_cachep, vma);
}
@@ -1354,6 +1358,8 @@ unsigned long do_mmap_pgoff(struct file *file,
@@ -1369,6 +1373,8 @@ unsigned long do_mmap_pgoff(struct file *file,
}
}
fput(region->vm_file);
......@@ -193,7 +193,7 @@ index 45131b4..576643c9f 100644
kmem_cache_free(vm_region_jar, region);
region = pregion;
result = start;
@@ -1430,9 +1436,13 @@ error_just_free:
@@ -1445,9 +1451,13 @@ error_just_free:
error:
if (region->vm_file)
fput(region->vm_file);
......
aufs3.7 standalone patch
aufs3.x-rcN standalone patch
diff --git a/fs/file_table.c b/fs/file_table.c
index dac6792..e3f2c15 100644
index e73287a..b33aebe 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -37,6 +37,7 @@ struct files_stat_struct files_stat = {
......@@ -22,7 +22,7 @@ index dac6792..e3f2c15 100644
/*
diff --git a/fs/inode.c b/fs/inode.c
index ad73fc3..108ff2b 100644
index ece87ed..38f7bc8 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -56,6 +56,7 @@ static struct hlist_head *inode_hashtable __read_mostly;
......@@ -42,10 +42,10 @@ index ad73fc3..108ff2b 100644
/**
* touch_atime - update the access time
diff --git a/fs/namespace.c b/fs/namespace.c
index 2496062..3e66a90 100644
index 55605c5..aed7607 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -50,6 +50,7 @@ EXPORT_SYMBOL_GPL(fs_kobj);
@@ -52,6 +52,7 @@ EXPORT_SYMBOL_GPL(fs_kobj);
* tree or hash is modified or when a vfsmount structure is modified.
*/
DEFINE_BRLOCK(vfsmount_lock);
......@@ -53,7 +53,7 @@ index 2496062..3e66a90 100644
static inline unsigned long hash(struct vfsmount *mnt, struct dentry *dentry)
{
@@ -1401,6 +1402,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
@@ -1424,6 +1425,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
}
return 0;
}
......@@ -62,7 +62,7 @@ index 2496062..3e66a90 100644
static void cleanup_group_ids(struct mount *mnt, struct mount *end)
{
diff --git a/fs/notify/group.c b/fs/notify/group.c
index 63fc294..6f4adca 100644
index bd2625b..2ff2a0f 100644
--- a/fs/notify/group.c
+++ b/fs/notify/group.c
@@ -22,6 +22,7 @@
......@@ -73,48 +73,59 @@ index 63fc294..6f4adca 100644
#include <linux/fsnotify_backend.h>
#include "fsnotify.h"
@@ -70,6 +71,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
@@ -65,6 +66,7 @@ void fsnotify_get_group(struct fsnotify_group *group)
{
atomic_inc(&group->refcnt);
}
+EXPORT_SYMBOL_GPL(fsnotify_get_group);
/*
* Drop a reference to a group. Free it if it's through.
@@ -74,6 +76,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
if (atomic_dec_and_test(&group->refcnt))
fsnotify_destroy_group(group);
fsnotify_final_destroy_group(group);
}
+EXPORT_SYMBOL_GPL(fsnotify_put_group);
/*
* Create a new fsnotify_group and hold a reference for the group returned.
@@ -102,3 +104,4 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops)
@@ -102,6 +105,7 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops)
return group;
}
+EXPORT_SYMBOL_GPL(fsnotify_alloc_group);
int fsnotify_fasync(int fd, struct file *file, int on)
{
diff --git a/fs/notify/mark.c b/fs/notify/mark.c
index f104d56..54f36db 100644
index fc6b49b..a6bb87d 100644
--- a/fs/notify/mark.c
+++ b/fs/notify/mark.c
@@ -112,6 +112,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark)
if (atomic_dec_and_test(&mark->refcnt))
@@ -115,6 +115,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark)
mark->free_mark(mark);
}
}
+EXPORT_SYMBOL_GPL(fsnotify_put_mark);
/*
* Any time a mark is getting freed we end up here.
@@ -191,6 +192,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark)
if (unlikely(atomic_dec_and_test(&group->num_marks)))
fsnotify_final_destroy_group(group);
@@ -197,6 +198,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark,
fsnotify_destroy_mark_locked(mark, group);
mutex_unlock(&group->mark_mutex);
}
+EXPORT_SYMBOL_GPL(fsnotify_destroy_mark);
void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask)
{
@@ -278,6 +280,7 @@ err:
@@ -281,6 +283,7 @@ err:
return ret;
}
+EXPORT_SYMBOL_GPL(fsnotify_add_mark);
/*
* clear any marks in a group in which mark->flags & flags is true
@@ -333,6 +336,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark,
int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group,