linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, glittao@gmail.com, cl@linux.com,
	penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com,
	akpm@linux-foundation.org, vbabka@suse.cz
Cc: lkp@intel.com, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Oliver Glitta <glittao@gmail.com>
Subject: Re: [PATCH v2 1/2] kunit: add a KUnit test for SLUB debugging functionality
Date: Wed, 31 Mar 2021 07:34:32 +0300	[thread overview]
Message-ID: <20210331043432.GF2065@kadam> (raw)
In-Reply-To: <20210330120436.4591-1-glittao@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 6888 bytes --]

Hi,

url:    https://github.com/0day-ci/linux/commits/glittao-gmail-com/kunit-add-a-KUnit-test-for-SLUB-debugging-functionality/20210330-200635
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1e43c377a79f9189fea8f2711b399d4e8b4e609b
config: i386-randconfig-m021-20210330 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
mm/slub.c:744 object_err() warn: should this be a bitwise op?
mm/slub.c:759 slab_err() warn: should this be a bitwise op?
mm/slub.c:807 check_bytes_and_report() warn: should this be a bitwise op?

vim +744 mm/slub.c

75c66def8d8152 Andrey Ryabinin   2015-02-13  741  void object_err(struct kmem_cache *s, struct page *page,
81819f0fc8285a Christoph Lameter 2007-05-06  742  			u8 *object, char *reason)
81819f0fc8285a Christoph Lameter 2007-05-06  743  {
98f544695d3d3b Oliver Glitta     2021-03-30 @744  	if (!(s->flags && SLAB_SILENT_ERRORS)) {
                                                                       ^^
& was intended instead of &&

3dc5063786b273 Christoph Lameter 2008-04-23  745  		slab_bug(s, "%s", reason);
2492268472e7d3 Christoph Lameter 2007-07-17  746  		print_trailer(s, page, object);
81819f0fc8285a Christoph Lameter 2007-05-06  747  	}
98f544695d3d3b Oliver Glitta     2021-03-30  748  }
81819f0fc8285a Christoph Lameter 2007-05-06  749  
a38965bf941b7c Mathieu Malaterre 2018-06-07  750  static __printf(3, 4) void slab_err(struct kmem_cache *s, struct page *page,
d0e0ac9772f8ec Chen Gang         2013-07-15  751  			const char *fmt, ...)
81819f0fc8285a Christoph Lameter 2007-05-06  752  {
81819f0fc8285a Christoph Lameter 2007-05-06  753  	va_list args;
81819f0fc8285a Christoph Lameter 2007-05-06  754  	char buf[100];
81819f0fc8285a Christoph Lameter 2007-05-06  755  
2492268472e7d3 Christoph Lameter 2007-07-17  756  	va_start(args, fmt);
2492268472e7d3 Christoph Lameter 2007-07-17  757  	vsnprintf(buf, sizeof(buf), fmt, args);
81819f0fc8285a Christoph Lameter 2007-05-06  758  	va_end(args);
98f544695d3d3b Oliver Glitta     2021-03-30 @759  	if (!(s->flags && SLAB_SILENT_ERRORS)) {
                                                                       ^^^^^^^^^^^^^^^^^^^^^

3dc5063786b273 Christoph Lameter 2008-04-23  760  		slab_bug(s, "%s", buf);
2492268472e7d3 Christoph Lameter 2007-07-17  761  		print_page_info(page);
81819f0fc8285a Christoph Lameter 2007-05-06  762  		dump_stack();
81819f0fc8285a Christoph Lameter 2007-05-06  763  	}
98f544695d3d3b Oliver Glitta     2021-03-30  764  }
81819f0fc8285a Christoph Lameter 2007-05-06  765  
f7cb1933621bce Christoph Lameter 2010-09-29  766  static void init_object(struct kmem_cache *s, void *object, u8 val)
81819f0fc8285a Christoph Lameter 2007-05-06  767  {
aa1ef4d7b3f67f Andrey Konovalov  2020-12-22  768  	u8 *p = kasan_reset_tag(object);
81819f0fc8285a Christoph Lameter 2007-05-06  769  
d86bd1bece6fc4 Joonsoo Kim       2016-03-15  770  	if (s->flags & SLAB_RED_ZONE)
d86bd1bece6fc4 Joonsoo Kim       2016-03-15  771  		memset(p - s->red_left_pad, val, s->red_left_pad);
d86bd1bece6fc4 Joonsoo Kim       2016-03-15  772  
81819f0fc8285a Christoph Lameter 2007-05-06  773  	if (s->flags & __OBJECT_POISON) {
3b0efdfa1e7193 Christoph Lameter 2012-06-13  774  		memset(p, POISON_FREE, s->object_size - 1);
3b0efdfa1e7193 Christoph Lameter 2012-06-13  775  		p[s->object_size - 1] = POISON_END;
81819f0fc8285a Christoph Lameter 2007-05-06  776  	}
81819f0fc8285a Christoph Lameter 2007-05-06  777  
81819f0fc8285a Christoph Lameter 2007-05-06  778  	if (s->flags & SLAB_RED_ZONE)
3b0efdfa1e7193 Christoph Lameter 2012-06-13  779  		memset(p + s->object_size, val, s->inuse - s->object_size);
81819f0fc8285a Christoph Lameter 2007-05-06  780  }
81819f0fc8285a Christoph Lameter 2007-05-06  781  
2492268472e7d3 Christoph Lameter 2007-07-17  782  static void restore_bytes(struct kmem_cache *s, char *message, u8 data,
2492268472e7d3 Christoph Lameter 2007-07-17  783  						void *from, void *to)
2492268472e7d3 Christoph Lameter 2007-07-17  784  {
2492268472e7d3 Christoph Lameter 2007-07-17  785  	slab_fix(s, "Restoring 0x%p-0x%p=0x%x\n", from, to - 1, data);
2492268472e7d3 Christoph Lameter 2007-07-17  786  	memset(from, data, to - from);
2492268472e7d3 Christoph Lameter 2007-07-17  787  }
2492268472e7d3 Christoph Lameter 2007-07-17  788  
2492268472e7d3 Christoph Lameter 2007-07-17  789  static int check_bytes_and_report(struct kmem_cache *s, struct page *page,
2492268472e7d3 Christoph Lameter 2007-07-17  790  			u8 *object, char *what,
2492268472e7d3 Christoph Lameter 2007-07-17  791  			u8 *start, unsigned int value, unsigned int bytes)
2492268472e7d3 Christoph Lameter 2007-07-17  792  {
2492268472e7d3 Christoph Lameter 2007-07-17  793  	u8 *fault;
2492268472e7d3 Christoph Lameter 2007-07-17  794  	u8 *end;
e1b70dd1e6429f Miles Chen        2019-11-30  795  	u8 *addr = page_address(page);
2492268472e7d3 Christoph Lameter 2007-07-17  796  
a79316c6178ca4 Andrey Ryabinin   2015-02-13  797  	metadata_access_enable();
aa1ef4d7b3f67f Andrey Konovalov  2020-12-22  798  	fault = memchr_inv(kasan_reset_tag(start), value, bytes);
a79316c6178ca4 Andrey Ryabinin   2015-02-13  799  	metadata_access_disable();
2492268472e7d3 Christoph Lameter 2007-07-17  800  	if (!fault)
81819f0fc8285a Christoph Lameter 2007-05-06  801  		return 1;
2492268472e7d3 Christoph Lameter 2007-07-17  802  
2492268472e7d3 Christoph Lameter 2007-07-17  803  	end = start + bytes;
2492268472e7d3 Christoph Lameter 2007-07-17  804  	while (end > fault && end[-1] == value)
2492268472e7d3 Christoph Lameter 2007-07-17  805  		end--;
2492268472e7d3 Christoph Lameter 2007-07-17  806  
98f544695d3d3b Oliver Glitta     2021-03-30 @807  	if (!(s->flags && SLAB_SILENT_ERRORS)) {
                                                                       ^^^^^^^^^^^^^^^^^^^^^

2492268472e7d3 Christoph Lameter 2007-07-17  808  		slab_bug(s, "%s overwritten", what);
e1b70dd1e6429f Miles Chen        2019-11-30  809  		pr_err("INFO: 0x%p-0x%p @offset=%tu. First byte 0x%x instead of 0x%x\n",
e1b70dd1e6429f Miles Chen        2019-11-30  810  					fault, end - 1, fault - addr,
e1b70dd1e6429f Miles Chen        2019-11-30  811  					fault[0], value);
2492268472e7d3 Christoph Lameter 2007-07-17  812  		print_trailer(s, page, object);
98f544695d3d3b Oliver Glitta     2021-03-30  813  	}
2492268472e7d3 Christoph Lameter 2007-07-17  814  
2492268472e7d3 Christoph Lameter 2007-07-17  815  	restore_bytes(s, what, value, fault, end);
2492268472e7d3 Christoph Lameter 2007-07-17  816  	return 0;
81819f0fc8285a Christoph Lameter 2007-05-06  817  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32479 bytes --]

      parent reply	other threads:[~2021-03-31  4:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-30 12:04 glittao
2021-03-30 12:04 ` [PATCH v2 2/2] slub: remove resiliency_test() function glittao
2021-03-30 16:22 ` [PATCH v2 1/2] kunit: add a KUnit test for SLUB debugging functionality kernel test robot
2021-03-31  4:34 ` Dan Carpenter [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210331043432.GF2065@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=glittao@gmail.com \
    --cc=iamjoonsoo.kim@lge.com \
    --cc=kbuild-all@lists.01.org \
    --cc=kbuild@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lkp@intel.com \
    --cc=penberg@kernel.org \
    --cc=rientjes@google.com \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox