mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-03 18:20:25 +02:00 
			
		
		
		
	kmemcheck: remove whats left of NOTRACK flags
Now that kmemcheck is gone, we don't need the NOTRACK flags. Link: http://lkml.kernel.org/r/20171007030159.22241-5-alexander.levin@verizon.com Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Cc: Alexander Potapenko <glider@google.com> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Michal Hocko <mhocko@kernel.org> Cc: Pekka Enberg <penberg@kernel.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Tim Hansen <devtimhansen@gmail.com> Cc: Vegard Nossum <vegardno@ifi.uio.no> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									75f296d93b
								
							
						
					
					
						commit
						d8be75663c
					
				
					 7 changed files with 0 additions and 37 deletions
				
			
		| 
						 | 
					@ -667,11 +667,6 @@ static inline bool pte_accessible(struct mm_struct *mm, pte_t a)
 | 
				
			||||||
	return false;
 | 
						return false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline int pte_hidden(pte_t pte)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return pte_flags(pte) & _PAGE_HIDDEN;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static inline int pmd_present(pmd_t pmd)
 | 
					static inline int pmd_present(pmd_t pmd)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,6 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define _PAGE_BIT_SPECIAL	_PAGE_BIT_SOFTW1
 | 
					#define _PAGE_BIT_SPECIAL	_PAGE_BIT_SOFTW1
 | 
				
			||||||
#define _PAGE_BIT_CPA_TEST	_PAGE_BIT_SOFTW1
 | 
					#define _PAGE_BIT_CPA_TEST	_PAGE_BIT_SOFTW1
 | 
				
			||||||
#define _PAGE_BIT_HIDDEN	_PAGE_BIT_SOFTW3 /* hidden by kmemcheck */
 | 
					 | 
				
			||||||
#define _PAGE_BIT_SOFT_DIRTY	_PAGE_BIT_SOFTW3 /* software dirty tracking */
 | 
					#define _PAGE_BIT_SOFT_DIRTY	_PAGE_BIT_SOFTW3 /* software dirty tracking */
 | 
				
			||||||
#define _PAGE_BIT_DEVMAP	_PAGE_BIT_SOFTW4
 | 
					#define _PAGE_BIT_DEVMAP	_PAGE_BIT_SOFTW4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -79,18 +78,6 @@
 | 
				
			||||||
#define _PAGE_KNL_ERRATUM_MASK 0
 | 
					#define _PAGE_KNL_ERRATUM_MASK 0
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_KMEMCHECK
 | 
					 | 
				
			||||||
#define _PAGE_HIDDEN	(_AT(pteval_t, 1) << _PAGE_BIT_HIDDEN)
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
#define _PAGE_HIDDEN	(_AT(pteval_t, 0))
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * The same hidden bit is used by kmemcheck, but since kmemcheck
 | 
					 | 
				
			||||||
 * works on kernel pages while soft-dirty engine on user space,
 | 
					 | 
				
			||||||
 * they do not conflict with each other.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef CONFIG_MEM_SOFT_DIRTY
 | 
					#ifdef CONFIG_MEM_SOFT_DIRTY
 | 
				
			||||||
#define _PAGE_SOFT_DIRTY	(_AT(pteval_t, 1) << _PAGE_BIT_SOFT_DIRTY)
 | 
					#define _PAGE_SOFT_DIRTY	(_AT(pteval_t, 1) << _PAGE_BIT_SOFT_DIRTY)
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,7 +37,6 @@ struct vm_area_struct;
 | 
				
			||||||
#define ___GFP_THISNODE		0x40000u
 | 
					#define ___GFP_THISNODE		0x40000u
 | 
				
			||||||
#define ___GFP_ATOMIC		0x80000u
 | 
					#define ___GFP_ATOMIC		0x80000u
 | 
				
			||||||
#define ___GFP_ACCOUNT		0x100000u
 | 
					#define ___GFP_ACCOUNT		0x100000u
 | 
				
			||||||
#define ___GFP_NOTRACK		0x200000u
 | 
					 | 
				
			||||||
#define ___GFP_DIRECT_RECLAIM	0x400000u
 | 
					#define ___GFP_DIRECT_RECLAIM	0x400000u
 | 
				
			||||||
#define ___GFP_WRITE		0x800000u
 | 
					#define ___GFP_WRITE		0x800000u
 | 
				
			||||||
#define ___GFP_KSWAPD_RECLAIM	0x1000000u
 | 
					#define ___GFP_KSWAPD_RECLAIM	0x1000000u
 | 
				
			||||||
| 
						 | 
					@ -201,19 +200,11 @@ struct vm_area_struct;
 | 
				
			||||||
 * __GFP_COMP address compound page metadata.
 | 
					 * __GFP_COMP address compound page metadata.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * __GFP_ZERO returns a zeroed page on success.
 | 
					 * __GFP_ZERO returns a zeroed page on success.
 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * __GFP_NOTRACK avoids tracking with kmemcheck.
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * __GFP_NOTRACK_FALSE_POSITIVE is an alias of __GFP_NOTRACK. It's a means of
 | 
					 | 
				
			||||||
 *   distinguishing in the source between false positives and allocations that
 | 
					 | 
				
			||||||
 *   cannot be supported (e.g. page tables).
 | 
					 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#define __GFP_COLD	((__force gfp_t)___GFP_COLD)
 | 
					#define __GFP_COLD	((__force gfp_t)___GFP_COLD)
 | 
				
			||||||
#define __GFP_NOWARN	((__force gfp_t)___GFP_NOWARN)
 | 
					#define __GFP_NOWARN	((__force gfp_t)___GFP_NOWARN)
 | 
				
			||||||
#define __GFP_COMP	((__force gfp_t)___GFP_COMP)
 | 
					#define __GFP_COMP	((__force gfp_t)___GFP_COMP)
 | 
				
			||||||
#define __GFP_ZERO	((__force gfp_t)___GFP_ZERO)
 | 
					#define __GFP_ZERO	((__force gfp_t)___GFP_ZERO)
 | 
				
			||||||
#define __GFP_NOTRACK	((__force gfp_t)___GFP_NOTRACK)
 | 
					 | 
				
			||||||
#define __GFP_NOTRACK_FALSE_POSITIVE (__GFP_NOTRACK)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Disable lockdep for GFP context tracking */
 | 
					/* Disable lockdep for GFP context tracking */
 | 
				
			||||||
#define __GFP_NOLOCKDEP ((__force gfp_t)___GFP_NOLOCKDEP)
 | 
					#define __GFP_NOLOCKDEP ((__force gfp_t)___GFP_NOLOCKDEP)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -89,12 +89,6 @@
 | 
				
			||||||
/* Avoid kmemleak tracing */
 | 
					/* Avoid kmemleak tracing */
 | 
				
			||||||
#define SLAB_NOLEAKTRACE	((slab_flags_t __force)0x00800000U)
 | 
					#define SLAB_NOLEAKTRACE	((slab_flags_t __force)0x00800000U)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Don't track use of uninitialized memory */
 | 
					 | 
				
			||||||
#ifdef CONFIG_KMEMCHECK
 | 
					 | 
				
			||||||
# define SLAB_NOTRACK		((slab_flags_t __force)0x01000000U)
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
# define SLAB_NOTRACK		0
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
/* Fault injection mark */
 | 
					/* Fault injection mark */
 | 
				
			||||||
#ifdef CONFIG_FAILSLAB
 | 
					#ifdef CONFIG_FAILSLAB
 | 
				
			||||||
# define SLAB_FAILSLAB		((slab_flags_t __force)0x02000000U)
 | 
					# define SLAB_FAILSLAB		((slab_flags_t __force)0x02000000U)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,7 +46,6 @@
 | 
				
			||||||
	{(unsigned long)__GFP_RECLAIMABLE,	"__GFP_RECLAIMABLE"},	\
 | 
						{(unsigned long)__GFP_RECLAIMABLE,	"__GFP_RECLAIMABLE"},	\
 | 
				
			||||||
	{(unsigned long)__GFP_MOVABLE,		"__GFP_MOVABLE"},	\
 | 
						{(unsigned long)__GFP_MOVABLE,		"__GFP_MOVABLE"},	\
 | 
				
			||||||
	{(unsigned long)__GFP_ACCOUNT,		"__GFP_ACCOUNT"},	\
 | 
						{(unsigned long)__GFP_ACCOUNT,		"__GFP_ACCOUNT"},	\
 | 
				
			||||||
	{(unsigned long)__GFP_NOTRACK,		"__GFP_NOTRACK"},	\
 | 
					 | 
				
			||||||
	{(unsigned long)__GFP_WRITE,		"__GFP_WRITE"},		\
 | 
						{(unsigned long)__GFP_WRITE,		"__GFP_WRITE"},		\
 | 
				
			||||||
	{(unsigned long)__GFP_RECLAIM,		"__GFP_RECLAIM"},	\
 | 
						{(unsigned long)__GFP_RECLAIM,		"__GFP_RECLAIM"},	\
 | 
				
			||||||
	{(unsigned long)__GFP_DIRECT_RECLAIM,	"__GFP_DIRECT_RECLAIM"},\
 | 
						{(unsigned long)__GFP_DIRECT_RECLAIM,	"__GFP_DIRECT_RECLAIM"},\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5635,8 +5635,6 @@ static char *create_unique_id(struct kmem_cache *s)
 | 
				
			||||||
		*p++ = 'a';
 | 
							*p++ = 'a';
 | 
				
			||||||
	if (s->flags & SLAB_CONSISTENCY_CHECKS)
 | 
						if (s->flags & SLAB_CONSISTENCY_CHECKS)
 | 
				
			||||||
		*p++ = 'F';
 | 
							*p++ = 'F';
 | 
				
			||||||
	if (!(s->flags & SLAB_NOTRACK))
 | 
					 | 
				
			||||||
		*p++ = 't';
 | 
					 | 
				
			||||||
	if (s->flags & SLAB_ACCOUNT)
 | 
						if (s->flags & SLAB_ACCOUNT)
 | 
				
			||||||
		*p++ = 'A';
 | 
							*p++ = 'A';
 | 
				
			||||||
	if (p != name + 1)
 | 
						if (p != name + 1)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -655,7 +655,6 @@ static const struct {
 | 
				
			||||||
	{ "__GFP_RECLAIMABLE",		"RC" },
 | 
						{ "__GFP_RECLAIMABLE",		"RC" },
 | 
				
			||||||
	{ "__GFP_MOVABLE",		"M" },
 | 
						{ "__GFP_MOVABLE",		"M" },
 | 
				
			||||||
	{ "__GFP_ACCOUNT",		"AC" },
 | 
						{ "__GFP_ACCOUNT",		"AC" },
 | 
				
			||||||
	{ "__GFP_NOTRACK",		"NT" },
 | 
					 | 
				
			||||||
	{ "__GFP_WRITE",		"WR" },
 | 
						{ "__GFP_WRITE",		"WR" },
 | 
				
			||||||
	{ "__GFP_RECLAIM",		"R" },
 | 
						{ "__GFP_RECLAIM",		"R" },
 | 
				
			||||||
	{ "__GFP_DIRECT_RECLAIM",	"DR" },
 | 
						{ "__GFP_DIRECT_RECLAIM",	"DR" },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue