code: func CheckDeprecatedFlags(f *FeatureList, features map[string]bool) map[string]string {
  	deprecatedMsg := map[string]string{}
  	for k := range features {
  		featureSpec, ok := (*f)[k]
  		if !ok {
  			// This case should never happen, it is implemented only as a sentinel
  			// for removal of flags executed when flags are still in use (always before deprecate, then after one cycle remove)
  			deprecatedMsg[k] = fmt.Sprintf("Unknown feature gate flag: %s", k)
  		}
  
  		if featureSpec.PreRelease == utilfeature.Deprecated {
  			if _, ok := deprecatedMsg[k]; !ok {
  				deprecatedMsg[k] = featureSpec.DeprecationMessage
  			}
  		}
  	}
  
  	return deprecatedMsg
  }
docs: // CheckDeprecatedFlags takes a list of existing feature gate flags and validates against the current feature flag set.
  // It used during upgrades for ensuring consistency of feature gates used in an existing cluster, that might
  // be created with a previous version of kubeadm, with the set of features currently supported by kubeadm