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

Re: [PATCH 5/6] pack-bitmap-write.c: avoid uninitialized 'write_as' field

From
Taylor Blau <me@ttaylorr.com>
Date
May 15, 2024, 13:29 UTC
Message-ID
<ZkS4qi5TOThOwQLO@nand.local>
In-Reply-To
<ZkR6xqHgrIvoV6OR@tanuki>
On Wed, May 15, 2024 at 11:05:10AM +0200, Patrick Steinhardt wrote:
Show 15 quoted lines
> > diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c
> > index c0087dab12..420f17c2e0 100644
> > --- a/pack-bitmap-write.c
> > +++ b/pack-bitmap-write.c
> > @@ -112,6 +112,7 @@ static inline void push_bitmapped_commit(struct bitmap_writer *writer,
> >
> >  	writer->selected[writer->selected_nr].commit = commit;
> >  	writer->selected[writer->selected_nr].bitmap = NULL;
> > +	writer->selected[writer->selected_nr].write_as = NULL;
> >  	writer->selected[writer->selected_nr].flags = 0;
>
> Instead of having to ensure that all fields are initialized we could
> also set the whole structure to zero via `memset()`, which might be a
> bit more sustainable in the future. That alone doesn't really warrant a
> reroll though.
I had considered it, but decided against it as it seemed wasteful to
    memset(&writer->selected[writer->selected_nr], 0,
           sizeof(struct bitmapped_commit))

and then immediately un-zero some of its memory by assigning the commit field.

Obviously not actually all that wasteful, as we're only talking about a couple of hundred CPU cycles ;-).

Thanks, Taylor

Previous: Patrick SteinhardtNext: Taylor Blau
Message 8 of 14 in “pack-bitmap: various pack-bitmap-write cleanups”
  1. 0/6 pack-bitmap: various pack-bitmap-write cleanupsTaylor Blau, May 14, 2024
  2. 1/6 object.h: add flags allocated by pack-bitmap.hTaylor Blau, May 14, 2024
  3. 2/6 pack-bitmap-write.c: move commit_positions into commit_pos fieldsTaylor Blau, May 14, 2024
  4. 3/6 pack-bitmap: avoid use of static `bitmap_writer`Taylor Blau, May 14, 2024
  5. 4/6 pack-bitmap: drop unused `max_bitmaps` parameterTaylor Blau, May 14, 2024
  6. 5/6 pack-bitmap-write.c: avoid uninitialized 'write_as' fieldTaylor Blau, May 14, 2024
  7. Patrick SteinhardtMay 15, 2024
  8. Taylor BlauMay 15, 2024
  9. 6/6 pack-bitmap: introduce `bitmap_writer_free()`Taylor Blau, May 14, 2024
  10. Patrick SteinhardtMay 15, 2024
  11. Taylor BlauMay 15, 2024
  12. Jeff KingMay 15, 2024
  13. Patrick SteinhardtMay 15, 2024
  14. Taylor BlauMay 15, 2024

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.