[Freeipa-devel] [PATCH 0070] Fix zone register locking in zr_set_zone_serial_digest()

Adam Tkac atkac at redhat.com
Wed Sep 26 14:01:29 UTC 2012


On Wed, Sep 26, 2012 at 12:57:33PM +0200, Petr Spacek wrote:
> Hello,
> 
>     Fix zone register locking in zr_set_zone_serial_digest().
> 
>     Zone register has to be locked against simultaneous writes.

Ack

> From ad51025a35efe47542f4379049c8e23d1054726c Mon Sep 17 00:00:00 2001
> From: Petr Spacek <pspacek at redhat.com>
> Date: Wed, 26 Sep 2012 12:51:06 +0200
> Subject: [PATCH] Fix zone register locking in zr_set_zone_serial_digest().
> 
> Zone register has to be locked against simultaneous writes.
> 
> Signed-off-by: Petr Spacek <pspacek at redhat.com>
> ---
>  src/zone_register.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/zone_register.c b/src/zone_register.c
> index b2b938f3336b23a40d43c85062c9389a2190f3cb..76305730b2e19686568f8a1bc6ac703ed3898fcc 100644
> --- a/src/zone_register.c
> +++ b/src/zone_register.c
> @@ -370,15 +370,15 @@ zr_set_zone_serial_digest(zone_register_t *zr, dns_name_t *name,
>  		return ISC_R_FAILURE;
>  	}
>  
> -	RWLOCK(&zr->rwlock, isc_rwlocktype_read);
> +	RWLOCK(&zr->rwlock, isc_rwlocktype_write);
>  
>  	result = dns_rbt_findname(zr->rbt, name, 0, NULL, (void *)&zinfo);
>  	if (result == ISC_R_SUCCESS) {
>  		zinfo->serial = serial;
>  		memcpy(zinfo->digest, digest, RDLIST_DIGESTLENGTH);
>  	}
>  
> -	RWUNLOCK(&zr->rwlock, isc_rwlocktype_read);
> +	RWUNLOCK(&zr->rwlock, isc_rwlocktype_write);
>  
>  	return result;
>  }
> -- 
> 1.7.11.4
> 


-- 
Adam Tkac, Red Hat, Inc.




More information about the Freeipa-devel mailing list