Skip to content

Concurrent access to multiCIDRRangeAllocator.cidrMap is not protected #86

@mneverov

Description

@mneverov

Add Protected by lock. to the cidrMap field so it looks like:

	// cidrMap maps ClusterCIDR labels to internal ClusterCIDR objects. Protected by lock.
	cidrMap map[string][]*cidrset.ClusterCIDR

Run:

go install github.com/mneverov/protectedby@latest
protectedby ./...

$ protectedby ./...
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:202:3: not protected access to shared field cidrMap, use ra.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:686:34: not protected access to shared field cidrMap, use r.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:868:34: not protected access to shared field cidrMap, use r.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:886:34: not protected access to shared field cidrMap, use r.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:933:38: not protected access to shared field cidrMap, use r.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:971:28: not protected access to shared field cidrMap, use r.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:1131:32: not protected access to shared field cidrMap, use r.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:1251:28: not protected access to shared field cidrMap, use r.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:1273:11: not protected access to shared field cidrMap, use r.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator.go:1278:3: not protected access to shared field cidrMap, use r.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator_test.go:1052:57: not protected access to shared field cidrMap, use rangeAllocator.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator_test.go:1352:57: not protected access to shared field cidrMap, use rangeAllocator.lock.Lock()
/home/.../node-ipam-controller/pkg/controller/ipam/multi_cidr_range_allocator_test.go:1541:57: not protected access to shared field cidrMap, use rangeAllocator.lock.Lock()

Metadata

Metadata

Assignees

Labels

good first issueDenotes an issue ready for a new contributor, according to the "help wanted" guidelines.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions