How to tell if a field in c struct is initialized?

Shiyao MA i at introo.me
Fri Dec 8 08:23:31 EST 2017


Thanks for your reply.

Best,

On Fri, Dec 8, 2017 at 9:11 PM, Greg KH <greg at kroah.com> wrote:
> On Fri, Dec 08, 2017 at 08:47:42PM +0800, Shiyao MA wrote:
>> Hi,
>>
>> I come across this code:
>> http://elixir.free-electrons.com/linux/latest/source/drivers/scsi/scsi_netlink.c#L128
>>
>> other fields such as .cbmutex, .bind, etc are not initialized.
>>
>> Since the object =cfg= is of automatic storage, I wonder how the
>> kernel tells if a field is initialized or its value is just some
>> random bits on the stack?
>
> The fields are initialized to zero.  It's a C specification requirement.
>
> Hope this helps,
>
> greg k-h



-- 
Best,
Shiyao



More information about the Kernelnewbies mailing list