<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 20, 2022 at 5:30 PM Li Wang <<a href="mailto:liwang@redhat.com">liwang@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-size:small">Richard Palethorpe <<a href="mailto:rpalethorpe@suse.de" target="_blank">rpalethorpe@suse.de</a>> wrote:<br></div></div><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> -static struct itimerval *value;<br>
> +static struct itimerval *value, *ovalue;<br>
> +<br>
> +static struct tcase {<br>
> +       int which;<br>
> +       struct itimerval **val;<br>
> +       struct itimerval **oval;<br>
> +       int exp_errno;<br>
<br>
There is a whitespace error here (see checkpatch/make check)<br></blockquote><div><br></div><div><div style="font-size:small">yes, thanks.</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> +} tcases[] = {<br>
> +       {ITIMER_REAL,    &value, &ovalue, EFAULT},<br>
> +       {ITIMER_VIRTUAL, &value, &ovalue, EFAULT},<br>
> +       {-ITIMER_PROF,   &value, &ovalue, EINVAL},<br>
> +};<br>
<br>
Why do we need value and ovalue in the struct?<br></blockquote><div><br></div><div><div style="font-size:small">Becuase it does not allow parsing an invalid pointer address</div><div style="font-size:small">from a structure, we have to give a valid address which pointer</div><div style="font-size:small">to save an invalid address. Otherwise segement fault will</div><div style="font-size:small">be hit in execution.</div></div></div></div></blockquote><div><br></div><div class="gmail_default" style="font-size:small">On the other side, it also does not allow to initializer element</div><div class="gmail_default" style="font-size:small">is not constant in structure. So the two-level pointer is only the</div><div class="gmail_default" style="font-size:small">way I can make all things comprised here.</div><div class="gmail_default" style="font-size:small"></div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div>