From nobody Tue Apr 7 12:22:57 2026 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F2FB8392801 for ; Wed, 25 Feb 2026 10:30:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772015449; cv=none; b=X6QQWuTKTnj1Jj8pRYiB3ofaFoNBpC3BJ8YwyVK5GWypjMaYYzHXtUj/Wp1k2sBE5AclarvNQyY70oz+2Wf1eEfo/PvNkzGLT8pCt/oyQYmM8XAM0lde4nw6FSa9jrA3xHqDxcW+nR6/roM4be+DgeDFHb0U4knO6BNkeID7IxQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772015449; c=relaxed/simple; bh=bMMsz9sz2Ry03Pf+W7ccpJaFPmJanl/h8fhuyPdctvI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Xih29SShuDhxnQicriErFgj06s8xWlnLbSSQugx6OrSlKeraK6r/CHqAUzK8NwWZCWgVafThVxCpiJLyLdXzUfBn+6Q+EeYxKXf/NAhsJbGX3ryHSx/DEaMhgPAfGxjCC+2abqpbOUC49HSF7VHfb32Ga7jVaIc6Y857ORMvxjQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GYrI4+6u; arc=none smtp.client-ip=209.85.167.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GYrI4+6u" Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-59e60b3ccdfso8388242e87.0 for ; Wed, 25 Feb 2026 02:30:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772015446; x=1772620246; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=qOO5wQwrSmDwfOumxY9P5EzZBIqL1pQdH7RIRo8a33c=; b=GYrI4+6uz32+pWgIjn6WlfyvzmL817S8VbJn+qaLbPs99vZuvedADKeOJwPGWAGBeN wjm39eTx6WfIASFwRJvK7MnZqtJE74ndWsIXkD4BIn2gjzEykYsbLLrluPcPBRy6Iwky lJN+9sFiy5kcQOD+S07nAT2RiMW52WvJMYYEVPSKIGiQrEURO2Rx0wF3usTav5wDq583 62A4m/Yuok6DmSxmApQYQWY3Viq1MNzSEKd+0B2jncpzYxtMbfhn6b1u0hSEh/1/wmm7 +lhMaq28X+QubBWDN1nEtvH3ZvaHPSUBkE/6FE7z84xKcYZ7KAO5QuPdGlgueEUmQf7i Fcmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772015446; x=1772620246; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qOO5wQwrSmDwfOumxY9P5EzZBIqL1pQdH7RIRo8a33c=; b=vX3QlG6YQ2VZpWaKeDDOaIhvE2vbLG75IbOj10XBfU0d5627L/jml5XNX3VURv1Nzd K8RM7WphPsuLMg8JZomnOKwjUqUmVIb71hoxUfX/BZJHV7sEgz5iefFJNgF/UGMG23rg qRbSieI+VIilIVoyb15jBBRdTJSCp+iQA+UWEdh8aCWCAId1pJlpG2oH/I2xkgwBlqOj GByVYtWqJ7JkGuwOP6WBve5kL89zNkZDCKQDAfPoWCcqruOLI0CCQD/rNjQSTGOS2t9q /LpvsaKNYKrx6TOouA9k6+gNTi7oT3sJ6Mid0TpgRMde3h1CgUErdpCvBjyfZInDsQLp s9zQ== X-Forwarded-Encrypted: i=1; AJvYcCU+s9QhUvI3Fi8zlxUxiA3lUlc2prCIDjsAJEsjcgLcXzkm4rLdlqgUNwynqzRkQyofuOnrUbdNCdseZzQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwI7BWGQSNLrMTON2o83+D6f1/cW1judg2Pv4hSqaCI+C848s8Q VtpixUmdOSrl6AE0Eng2n0POxY15h23/UZyAHkwAK5x/20wZ5yarwzfBdKJV8P10 X-Gm-Gg: ATEYQzzKo1nZbiwWnEKxcgP2KVE0I+mN/me8Nv2rtN35n2m54gEfpRq/rCdKAsexdnW r7p5OnDHkfToD2x487Ag75UsckOLpBTJorlA2hGQq2/j2u54AHOm9Oe8qh+AjpTqN2M/PWxN4sS K3ik94/EgiCcF6f+zLZ2h1t5RJQ2hgoeHbW8mjFe/8YhxsrUcNYRApsg4GYYEYAHswHQbNNkRqY HXrHiki1y0uVv8iGTwfWJo91C6Do+G6U9COpJtBXjtsHPCrbEHDTX/6ae4WkBeYazz11ZtG1Msi dU5qQELTv+e9xPDBMgP7MRNcat3rANtCfKRwX/zPeYDo57Ca8UqcvwdE7U2g1LpeUyXnd2t65Jj NaIPeVgN1cEq+rWtiDmuuzFSH3MTiINLFcZTfuCBExMO5ofVUTG01ri8DwODMPxX6bRew/nL8zH 0YIZVM2/Xxjh6LL2ivlftxaSjXM/wkRpwUm5vvyoeHlw== X-Received: by 2002:a05:6512:2346:b0:5a0:ff38:2531 with SMTP id 2adb3069b0e04-5a1026b9fe9mr701334e87.14.1772015445884; Wed, 25 Feb 2026 02:30:45 -0800 (PST) Received: from overpm-TM1701 ([176.124.85.73]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a0eeb4c530sm2872999e87.83.2026.02.25.02.30.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:30:44 -0800 (PST) From: Matvey Oborotov To: Johan Hovold , Alex Elder , Greg Kroah-Hartman Cc: greybus-dev@lists.linaro.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Matvey Oborotov Subject: [PATCH] staging: greybus: Use guard(mutex) in receive_data() Date: Wed, 25 Feb 2026 15:30:06 +0500 Message-ID: <20260225103006.295553-1-oborotovmatvey@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace manual mutex_lock/unlock with guard(mutex) in raw.c receive_data(). This automates lock release on function exit, ensures that lock is released on early returns, and makes the code cleaner. Signed-off-by: Matvey Oborotov --- drivers/staging/greybus/raw.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/staging/greybus/raw.c b/drivers/staging/greybus/raw.c index 3027a2c25bcd..6c31bae0d8ea 100644 --- a/drivers/staging/greybus/raw.c +++ b/drivers/staging/greybus/raw.c @@ -59,34 +59,28 @@ static int receive_data(struct gb_raw *raw, u32 len, u8= *data) { struct raw_data *raw_data; struct device *dev =3D &raw->connection->bundle->dev; - int retval =3D 0; =20 if (len > MAX_PACKET_SIZE) { dev_err(dev, "Too big of a data packet, rejected\n"); return -EINVAL; } =20 - mutex_lock(&raw->list_lock); + guard(mutex)(&raw->list_lock); if ((raw->list_data + len) > MAX_DATA_SIZE) { dev_err(dev, "Too much data in receive buffer, now dropping packets\n"); - retval =3D -EINVAL; - goto exit; + return -EINVAL; } =20 raw_data =3D kmalloc_flex(*raw_data, data, len); - if (!raw_data) { - retval =3D -ENOMEM; - goto exit; - } + if (!raw_data) + return -ENOMEM; =20 raw->list_data +=3D len; raw_data->len =3D len; memcpy(&raw_data->data[0], data, len); =20 list_add_tail(&raw_data->entry, &raw->list); -exit: - mutex_unlock(&raw->list_lock); - return retval; + return 0; } =20 static int gb_raw_request_handler(struct gb_operation *op) --=20 2.43.0