From: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@linux.intel.com>
To: Wander Lairson Costa <wander@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
x86@kernel.org, Shuah Khan <shuah@kernel.org>,
"H . Peter Anvin" <hpa@zytor.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
Tony Luck <tony.luck@intel.com>, Andi Kleen <ak@linux.intel.com>,
Kai Huang <kai.huang@intel.com>,
Isaku Yamahata <isaku.yamahata@gmail.com>,
marcelo.cerri@canonical.com, tim.gardner@canonical.com,
khalid.elmously@canonical.com, philip.cox@canonical.com,
linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
linux-doc@vger.kernel.org
Subject: Re: [PATCH v12 2/3] selftests: tdx: Test TDX attestation GetReport support
Date: Fri, 9 Sep 2022 11:40:14 -0700 [thread overview]
Message-ID: <379acbc9-dd7d-f52b-b4d5-da5dac065891@linux.intel.com> (raw)
In-Reply-To: <CAAq0SUk9_DS4T5_uAg+3re7=wrGXMkiXgw_oPsWfrmgY79P=2g@mail.gmail.com>
On 9/9/22 6:36 AM, Wander Lairson Costa wrote:
> On Thu, Sep 8, 2022 at 8:45 PM Sathyanarayanan Kuppuswamy
> <sathyanarayanan.kuppuswamy@linux.intel.com> wrote:
>>
>>
>>
>> On 9/8/22 7:16 AM, Wander Lairson Costa wrote:
>>>> +#ifdef DEBUG
>>>> +static void print_array_hex(const char *title, const char *prefix_str,
>>>> + const void *buf, int len)
>>>> +{
>>>> + const __u8 *ptr = buf;
>>>> + int i, rowsize = HEX_DUMP_SIZE;
>>>> +
>>>> + if (!len || !buf)
>>>> + return;
>>>> +
>>>> + printf("\t\t%s", title);
>>>> +
>>>> + for (i = 0; i < len; i++) {
>>>> + if (!(i % rowsize))
>>>> + printf("\n%s%.8x:", prefix_str, i);
>>>> + printf(" %.2x", ptr[i]);
>>>> + }
>>>> +
>>>> + printf("\n");
>>>> +}
>>>> +#endif
>>>> +
>>>> +TEST(verify_report)
>>>> +{
>>>> + __u8 reportdata[TDX_REPORTDATA_LEN];
>>>> + struct tdreport tdreport;
>>>> + struct tdx_report_req req;
>>>> + int devfd, i;
>>>> +
>>>> + devfd = open(TDX_GUEST_DEVNAME, O_RDWR | O_SYNC);
>>>> +
>>>> + ASSERT_LT(0, devfd);
>>>> +
>>>> + /* Generate sample report data */
>>>> + for (i = 0; i < TDX_REPORTDATA_LEN; i++)
>>>> + reportdata[i] = i;
>>>> +
>>>> + /* Initialize IOCTL request */
>>>> + req.subtype = 0;
>>>> + req.reportdata = (__u64)reportdata;
>>>> + req.rpd_len = TDX_REPORTDATA_LEN;
>>>> + req.tdreport = (__u64)&tdreport;
>>>> + req.tdr_len = sizeof(tdreport);
>>>> +
>>>> + /* Get TDREPORT */
>>>> + ASSERT_EQ(0, ioctl(devfd, TDX_CMD_GET_REPORT, &req));
>>>> +
>>>> +#ifdef DEBUG
>>>> + print_array_hex("\n\t\tTDX report data\n", "",
>>>> + reportdata, sizeof(reportdata));
>>>> +
>>>> + print_array_hex("\n\t\tTDX tdreport data\n", "",
>>>> + &tdreport, sizeof(tdreport));
>>>> +#endif
>>> You can unconditionally define print_array_hex, and
>>> use `if (DEBUG)` instead of #ifdef `DEBUG here`. The compiler
>>> will get rid of the unused code when DEBUG is not defined
>>> as expected, but you get the parser to validate it
>>> independent of the definition of DEBUG.
>>
>> Currently, DEBUG is a macro, so we cannot use if (DEBUG) directly.
>> You are suggesting to change DEBUG to a variable? Any reason to
>> make this change? I think both changes are functionally similar.
>> So I am wondering why to make this change?
>>
>
> My thought is always to define DEBUG. If in debug mode it is defined
> to 1; otherwise to 0.
> Then, you can use `if (DEBUG)` instead of `#ifdef DEBUG`. But the
> former will always check the syntax of the debug code,
> independent of the value of DEBUG, and the compiler will generate the
> same code. The GNU coding standard [1] explains that
> better than I do.
>
> [1] https://www.gnu.org/prep/standards/standards.html#Conditional-Compilation
Got it. I will use if (DEBUG).
>
>>>
>>
>> --
>> Sathyanarayanan Kuppuswamy
>> Linux Kernel Developer
>>
>
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
next prev parent reply other threads:[~2022-09-09 18:40 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-08 0:27 [PATCH v12 0/3] Add TDX Guest Attestation support Kuppuswamy Sathyanarayanan
2022-09-08 0:27 ` [PATCH v12 1/3] x86/tdx: Add TDX Guest attestation interface driver Kuppuswamy Sathyanarayanan
2022-09-08 5:31 ` Greg Kroah-Hartman
2022-09-08 19:07 ` Sathyanarayanan Kuppuswamy
2022-09-08 20:36 ` Dave Hansen
2022-09-08 20:45 ` Sathyanarayanan Kuppuswamy
2022-09-09 5:26 ` Greg Kroah-Hartman
2022-09-08 23:53 ` Sathyanarayanan Kuppuswamy
2022-09-09 5:25 ` Greg Kroah-Hartman
2022-09-08 0:27 ` [PATCH v12 2/3] selftests: tdx: Test TDX attestation GetReport support Kuppuswamy Sathyanarayanan
2022-09-08 14:16 ` Wander Lairson Costa
2022-09-08 23:45 ` Sathyanarayanan Kuppuswamy
2022-09-09 13:36 ` Wander Lairson Costa
2022-09-09 18:40 ` Sathyanarayanan Kuppuswamy [this message]
2022-09-09 1:55 ` Sathyanarayanan Kuppuswamy
2022-09-09 13:49 ` Dave Hansen
2022-09-09 3:48 ` Huang, Kai
2022-09-09 5:08 ` Sathyanarayanan Kuppuswamy
2022-09-08 0:27 ` [PATCH v12 3/3] Documentation/x86: Document TDX attestation process Kuppuswamy Sathyanarayanan
2022-09-08 9:10 ` Bagas Sanjaya
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=379acbc9-dd7d-f52b-b4d5-da5dac065891@linux.intel.com \
--to=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=ak@linux.intel.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=hpa@zytor.com \
--cc=isaku.yamahata@gmail.com \
--cc=kai.huang@intel.com \
--cc=khalid.elmously@canonical.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=marcelo.cerri@canonical.com \
--cc=mingo@redhat.com \
--cc=philip.cox@canonical.com \
--cc=shuah@kernel.org \
--cc=tglx@linutronix.de \
--cc=tim.gardner@canonical.com \
--cc=tony.luck@intel.com \
--cc=wander@redhat.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).