Re: [PATCH V4 01/20] rv: Add Runtime Verification (RV) interface

From: Matthew Wilcox
Date: Wed Jul 06 2022 - 13:53:55 EST


On Thu, Jul 07, 2022 at 01:49:02AM +0800, Tao Zhou wrote:
> > +struct rv_monitor {
> > + const char *name;
> > + const char *description;
> > + bool enabled;
>
> Can the 'bool enabled;' be put at the end like the definition of
> structure rv_monitor_def. If '8+8+sizeof(bool)+8+8+8' not the same
> as '8+8+8+8+8+sizeof(bool)', I mean is it possible that after the
> end of stucture there is a int or char not require to align to 8 as
> an example from my nonsense.

That will make no difference at all. C doesn't allow other variables
to "fill in the hole" at the end of the structure like that. For
example, one could legitimately do 'memset(&rvm, sizeof(rvm))',
and that would wipe out those other variables as well.