From e1b88851aa3446677220657dfe2b47eaf50fbc7a Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Feb 23 2012 01:02:41 +0000 Subject: Linux 3.3-rc4-git3 (upstream 45196cee28a5bcfb6ddbe2bffa4270cbed66ae4b) --- diff --git a/kernel.spec b/kernel.spec index 489f33b..1d723e3 100644 --- a/kernel.spec +++ b/kernel.spec @@ -54,7 +54,7 @@ Summary: The Linux kernel # For non-released -rc kernels, this will be appended after the rcX and # gitX tags, so a 3 here would become part of release "0.rcX.gitX.3" # -%global baserelease 2 +%global baserelease 1 %global fedora_build %{baserelease} # base_sublevel is the kernel version we're starting with and patching @@ -87,7 +87,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 4 # The git snapshot level -%define gitrev 2 +%define gitrev 3 # Set rpm version accordingly %define rpmversion 3.%{upstream_sublevel}.0 %endif @@ -738,8 +738,6 @@ Patch14000: hibernate-freeze-filesystems.patch Patch14010: lis3-improve-handling-of-null-rate.patch -Patch14020: nfs-oops-getacl.patch - Patch20000: utrace.patch # Flattened devicetree support @@ -1464,8 +1462,6 @@ ApplyPatch hibernate-freeze-filesystems.patch ApplyPatch lis3-improve-handling-of-null-rate.patch -ApplyPatch nfs-oops-getacl.patch - # utrace. ApplyPatch utrace.patch @@ -2370,6 +2366,9 @@ fi # ||----w | # || || %changelog +* Wed Feb 22 2012 Josh Boyer - 3.3.0-0.rc4.git3.1 +- Linux 3.3-rc4-git3 (upstream 45196cee28a5bcfb6ddbe2bffa4270cbed66ae4b) + * Wed Feb 22 2012 Josh Boyer - 3.3.0-0.rc4.git2.1 - Linux 3.3-rc4-git2 (upstream 719741d9986572d64b47c35c09f5e7bb8d389400) diff --git a/nfs-oops-getacl.patch b/nfs-oops-getacl.patch deleted file mode 100644 index 53e599d..0000000 --- a/nfs-oops-getacl.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 331818f1c468a24e581aedcbe52af799366a9dfe Mon Sep 17 00:00:00 2001 -From: Trond Myklebust -Date: Fri, 3 Feb 2012 18:30:53 -0500 -Subject: [PATCH] NFSv4: Fix an Oops in the NFSv4 getacl code - -Commit bf118a342f10dafe44b14451a1392c3254629a1f (NFSv4: include bitmap -in nfsv4 get acl data) introduces the 'acl_scratch' page for the case -where we may need to decode multi-page data. However it fails to take -into account the fact that the variable may be NULL (for the case where -we're not doing multi-page decode), and it also attaches it to the -encoding xdr_stream rather than the decoding one. - -The immediate result is an Oops in nfs4_xdr_enc_getacl due to the -call to page_address() with a NULL page pointer. - -Signed-off-by: Trond Myklebust -Cc: Andy Adamson -Cc: stable@vger.kernel.org ---- - fs/nfs/nfs4proc.c | 8 ++++---- - fs/nfs/nfs4xdr.c | 5 ++++- - include/linux/nfs_xdr.h | 2 +- - 3 files changed, 9 insertions(+), 6 deletions(-) - -diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c -index f0c849c..d202e04 100644 ---- a/fs/nfs/nfs4proc.c -+++ b/fs/nfs/nfs4proc.c -@@ -3575,8 +3575,8 @@ static ssize_t __nfs4_get_acl_uncached(struct inode *inode, void *buf, size_t bu - } - if (npages > 1) { - /* for decoding across pages */ -- args.acl_scratch = alloc_page(GFP_KERNEL); -- if (!args.acl_scratch) -+ res.acl_scratch = alloc_page(GFP_KERNEL); -+ if (!res.acl_scratch) - goto out_free; - } - args.acl_len = npages * PAGE_SIZE; -@@ -3612,8 +3612,8 @@ out_free: - for (i = 0; i < npages; i++) - if (pages[i]) - __free_page(pages[i]); -- if (args.acl_scratch) -- __free_page(args.acl_scratch); -+ if (res.acl_scratch) -+ __free_page(res.acl_scratch); - return ret; - } - -diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c -index 95e92e4..33bd8d0 100644 ---- a/fs/nfs/nfs4xdr.c -+++ b/fs/nfs/nfs4xdr.c -@@ -2522,7 +2522,6 @@ static void nfs4_xdr_enc_getacl(struct rpc_rqst *req, struct xdr_stream *xdr, - - xdr_inline_pages(&req->rq_rcv_buf, replen << 2, - args->acl_pages, args->acl_pgbase, args->acl_len); -- xdr_set_scratch_buffer(xdr, page_address(args->acl_scratch), PAGE_SIZE); - - encode_nops(&hdr); - } -@@ -6032,6 +6031,10 @@ nfs4_xdr_dec_getacl(struct rpc_rqst *rqstp, struct xdr_stream *xdr, - struct compound_hdr hdr; - int status; - -+ if (res->acl_scratch != NULL) { -+ void *p = page_address(res->acl_scratch); -+ xdr_set_scratch_buffer(xdr, p, PAGE_SIZE); -+ } - status = decode_compound_hdr(xdr, &hdr); - if (status) - goto out; -diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h -index a764cef..d6ba9a1 100644 ---- a/include/linux/nfs_xdr.h -+++ b/include/linux/nfs_xdr.h -@@ -614,7 +614,6 @@ struct nfs_getaclargs { - size_t acl_len; - unsigned int acl_pgbase; - struct page ** acl_pages; -- struct page * acl_scratch; - struct nfs4_sequence_args seq_args; - }; - -@@ -624,6 +623,7 @@ struct nfs_getaclres { - size_t acl_len; - size_t acl_data_offset; - int acl_flags; -+ struct page * acl_scratch; - struct nfs4_sequence_res seq_res; - }; - --- -1.7.4.1 - diff --git a/sources b/sources index ee9be7b..7f949fe 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ 364066fa18767ec0ae5f4e4abcf9dc51 linux-3.2.tar.xz 35f3b51bfd9bd47a939753e68d49ca00 patch-3.3-rc4.xz 02c210a8fd24acca8c1ac93f6f1d3913 compat-wireless-2012-02-05.tar.bz2 -b0d7ec50121d5baa3d36908d22cc6459 patch-3.3-rc4-git2.xz +257185c04d1aaf8324c3858558cb61d4 patch-3.3-rc4-git3.xz