From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v3 3/9] lib: zstd: Upgrade to latest upstream zstd version 1.4.6
Date: Thu, 24 Sep 2020 16:18:16 +0800 [thread overview]
Message-ID: <202009241603.piMKb0GR%lkp@intel.com> (raw)
In-Reply-To: <20200923224206.68968-4-nickrterrell@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 10768 bytes --]
Hi Nick,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on kdave/for-next]
[also build test ERROR on f2fs/dev-test linus/master next-20200923]
[cannot apply to cryptodev/master crypto/master squashfs/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Nick-Terrell/Update-to-zstd-1-4-6/20200924-064102
base: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
config: x86_64-randconfig-c002-20200923 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_clear':
>> lib/zstd/compress/zstd_cwksp.h:424: undefined reference to `__asan_poison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_reserve_object':
>> lib/zstd/compress/zstd_cwksp.h:336: undefined reference to `__asan_unpoison_memory_region'
>> ld: lib/zstd/compress/zstd_cwksp.h:336: undefined reference to `__asan_unpoison_memory_region'
>> ld: lib/zstd/compress/zstd_cwksp.h:336: undefined reference to `__asan_unpoison_memory_region'
>> ld: lib/zstd/compress/zstd_cwksp.h:336: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_clear':
>> lib/zstd/compress/zstd_cwksp.h:424: undefined reference to `__asan_poison_memory_region'
>> ld: lib/zstd/compress/zstd_cwksp.h:424: undefined reference to `__asan_poison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_reserve_internal':
lib/zstd/compress/zstd_cwksp.h:251: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_cwksp.h:251: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_cwksp.h:251: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_cwksp.h:251: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_cwksp.h:251: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_compress.o:lib/zstd/compress/zstd_cwksp.h:251: more undefined references to `__asan_unpoison_memory_region' follow
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_clear_tables':
lib/zstd/compress/zstd_cwksp.h:395: undefined reference to `__asan_poison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_reserve_table':
lib/zstd/compress/zstd_cwksp.h:297: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_cwksp.h:297: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_cwksp.h:297: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_reserve_internal':
lib/zstd/compress/zstd_cwksp.h:251: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_reserve_object':
>> lib/zstd/compress/zstd_cwksp.h:336: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_compress.o:lib/zstd/compress/zstd_cwksp.h:336: more undefined references to `__asan_unpoison_memory_region' follow
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_clear_tables':
lib/zstd/compress/zstd_cwksp.h:395: undefined reference to `__asan_poison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_reserve_table':
lib/zstd/compress/zstd_cwksp.h:297: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_cwksp.h:297: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_cwksp.h:297: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_reserve_object':
>> lib/zstd/compress/zstd_cwksp.h:336: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_clear':
>> lib/zstd/compress/zstd_cwksp.h:424: undefined reference to `__asan_poison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_reserve_object':
>> lib/zstd/compress/zstd_cwksp.h:336: undefined reference to `__asan_unpoison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_clear':
>> lib/zstd/compress/zstd_cwksp.h:424: undefined reference to `__asan_poison_memory_region'
ld: lib/zstd/compress/zstd_compress.o: in function `ZSTD_cwksp_reserve_object':
>> lib/zstd/compress/zstd_cwksp.h:336: undefined reference to `__asan_unpoison_memory_region'
# https://github.com/0day-ci/linux/commit/400786d3b08436113bcb3c9c16a97eefc31317c1
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Nick-Terrell/Update-to-zstd-1-4-6/20200924-064102
git checkout 400786d3b08436113bcb3c9c16a97eefc31317c1
vim +424 lib/zstd/compress/zstd_cwksp.h
315
316 DEBUGLOG(5,
317 "cwksp: reserving %p object %zd bytes (rounded to %zd), %zd bytes remaining",
318 alloc, bytes, roundedBytes, ZSTD_cwksp_available_space(ws) - roundedBytes);
319 assert(((size_t)alloc & (sizeof(void*)-1)) == 0);
320 assert((bytes & (sizeof(void*)-1)) == 0);
321 ZSTD_cwksp_assert_internal_consistency(ws);
322 /* we must be in the first phase, no advance is possible */
323 if (ws->phase != ZSTD_cwksp_alloc_objects || end > ws->workspaceEnd) {
324 DEBUGLOG(4, "cwksp: object alloc failed!");
325 ws->allocFailed = 1;
326 return NULL;
327 }
328 ws->objectEnd = end;
329 ws->tableEnd = end;
330 ws->tableValidEnd = end;
331
332 #if defined (ADDRESS_SANITIZER) && !defined (ZSTD_ASAN_DONT_POISON_WORKSPACE)
333 /* Move alloc so there's ZSTD_CWKSP_ASAN_REDZONE_SIZE unused space on
334 * either size. */
335 alloc = (BYTE *)alloc + ZSTD_CWKSP_ASAN_REDZONE_SIZE;
> 336 __asan_unpoison_memory_region(alloc, bytes);
337 #endif
338
339 return alloc;
340 }
341
342 MEM_STATIC void ZSTD_cwksp_mark_tables_dirty(ZSTD_cwksp* ws) {
343 DEBUGLOG(4, "cwksp: ZSTD_cwksp_mark_tables_dirty");
344
345 #if defined (MEMORY_SANITIZER) && !defined (ZSTD_MSAN_DONT_POISON_WORKSPACE)
346 /* To validate that the table re-use logic is sound, and that we don't
347 * access table space that we haven't cleaned, we re-"poison" the table
348 * space every time we mark it dirty. */
349 {
350 size_t size = (BYTE*)ws->tableValidEnd - (BYTE*)ws->objectEnd;
351 assert(__msan_test_shadow(ws->objectEnd, size) == -1);
352 __msan_poison(ws->objectEnd, size);
353 }
354 #endif
355
356 assert(ws->tableValidEnd >= ws->objectEnd);
357 assert(ws->tableValidEnd <= ws->allocStart);
358 ws->tableValidEnd = ws->objectEnd;
359 ZSTD_cwksp_assert_internal_consistency(ws);
360 }
361
362 MEM_STATIC void ZSTD_cwksp_mark_tables_clean(ZSTD_cwksp* ws) {
363 DEBUGLOG(4, "cwksp: ZSTD_cwksp_mark_tables_clean");
364 assert(ws->tableValidEnd >= ws->objectEnd);
365 assert(ws->tableValidEnd <= ws->allocStart);
366 if (ws->tableValidEnd < ws->tableEnd) {
367 ws->tableValidEnd = ws->tableEnd;
368 }
369 ZSTD_cwksp_assert_internal_consistency(ws);
370 }
371
372 /**
373 * Zero the part of the allocated tables not already marked clean.
374 */
375 MEM_STATIC void ZSTD_cwksp_clean_tables(ZSTD_cwksp* ws) {
376 DEBUGLOG(4, "cwksp: ZSTD_cwksp_clean_tables");
377 assert(ws->tableValidEnd >= ws->objectEnd);
378 assert(ws->tableValidEnd <= ws->allocStart);
379 if (ws->tableValidEnd < ws->tableEnd) {
380 ZSTD_memset(ws->tableValidEnd, 0, (BYTE*)ws->tableEnd - (BYTE*)ws->tableValidEnd);
381 }
382 ZSTD_cwksp_mark_tables_clean(ws);
383 }
384
385 /**
386 * Invalidates table allocations.
387 * All other allocations remain valid.
388 */
389 MEM_STATIC void ZSTD_cwksp_clear_tables(ZSTD_cwksp* ws) {
390 DEBUGLOG(4, "cwksp: clearing tables!");
391
392 #if defined (ADDRESS_SANITIZER) && !defined (ZSTD_ASAN_DONT_POISON_WORKSPACE)
393 {
394 size_t size = (BYTE*)ws->tableValidEnd - (BYTE*)ws->objectEnd;
395 __asan_poison_memory_region(ws->objectEnd, size);
396 }
397 #endif
398
399 ws->tableEnd = ws->objectEnd;
400 ZSTD_cwksp_assert_internal_consistency(ws);
401 }
402
403 /**
404 * Invalidates all buffer, aligned, and table allocations.
405 * Object allocations remain valid.
406 */
407 MEM_STATIC void ZSTD_cwksp_clear(ZSTD_cwksp* ws) {
408 DEBUGLOG(4, "cwksp: clearing!");
409
410 #if defined (MEMORY_SANITIZER) && !defined (ZSTD_MSAN_DONT_POISON_WORKSPACE)
411 /* To validate that the context re-use logic is sound, and that we don't
412 * access stuff that this compression hasn't initialized, we re-"poison"
413 * the workspace (or at least the non-static, non-table parts of it)
414 * every time we start a new compression. */
415 {
416 size_t size = (BYTE*)ws->workspaceEnd - (BYTE*)ws->tableValidEnd;
417 __msan_poison(ws->tableValidEnd, size);
418 }
419 #endif
420
421 #if defined (ADDRESS_SANITIZER) && !defined (ZSTD_ASAN_DONT_POISON_WORKSPACE)
422 {
423 size_t size = (BYTE*)ws->workspaceEnd - (BYTE*)ws->objectEnd;
> 424 __asan_poison_memory_region(ws->objectEnd, size);
425 }
426 #endif
427
428 ws->tableEnd = ws->objectEnd;
429 ws->allocStart = ws->workspaceEnd;
430 ws->allocFailed = 0;
431 if (ws->phase > ZSTD_cwksp_alloc_buffers) {
432 ws->phase = ZSTD_cwksp_alloc_buffers;
433 }
434 ZSTD_cwksp_assert_internal_consistency(ws);
435 }
436
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30987 bytes --]
next prev parent reply other threads:[~2020-09-24 8:18 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-23 22:41 [PATCH v3 0/9] Update to zstd-1.4.6 Nick Terrell
2020-09-23 22:41 ` [f2fs-dev] " Nick Terrell
2020-09-23 22:41 ` [PATCH v3 1/9] lib: zstd: Add zstd compatibility wrapper Nick Terrell
2020-09-23 22:41 ` [f2fs-dev] " Nick Terrell
2020-09-23 22:41 ` [PATCH v3 2/9] lib: zstd: Add decompress_sources.h for decompress_unzstd Nick Terrell
2020-09-23 22:41 ` [f2fs-dev] " Nick Terrell
2020-09-23 22:42 ` [PATCH v3 3/9] lib: zstd: Upgrade to latest upstream zstd version 1.4.6 Nick Terrell
2020-09-23 22:42 ` [f2fs-dev] " Nick Terrell
2020-09-24 2:28 ` kernel test robot
2020-09-24 2:28 ` kernel test robot
2020-09-24 3:05 ` Nick Terrell
2020-09-24 3:05 ` [f2fs-dev] " Nick Terrell
2020-09-24 8:11 ` Rong Chen
2020-09-24 8:11 ` Rong Chen
2020-09-24 8:11 ` [f2fs-dev] " Rong Chen
2020-09-24 8:18 ` kernel test robot [this message]
2020-09-23 22:42 ` [PATCH v3 4/9] crypto: zstd: Switch to zstd-1.4.6 API Nick Terrell
2020-09-23 22:42 ` [f2fs-dev] " Nick Terrell
2020-09-23 22:42 ` [PATCH v3 5/9] btrfs: zstd: Switch to the " Nick Terrell
2020-09-23 22:42 ` [f2fs-dev] " Nick Terrell
2020-09-23 22:42 ` [PATCH v3 6/9] f2fs: " Nick Terrell
2020-09-23 22:42 ` [f2fs-dev] " Nick Terrell
2020-09-23 22:42 ` [PATCH v3 7/9] squashfs: " Nick Terrell
2020-09-23 22:42 ` [f2fs-dev] " Nick Terrell
2020-09-23 22:42 ` [PATCH v3 8/9] lib: unzstd: " Nick Terrell
2020-09-23 22:42 ` [f2fs-dev] " Nick Terrell
2020-09-23 22:42 ` [PATCH v3 9/9] lib: zstd: Remove zstd compatibility wrapper Nick Terrell
2020-09-23 22:42 ` [f2fs-dev] " Nick Terrell
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=202009241603.piMKb0GR%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.