aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-11-13 15:22:30 +0100
committerDmitry Vyukov <dvyukov@google.com>2024-11-13 15:00:09 +0000
commita8c9939451aee6b1bb2809bdd4edf640b2da431f (patch)
treed31ab00665dcfe5dbd50fbb0aeaa2650441fc9b3
parentc22c6600ea5172145e20d546d9856421eaee0527 (diff)
tools/syz-declextract: fix generic netlink family names
-rw-r--r--sys/linux/auto.txt2
-rw-r--r--tools/syz-declextract/syz-declextract.cpp11
2 files changed, 7 insertions, 6 deletions
diff --git a/sys/linux/auto.txt b/sys/linux/auto.txt
index 457e2557a..63e72d618 100644
--- a/sys/linux/auto.txt
+++ b/sys/linux/auto.txt
@@ -1020,7 +1020,7 @@ syncfs$auto(fd fd) (automatic)
sysfs$auto(option int32, arg1 intptr, arg2 intptr) (automatic)
sysinfo$auto(info ptr[inout, sysinfo$auto_record]) (automatic)
syslog$auto(type int32, buf ptr[inout, string], len int32) (automatic)
-syz_genetlink_get_family_id$auto_802_15_4_MAC(name ptr[in, string["802_15_4_MAC"]], fd sock_nl_generic) genl_802_15_4_MAC_family_id_auto (automatic)
+syz_genetlink_get_family_id$auto_802_15_4_MAC(name ptr[in, string["802.15.4 MAC"]], fd sock_nl_generic) genl_802_15_4_MAC_family_id_auto (automatic)
syz_genetlink_get_family_id$auto_HSR(name ptr[in, string["HSR"]], fd sock_nl_generic) genl_HSR_family_id_auto (automatic)
syz_genetlink_get_family_id$auto_IOAM6(name ptr[in, string["IOAM6"]], fd sock_nl_generic) genl_IOAM6_family_id_auto (automatic)
syz_genetlink_get_family_id$auto_IPVS(name ptr[in, string["IPVS"]], fd sock_nl_generic) genl_IPVS_family_id_auto (automatic)
diff --git a/tools/syz-declextract/syz-declextract.cpp b/tools/syz-declextract/syz-declextract.cpp
index 7f461c21e..f39d8f143 100644
--- a/tools/syz-declextract/syz-declextract.cpp
+++ b/tools/syz-declextract/syz-declextract.cpp
@@ -886,8 +886,6 @@ private:
}
}
- auto name = toIdentifier(
- llvm::dyn_cast<StringLiteral>(genlFamilyInit->getInit(genlFamilyMember["name"]))->getString().str());
const auto &globalPolicyName =
genlFamilyInit->getInit(genlFamilyMember["policy"])->getAsBuiltinConstantDeclRef(*context);
@@ -896,7 +894,10 @@ private:
familyPolicyName = *getPolicyName(Result, globalPolicyName);
}
- std::string msghdr = "msghdr_" + name + "_auto";
+ std::string familyName =
+ llvm::dyn_cast<StringLiteral>(genlFamilyInit->getInit(genlFamilyMember["name"]))->getString().str();
+ std::string identifierName = toIdentifier(familyName);
+ std::string msghdr = "msghdr_" + identifierName + "_auto";
bool printedCmds = false;
for (const auto &opsType : {"ops", "small_ops", "split_ops"}) {
for (auto &ops : getOps(Result, opsType, genlFamilyInit)) {
@@ -917,12 +918,12 @@ private:
if (!printedCmds) { // Do not print resources and types if they're not used in any cmds
return;
}
- std::string resourceName = "genl_" + name + "_family_id_auto";
+ std::string resourceName = "genl_" + identifierName + "_family_id_auto";
printf("resource %s[int16]\n", resourceName.c_str());
printf("type %s[CMD, POLICY] msghdr_netlink[netlink_msg_t[%s, genlmsghdr_t[CMD], POLICY]]\n", msghdr.c_str(),
resourceName.c_str());
printf("syz_genetlink_get_family_id$auto_%s(name ptr[in, string[\"%s\"]], fd sock_nl_generic) %s (automatic)\n",
- name.c_str(), name.c_str(), resourceName.c_str());
+ identifierName.c_str(), familyName.c_str(), resourceName.c_str());
}
};