fix(usbgadget): add lock for logWithSupression (#653)

This commit is contained in:
Aveline 2025-07-01 12:54:38 +02:00 committed by GitHub
parent 960f555790
commit 73f5659618
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 0 deletions

View File

@ -81,6 +81,7 @@ type UsbGadget struct {
log *zerolog.Logger log *zerolog.Logger
logSuppressionCounter map[string]int logSuppressionCounter map[string]int
logSuppressionLock sync.Mutex
} }
const configFSPath = "/sys/kernel/config" const configFSPath = "/sys/kernel/config"

View File

@ -82,6 +82,9 @@ func compareFileContent(oldContent []byte, newContent []byte, looserMatch bool)
} }
func (u *UsbGadget) logWithSupression(counterName string, every int, logger *zerolog.Logger, err error, msg string, args ...interface{}) { func (u *UsbGadget) logWithSupression(counterName string, every int, logger *zerolog.Logger, err error, msg string, args ...interface{}) {
u.logSuppressionLock.Lock()
defer u.logSuppressionLock.Unlock()
if _, ok := u.logSuppressionCounter[counterName]; !ok { if _, ok := u.logSuppressionCounter[counterName]; !ok {
u.logSuppressionCounter[counterName] = 0 u.logSuppressionCounter[counterName] = 0
} else { } else {
@ -100,6 +103,9 @@ func (u *UsbGadget) logWithSupression(counterName string, every int, logger *zer
} }
func (u *UsbGadget) resetLogSuppressionCounter(counterName string) { func (u *UsbGadget) resetLogSuppressionCounter(counterName string) {
u.logSuppressionLock.Lock()
defer u.logSuppressionLock.Unlock()
if _, ok := u.logSuppressionCounter[counterName]; !ok { if _, ok := u.logSuppressionCounter[counterName]; !ok {
u.logSuppressionCounter[counterName] = 0 u.logSuppressionCounter[counterName] = 0
} }