The patch titled Subject: linux-next-rejects has been removed from the -mm tree. Its filename was linux-next-rejects.patch This patch was dropped because it is obsolete ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: linux-next-rejects Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/kthread.h | 2 +- kernel/kthread.c | 27 +++++++++++++++------------ mm/memremap.c | 2 +- mm/zsmalloc.c | 2 +- 4 files changed, 18 insertions(+), 15 deletions(-) --- a/include/linux/kthread.h~linux-next-rejects +++ a/include/linux/kthread.h @@ -34,7 +34,7 @@ struct task_struct *kthread_create_on_cp const char *namefmt); void get_kthread_comm(char *buf, size_t buf_size, struct task_struct *tsk); -void set_kthread_struct(struct task_struct *p); +bool set_kthread_struct(struct task_struct *p); void kthread_set_per_cpu(struct task_struct *k, int cpu); bool kthread_is_per_cpu(struct task_struct *k); --- a/kernel/kthread.c~linux-next-rejects +++ a/kernel/kthread.c @@ -90,7 +90,7 @@ static inline struct kthread *to_kthread */ static inline struct kthread *__to_kthread(struct task_struct *p) { - void *kthread = (__force void *)p->set_child_tid; + void *kthread = p->worker_private; if (kthread && !(p->flags & PF_KTHREAD)) kthread = NULL; return kthread; @@ -108,20 +108,23 @@ void get_kthread_comm(char *buf, size_t strscpy_pad(buf, kthread->full_name, buf_size); } -void set_kthread_struct(struct task_struct *p) +bool set_kthread_struct(struct task_struct *p) { struct kthread *kthread; - if (__to_kthread(p)) - return; + if (WARN_ON_ONCE(to_kthread(p))) + return false; kthread = kzalloc(sizeof(*kthread), GFP_KERNEL); - /* - * We abuse ->set_child_tid to avoid the new member and because it - * can't be wrongly copied by copy_process(). We also rely on fact - * that the caller can't exec, so PF_KTHREAD can't be cleared. - */ - p->set_child_tid = (__force void __user *)kthread; + if (!kthread) + return false; + + init_completion(&kthread->exited); + init_completion(&kthread->parked); + p->vfork_done = &kthread->exited; + + p->worker_private = kthread; + return true; } void free_kthread_struct(struct task_struct *k) @@ -129,8 +132,7 @@ void free_kthread_struct(struct task_str struct kthread *kthread; /* - * Can be NULL if this kthread was created by kernel_thread() - * or if kmalloc() in kthread() failed. + * Can be NULL if kmalloc() in set_kthread_struct() failed. */ kthread = to_kthread(k); if (!kthread) @@ -139,6 +141,7 @@ void free_kthread_struct(struct task_str #ifdef CONFIG_BLK_CGROUP WARN_ON_ONCE(kthread->blkcg_css); #endif + k->worker_private = NULL; kfree(kthread->full_name); kfree(kthread); } --- a/mm/memremap.c~linux-next-rejects +++ a/mm/memremap.c @@ -298,7 +298,7 @@ static int pagemap_range(struct dev_page memmap_init_zone_device(&NODE_DATA(nid)->node_zones[ZONE_DEVICE], PHYS_PFN(range->start), PHYS_PFN(range_len(range)), pgmap); - percpu_ref_get_many(pgmap->ref, pfn_len(pgmap, range_id)); + percpu_ref_get_many(&pgmap->ref, pfn_len(pgmap, range_id)); return 0; err_add_memory: --- a/mm/zsmalloc.c~linux-next-rejects +++ a/mm/zsmalloc.c @@ -901,7 +901,7 @@ static void reset_page(struct page *page set_page_private(page, 0); page_mapcount_reset(page); ClearPageHugeObject(page); - page->freelist = NULL; + page->index = 0; } static int trylock_zspage(struct zspage *zspage) _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are mm.patch documentation-vm-page_ownerrst-update-the-documentation-fix.patch mm-mempolicy-convert-from-atomic_t-to-refcount_t-on-mempolicy-refcnt-fix.patch linux-next-git-rejects.patch arch-x86-include-asm-pgtableh-needs-spinlockh.patch sysctl-move-some-boundary-constants-from-sysctlc-to-sysctl_vals-fix.patch firmware_loader-move-firmware-sysctl-to-its-own-files-fix.patch firmware_loader-move-firmware-sysctl-to-its-own-files-fix-fix.patch sysctl-add-helper-to-register-a-sysctl-mount-point-fix.patch sysctl-move-maxolduid-as-a-sysctl-specific-const-fix.patch proc-remove-pde_data-completely-fix.patch proc-remove-pde_data-completely-fix-fix.patch mm-remove-cleancache-fix.patch mm-simplify-try_to_unuse-fix.patch mutex-subsystem-synchro-test-module-fix.patch kernel-forkc-export-kernel_thread-to-modules.patch