Attestation signing and debug symbols

From recent time the portal issues a warning during attestation-signing a driver:

This submission does not include symbols. Future versions of
Windows will require symbols to be included in the symbol
path of the submission.

But when i put the .pdb files in a ‘Symbols’ directory and re-send the .cab
archive the portal reject my submission with the following text:

Your submission did not meet the package format requirements
for Attestation. Common reasons for this are: files at the
root of your cabinet, no driver files found, your package is
corrupt, or no INFs present. You can find a step-by-step guide
for creating your attestation package on MSDN.
You can download your full error report here for more
information about what went wrong and how to fix the issue.

No inf files found in driver directory/directories: Symbols.

This article confirms that this is a bug in the portal:

Dashboard FAQ
https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/dashboard-faq

Currently, there is a bug when symbol files are included in
the driver package and the submission will fail.


So, anybody know does the MS have a plans to fix this bug or not?
:slight_smile:

Thank you.

> But when i put the .pdb files in a ‘Symbols’ directory and re-send the .cab

archive the portal reject my submission with the following text:

The attested signing submissions allow for submitting more than one
driver. Each driver goes in a separate subdirectory, just like the
first driver must be. So I expect the “Symbols” directory is being
treated just as any other driver subdirectory in the .CAB would, which
is why you’re seeing that an .INF was expected.

Since the symbols are specific to each of the driver(s) included in
the .CAB, perhaps they belong in the same directory as the driver
itself. What happens if you simply put the .PDBs in with the actual
driver? e.g. Serial.pdb sitting at peer with Serial.sys.

Alan Adams
Client for Open Enterprise Server
Micro Focus
xxxxx@microfocus.com

Alan Adams wrote:

What happens if you simply put the .PDBs in with the actual driver?
e.g. Serial.pdb sitting at peer with Serial.sys.

A little unexpected, but it works.
Submission complete without warnings or errors.
Thank you, Alan.

> > What happens if you simply put the .PDBs in with the actual driver?

> e.g. Serial.pdb sitting at peer with Serial.sys.

A little unexpected, but it works.
Submission complete without warnings or errors.

Thanks for reporting back with the confirmation that it works. Only
citing “in the symbols path of the submission” in the warning message
definitely was ambiguous as to where exactly the symbol files had been
expected to appear.

Alan Adams
Client for Open Enterprise Server
Micro Focus
xxxxx@microfocus.com

We are in the process of updating our Attestation documentation page to make this clearer for you. But, you have done it correctly. We expect your symbols to be located in the same folder as your driver.

https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/attestation-signing-a-kernel-driver-for-public-release

The updates will be in both “Create a CAB Files Submission” and an updated graphic in the “Create a Multiple Driver Submission” section calling out where PDBs should go.

Sorry for bumping this old thread.

It appears right now it is still not enforced to include symbol files in the attestation procedure, however a warning message is displayed telling it is recommended.

What is the reason to include the symbol files in the signing? Is there any benefit (or drawback for that matter). e.g. If the symbol files are included in the signing procedure does this mean they also have to be included when the driver is installed?

Sander wrote:

What is the reason to include the symbol files in the signing? Is there any benefit (or drawback for that matter).

Theoretically, when your driver crashes and the user chooses to send the
dump to Microsoft, they can send you a more detailed analysis.

e.g. If the symbol files are included in the signing procedure does this mean they also have to be included when the driver is installed?

No.  They just have to be in the cabinet.  If they aren’t mentioned in
the INF, then they won’t be checksummed in the CAT file and will not
need to be distributed.