On Sat, Jan 22, 2022 at 12:36:01PM +0100, Vitaly Zaitsev via devel wrote:
> On 21/01/2022 19:04, Steve Grubb wrote:
> >Uninitialized variables are a big problem.
> 
> Yes, but as a package maintainer, I don't want to deal with dozens
> of crashes after this change.
> 
> Such problems must be fixed by upstream developers, not by
> volunteers [package maintainers].
> 
> Most upstreams will close such bug reports with "Fedora specific
> issue" reason, as it was with GLIB assertions. I've manually fixed
> many of them in my packages.

I'm curious here how you think programs could crash with the proposed
changes.

For auto (ie stack allocated) variables, as far as any program is
concerned this isn't a change at all - after all, an uninitialized
stack variable could start off zero as easily as any other value.

However I could see there might possibly be a problem with large stack
frames (eg. ones containing multi-page buffers).  These would now be
written to, rather than left untouched.  So stack canaries and guard
pages might be touched rather than ignored.  I think this would
highlight an actual bug in the program.

In all the C programs I'm involved in we have long added GCC warning
flags to limit frame sizes and prohibit VLAs, just because you can
never really be sure how big the stack is.

There is a concern, I think, with the proposed "always calloc" change,
since that would change both the performance and more critically the
allocation pattern of the program.  A program that mallocs a huge
amount of RAM -- assuming vm.overcommit_memory has been changed from
its default (eg. 0 -> 1) -- would suddenly begin allocating memory.
And generally programs would run a little slower, and some a lot slower.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to