/* Skylake */ static void quirk_intel_purley_xeon_ras_cap(struct pci_dev *pdev) { u32 capid0; pci_read_config_dword(pdev, 0x84, &capid0); if ((capid0 & 0xc0) == 0xc0) static_branch_inc(&mcsafe_key); }
static int nft_meta_set_init(const struct nft_ctx *ctx, const struct nft_expr *expr, const struct nlattr * const tb[]) { struct nft_meta *priv = nft_expr_priv(expr); unsigned int len; int err; priv->key = ntohl(nla_get_be32(tb[NFTA_META_KEY])); switch (priv->key) { case NFT_META_MARK: case NFT_META_PRIORITY: #ifdef CONFIG_NETWORK_SECMARK case NFT_META_SECMARK: #endif len = sizeof(u32); break; case NFT_META_NFTRACE: len = sizeof(u8); break; case NFT_META_PKTTYPE: len = sizeof(u8); break; default: return -EOPNOTSUPP; } priv->sreg = nft_parse_register(tb[NFTA_META_SREG]); err = nft_validate_register_load(priv->sreg, len); if (err < 0) return err; if (priv->key == NFT_META_NFTRACE) static_branch_inc(&nft_trace_enabled); return 0; }
void ip_tunnel_need_metadata(void) { static_branch_inc(&ip_tunnel_metadata_cnt); }