From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751742AbdBUJ67 (ORCPT ); Tue, 21 Feb 2017 04:58:59 -0500 Received: from mga14.intel.com ([192.55.52.115]:41956 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750992AbdBUJ6w (ORCPT ); Tue, 21 Feb 2017 04:58:52 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,189,1484035200"; d="scan'208";a="826716122" From: Elena Reshetova To: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, peterz@infradead.org, gregkh@linuxfoundation.org, viro@zeniv.linux.org.uk, catalin.marinas@arm.com, mingo@redhat.com, akpm@linux-foundation.org, arnd@arndb.de, luto@kernel.org, Elena Reshetova Subject: [PATCH 0/5] mm subsystem refcounter conversions Date: Tue, 21 Feb 2017 11:58:39 +0200 Message-Id: <1487671124-11188-1-git-send-email-elena.reshetova@intel.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org v2: - incorporated fixes reported 0day CI Now when new refcount_t type and API are finally merged (see include/linux/refcount.h), the following patches convert various refcounters in the mm susystem from atomic_t to refcount_t. By doing this we prevent intentional or accidental underflows or overflows that can led to use-after-free vulnerabilities. The below patches are fully independent and can be cherry-picked separately. Since we convert all kernel subsystems in the same fashion, resulting in about 300 patches, we have to group them for sending at least in some fashion to be manageable. Please excuse the long cc list. Elena Reshetova (5): mm: convert bdi_writeback_congested.refcnt from atomic_t to refcount_t mm: convert anon_vma.refcount from atomic_t to refcount_t mm: convert kmemleak_object.use_count from atomic_t to refcount_t mm: convert mm_struct.mm_users from atomic_t to refcount_t mm: convert mm_struct.mm_count from atomic_t to refcount_t arch/alpha/kernel/smp.c | 6 +++--- arch/arc/mm/tlb.c | 2 +- arch/blackfin/mach-common/smp.c | 4 ++-- arch/ia64/include/asm/tlbflush.h | 2 +- arch/ia64/kernel/smp.c | 2 +- arch/ia64/sn/kernel/sn2/sn2_smp.c | 4 ++-- arch/mips/kernel/process.c | 2 +- arch/mips/kernel/smp.c | 6 +++--- arch/parisc/include/asm/mmu_context.h | 2 +- arch/powerpc/mm/hugetlbpage.c | 2 +- arch/powerpc/mm/icswx.c | 4 ++-- arch/sh/kernel/smp.c | 6 +++--- arch/sparc/kernel/smp_64.c | 6 +++--- arch/sparc/mm/srmmu.c | 2 +- arch/um/kernel/tlb.c | 2 +- arch/x86/kernel/tboot.c | 4 ++-- drivers/firmware/efi/arm-runtime.c | 4 ++-- drivers/gpu/drm/amd/amdkfd/kfd_process.c | 2 +- fs/coredump.c | 2 +- fs/proc/base.c | 2 +- fs/userfaultfd.c | 3 +-- include/linux/backing-dev-defs.h | 3 ++- include/linux/backing-dev.h | 4 ++-- include/linux/mm_types.h | 5 +++-- include/linux/rmap.h | 7 ++++--- include/linux/sched.h | 10 +++++----- kernel/events/uprobes.c | 2 +- kernel/exit.c | 2 +- kernel/fork.c | 12 ++++++------ kernel/sched/core.c | 2 +- lib/is_single_threaded.c | 2 +- mm/backing-dev.c | 13 +++++++------ mm/debug.c | 4 ++-- mm/init-mm.c | 4 ++-- mm/khugepaged.c | 2 +- mm/kmemleak.c | 16 ++++++++-------- mm/ksm.c | 2 +- mm/memory.c | 2 +- mm/mmu_notifier.c | 10 +++++----- mm/mprotect.c | 2 +- mm/oom_kill.c | 2 +- mm/rmap.c | 14 +++++++------- mm/swapfile.c | 2 +- mm/vmacache.c | 2 +- 44 files changed, 98 insertions(+), 95 deletions(-) -- 2.7.4