git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] valgrind: ignore SSE-based strlen invalid reads

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Mar 16, 2011, 10:52 UTC
Message-ID
<20110316105214.GB8277@elie>
In-Reply-To
<1300272453-25891-1-git-send-email-cmn@elego.de>
Carlos Martín Nieto wrote:
Show 5 quoted lines
> The GNU C Library (glibc) uses SSE instructions to make strlen (among
> others) faster, loading 4 bytes at a time and reading past the end of
> the allocated memory. This read is safe and when the strlen function
> is inlined, it is (obviously) not replaced by valgrind, which reports
> a false-possitive.

This still makes no sense to me. How is it possible to inline a function from glibc? When I look in /usr/include/string.h, I see

extern size_t strlen (__const char *__s)
     __THROW __attribute_pure__ __nonnull ((1));
> Tell valgrind to ignore this particular error, as the read is, in
> fact, safe.

I'm happy to see a workaround. I would be even happier if it came with documentation about which versions of valgrind need it.

Thanks again. Jonathan

Previous: Carlos Martín NietoNext: Carlos Martín Nieto
Message 5 of 11 in “valgrind: ignore SSE-based strlen invalid reads”
  1. valgrind: ignore SSE-based strlen invalid readsCarlos Martín Nieto, Mar 16, 2011
  2. Jonathan NiederMar 16, 2011
  3. Carlos Martín NietoMar 16, 2011
  4. valgrind: ignore SSE-based strlen invalid readsCarlos Martín Nieto, Mar 16, 2011
  5. Jonathan NiederMar 16, 2011
  6. Carlos Martín NietoMar 16, 2011
  7. Jonathan NiederMar 16, 2011
  8. valgrind: ignore SSE-based strlen invalid readsCarlos Martín Nieto, Mar 16, 2011
  9. Junio C HamanoMar 16, 2011
  10. Carlos Martín NietoMar 16, 2011
  11. Andreas SchwabMar 16, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.