svn commit: r276751 - head/sys/netinet

Luiz Otavio O Souza loos at FreeBSD.org
Tue Jan 6 13:07:14 UTC 2015


Author: loos
Date: Tue Jan  6 13:07:13 2015
New Revision: 276751
URL: https://svnweb.freebsd.org/changeset/base/276751

Log:
  Remove the check that prevent carp(4) advskew to be set to '0'.
  
  CARP devices are created with advskew set to '0' and once you set it to
  any other value in the valid range (0..254) you can't set it back to zero.
  
  The code in question is also used to prevent that zeroed values overwrite
  the CARP defaults when a new CARP device is created.  Since advskew already
  defaults to '0' for newly created devices and the new value is guaranteed
  to be within the valid range, it is safe to overwrite it here.
  
  PR:		194672
  Reported by:	cmb at pfsense.org
  In collaboration with:	garga
  Tested by:	garga
  MFC after:	2 weeks

Modified:
  head/sys/netinet/ip_carp.c

Modified: head/sys/netinet/ip_carp.c
==============================================================================
--- head/sys/netinet/ip_carp.c	Tue Jan  6 12:59:37 2015	(r276750)
+++ head/sys/netinet/ip_carp.c	Tue Jan  6 13:07:13 2015	(r276751)
@@ -1703,13 +1703,11 @@ carp_ioctl(struct ifreq *ifr, u_long cmd
 			}
 			sc->sc_advbase = carpr.carpr_advbase;
 		}
-		if (carpr.carpr_advskew > 0) {
-			if (carpr.carpr_advskew >= 255) {
-				error = EINVAL;
-				break;
-			}
-			sc->sc_advskew = carpr.carpr_advskew;
+		if (carpr.carpr_advskew >= 255) {
+			error = EINVAL;
+			break;
 		}
+		sc->sc_advskew = carpr.carpr_advskew;
 		if (carpr.carpr_key[0] != '\0') {
 			bcopy(carpr.carpr_key, sc->sc_key, sizeof(sc->sc_key));
 			carp_hmac_prepare(sc);


More information about the svn-src-all mailing list