diff options
Diffstat (limited to '4.8.7/1002_linux-4.8.3.patch')
-rw-r--r-- | 4.8.7/1002_linux-4.8.3.patch | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/4.8.7/1002_linux-4.8.3.patch b/4.8.7/1002_linux-4.8.3.patch deleted file mode 100644 index 4b4c68a..0000000 --- a/4.8.7/1002_linux-4.8.3.patch +++ /dev/null @@ -1,125 +0,0 @@ -diff --git a/Makefile b/Makefile -index bf6e44a..42eb45c 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 ec6381e..258a3f9 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 ea62245..6290093 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 ef815b9..277cd39 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 4c7fc77..8723f05 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 96b2b2f..22cc22e 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 @@ static struct page *follow_page_pte(struct vm_area_struct *vma, - } - 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; - } - |