dmi_check_system(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– dmi_check_system(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” this is the page for dmi_check_system, and honestly? it's giving "quiet little function that knows everything about your machine." let's get into it 🫢


✨ NAME ✨

dmi_check_system β€” check system DMI data 🌸


✨ SYNOPSIS ✨

int dmi_check_system (const struct dmi_system_id *list );

✨ ARGUMENTS ✨

  • list β€” the array of dmi_system_id structures you're matching against πŸ’…

okay so about that list, this is the important bit, don't skip it: all non-null elements of the list have to match their slot's (that's the field index's) data for it to count as a successful match. and "match" here means each list string must be a substring of the specified DMI slot's string data. so, yeah β€” substring, not equality. no cap. ⭐


✨ DESCRIPTION ✨

so what actually happens? we walk the blacklist table, running the matching functions, until someone returns non zero β€” or until we hit the end. πŸ’€

the callback function gets called for each successful match, and the function returns the number of matches. simple, iconic, does exactly what it says on the tin. πŸ‘‘

⚠️ real talk though: dmi_setup must be called before this function is called. like, before. not "eh, it'll probably be fine." it will not be fine. πŸ™ˆ

✨ SEE ALSO ✨

kernel file: ./drivers/firmware/dmi_scan.c πŸ¦‹


and that's the page, bestie!! πŸŽ€ this one lives over in ./drivers/firmware, dated October 2026 β€” yes, 2026, main character energy for a docs timestamp ngl πŸ˜­πŸ’– now go call dmi_setup first, i'm literally begging you. πŸ’œ

πŸ“¦ where this page comes from