From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7882713865D for ; Fri, 21 Oct 2016 11:11:56 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id CF586E07F7; Fri, 21 Oct 2016 11:11:51 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A3212E07F7 for ; Fri, 21 Oct 2016 11:11:51 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 85944341665 for ; Fri, 21 Oct 2016 11:11:50 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 65FE52F4 for ; Fri, 21 Oct 2016 11:11:49 +0000 (UTC) From: "Mike Pagano" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Mike Pagano" Message-ID: <1477048297.b2af285eb4601a6aa04bd1b1d14c211a1408e39e.mpagano@gentoo> Subject: [gentoo-commits] proj/linux-patches:4.8 commit in: / X-VCS-Repository: proj/linux-patches X-VCS-Files: 0000_README 1002_linux-4.8.3.patch X-VCS-Directories: / X-VCS-Committer: mpagano X-VCS-Committer-Name: Mike Pagano X-VCS-Revision: b2af285eb4601a6aa04bd1b1d14c211a1408e39e X-VCS-Branch: 4.8 Date: Fri, 21 Oct 2016 11:11:49 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 77b90861-7b7e-4ba0-a934-ed62cedf16b6 X-Archives-Hash: e6191ab19cd29ed669201c4e1f59aa45 commit: b2af285eb4601a6aa04bd1b1d14c211a1408e39e Author: Mike Pagano gentoo org> AuthorDate: Fri Oct 21 11:11:37 2016 +0000 Commit: Mike Pagano gentoo org> CommitDate: Fri Oct 21 11:11:37 2016 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=b2af285e Linux patch 4.8.3 0000_README | 4 ++ 1002_linux-4.8.3.patch | 125 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 129 insertions(+) diff --git a/0000_README b/0000_README index 07a39ba..f814c9e 100644 --- a/0000_README +++ b/0000_README @@ -51,6 +51,10 @@ Patch: 1001_linux-4.8.2.patch From: http://www.kernel.org Desc: Linux 4.8.2 +Patch: 1002_linux-4.8.3.patch +From: http://www.kernel.org +Desc: Linux 4.8.3 + Patch: 1500_XATTR_USER_PREFIX.patch From: https://bugs.gentoo.org/show_bug.cgi?id=470644 Desc: Support for namespace user.pax.* on tmpfs. diff --git a/1002_linux-4.8.3.patch b/1002_linux-4.8.3.patch new file mode 100644 index 0000000..36a0827 --- /dev/null +++ b/1002_linux-4.8.3.patch @@ -0,0 +1,125 @@ +diff --git a/Makefile b/Makefile +index bf6e44a421df..42eb45c86a42 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,6 @@ + VERSION = 4 + PATCHLEVEL = 8 +-SUBLEVEL = 2 ++SUBLEVEL = 3 + EXTRAVERSION = + NAME = Psychotic Stoned Sheep + +diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c +index ec6381e57eb7..258a3f9a2519 100644 +--- a/drivers/scsi/hosts.c ++++ b/drivers/scsi/hosts.c +@@ -246,10 +246,6 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev, + + shost->dma_dev = dma_dev; + +- error = device_add(&shost->shost_gendev); +- if (error) +- goto out_destroy_freelist; +- + /* + * Increase usage count temporarily here so that calling + * scsi_autopm_put_host() will trigger runtime idle if there is +@@ -260,6 +256,10 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev, + pm_runtime_enable(&shost->shost_gendev); + device_enable_async_suspend(&shost->shost_gendev); + ++ error = device_add(&shost->shost_gendev); ++ if (error) ++ goto out_destroy_freelist; ++ + scsi_host_set_state(shost, SHOST_RUNNING); + get_device(shost->shost_gendev.parent); + +@@ -309,6 +309,10 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev, + out_del_gendev: + device_del(&shost->shost_gendev); + out_destroy_freelist: ++ device_disable_async_suspend(&shost->shost_gendev); ++ pm_runtime_disable(&shost->shost_gendev); ++ pm_runtime_set_suspended(&shost->shost_gendev); ++ pm_runtime_put_noidle(&shost->shost_gendev); + scsi_destroy_command_freelist(shost); + out_destroy_tags: + if (shost_use_blk_mq(shost)) +diff --git a/fs/xfs/xfs_xattr.c b/fs/xfs/xfs_xattr.c +index ea62245fee26..62900938f26d 100644 +--- a/fs/xfs/xfs_xattr.c ++++ b/fs/xfs/xfs_xattr.c +@@ -147,6 +147,7 @@ __xfs_xattr_put_listent( + arraytop = context->count + prefix_len + namelen + 1; + if (arraytop > context->firstu) { + context->count = -1; /* insufficient space */ ++ context->seen_enough = 1; + return 0; + } + offset = (char *)context->alist + context->count; +diff --git a/include/linux/mm.h b/include/linux/mm.h +index ef815b9cd426..277cd39a6399 100644 +--- a/include/linux/mm.h ++++ b/include/linux/mm.h +@@ -2234,6 +2234,7 @@ static inline struct page *follow_page(struct vm_area_struct *vma, + #define FOLL_TRIED 0x800 /* a retry, previous pass started an IO */ + #define FOLL_MLOCK 0x1000 /* lock present pages */ + #define FOLL_REMOTE 0x2000 /* we are working on non-current tsk/mm */ ++#define FOLL_COW 0x4000 /* internal GUP flag */ + + typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, + void *data); +diff --git a/include/media/rcar-fcp.h b/include/media/rcar-fcp.h +index 4c7fc77eaf29..8723f05c6321 100644 +--- a/include/media/rcar-fcp.h ++++ b/include/media/rcar-fcp.h +@@ -29,7 +29,7 @@ static inline struct rcar_fcp_device *rcar_fcp_get(const struct device_node *np) + static inline void rcar_fcp_put(struct rcar_fcp_device *fcp) { } + static inline int rcar_fcp_enable(struct rcar_fcp_device *fcp) + { +- return -ENOSYS; ++ return 0; + } + static inline void rcar_fcp_disable(struct rcar_fcp_device *fcp) { } + #endif +diff --git a/mm/gup.c b/mm/gup.c +index 96b2b2fd0fbd..22cc22e7432f 100644 +--- a/mm/gup.c ++++ b/mm/gup.c +@@ -60,6 +60,16 @@ static int follow_pfn_pte(struct vm_area_struct *vma, unsigned long address, + return -EEXIST; + } + ++/* ++ * FOLL_FORCE can write to even unwritable pte's, but only ++ * after we've gone through a COW cycle and they are dirty. ++ */ ++static inline bool can_follow_write_pte(pte_t pte, unsigned int flags) ++{ ++ return pte_write(pte) || ++ ((flags & FOLL_FORCE) && (flags & FOLL_COW) && pte_dirty(pte)); ++} ++ + static struct page *follow_page_pte(struct vm_area_struct *vma, + unsigned long address, pmd_t *pmd, unsigned int flags) + { +@@ -95,7 +105,7 @@ retry: + } + if ((flags & FOLL_NUMA) && pte_protnone(pte)) + goto no_page; +- if ((flags & FOLL_WRITE) && !pte_write(pte)) { ++ if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, flags)) { + pte_unmap_unlock(ptep, ptl); + return NULL; + } +@@ -412,7 +422,7 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma, + * reCOWed by userspace write). + */ + if ((ret & VM_FAULT_WRITE) && !(vma->vm_flags & VM_WRITE)) +- *flags &= ~FOLL_WRITE; ++ *flags |= FOLL_COW; + return 0; + } +