All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.