From nobody Sun May 24 19:34:23 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 3068F3839AC for ; Thu, 21 May 2026 18:14:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779387294; cv=none; b=BEFwuiz3a5hducWqcwujdQ7+JAv39uXKQRObQeRbfmHgnQAGXglNHMSh1r0skwnAAhQ4SCXj8SNDFGn9n4YNMcf3C3M6ljqBs/RiERrMOu9ED3tb0XHFwD0X9Vq0swXMEr4tVudyjzu6MDuGtD8i6gvG4AmmONTPJmT12E37PRE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779387294; c=relaxed/simple; bh=PLwW4cE3Yxr+x/17vJ6hzy5kxS8G189MESZhzu3rekI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=WmD62NGLLvBgf6RUTuPlXdsBnx1ehAFNpT6aGxAXc5l9Cvc5lOMtTsmR4gvbli/FlGdHC3h8jHeiZHoChm0duvz6xCJIWiCFJX+mQ7+MteLwQ/8/A5z9LCQVKd/9yTiztt+X58cgt09fqGRhJ/ketcC48jeSfbpCOgO9MUHxMVk= 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=PR7vDw4d; arc=none smtp.client-ip=209.85.128.47 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="PR7vDw4d" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4903fd19957so3661085e9.1 for ; Thu, 21 May 2026 11:14:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779387291; x=1779992091; 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=jfWQexw5scxX47S59WLcWz668eezvBPIhS9gpOdPMlM=; b=PR7vDw4duY+RAcVS460TxTNPaNnI6xqQIDbFsAkQEcN06Fh/SY1sCIwrwdXi8aDtJK 54NzZyGXmLz91M6bXV25nNZc/YKfDET6InYyZWRsbcX0BNFbehpj8xuWQkhMTih1ILyg psMC5Z23DWIEx866CryZpBSn7qufljbl8xod4MYg8lfdWGhw8NhpOP9lHnhxsUHHNHcn 0ArD3q06RxcLZGiIkMpdPYdlmQfP3SIN/cVSOGC63ArYL4bzIKQuyDXSX02zt7AnCel5 gtS78pTfUy4sTppbLbLfzKD3JVdqFb98DFoopq0jQMde7VwiMQtf7kTnuTywB95ghDSL vxvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779387291; x=1779992091; 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=jfWQexw5scxX47S59WLcWz668eezvBPIhS9gpOdPMlM=; b=dQ8076g9ry0CARpRTU5YErFyDeHEfsM74rPCGXjAjOzohvWtKAhazrDEmXVapkzR6B 2CHnlQ2OHpL1HhsWvJicpe1ywags5Rf57W5nXv7meqWI4BPZ6NJotoiVZVCnO+nwUsud EDSJgK3acjPr/29xom4KxnvlQtKED0msMj3JGw1CexH13OfwKrLLuwPnl98gZCVfpqV2 zG9y3CJX7YKRl75jsuq69i7AAgbMRO6FWQXkiuMZGpoTnhFKoHMxr5JVaqnCXbzsewdk yGASWfI6Yv2Z79Sht8tPEcep9lo5f8oRAEUTvw1zoAmsvf8Tcs2TMMwt5qcB5vewXylQ 6Crw== X-Forwarded-Encrypted: i=1; AFNElJ97aZd5QaBA9kvH5DgRKnIYxplK1UgPa8WupIXf7vC+auVayDMcq88TXVBYfdWZDaPcq5Caz2fZAbHrmRg=@vger.kernel.org X-Gm-Message-State: AOJu0YxTxNgeS0YWWhTqBXQto8KVT4D3VFJ0jNXe/av5ZB77iUmknSQR gQQUSBzV46756X8WRZYp5ilz7eSGgSzFwbYJK8Cbu9lkqagvDQICR1bLFWF0pHgyyn5C3h5Q X-Gm-Gg: Acq92OHTbr0ER/TZmd1ui7fQ78mEHu64LRFuQrP4CZrrXZnrDij0cHVaPKZpmU6DmxA Xlh9HWurcyYB6+wYt+27eiCemSGizngLsn+8EkG9hIKVd6CxxnWhz7BWxzNAToXB9Yt4yN+8u/I kONk3fQMTIDh5Im2NrO0SUQNRjHYcdZRAi/Rir3HmfunlU40xmWhQz0yryZ/1pzhG/bsTSs9bWp 8L+r9tJDblgl10lqY7+zSRe4kGdQQhKyXCPMNdthRDk6LmYsEHC4bSr08/OiSUIbtleEn3dyoj9 2zXrNO9A7b36sFSpxFvdLxjnUQGmuFGqOpFwbkySAZ0v0ibsx+gEHZre1yDZWF3Ma8eILtsOijg paUAvG/4I9Vg/gY8fYWiTKXgAoJPSECMXa9Fx0nlzQnRqA7gf0jWRgUvfNREMBfRVcn+KCE5RfM vwVEHUZmeVUFPWKuSSXVHXDKxNUf3PLKMRiAcW0DpQQY57MfM= X-Received: by 2002:a05:600c:4452:b0:490:3bad:3784 with SMTP id 5b1f17b1804b1-4903bad3835mr45203955e9.18.1779387291255; Thu, 21 May 2026 11:14:51 -0700 (PDT) Received: from Dev-Null-MSI ([2a0d:3344:52ac:a808:98a4:4381:be45:536f]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eaa944995sm4730986f8f.34.2026.05.21.11.14.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 11:14:50 -0700 (PDT) From: Yousef Alhouseen To: Lee Jones , Pavel Machek Cc: linux-leds@vger.kernel.org, linux-kernel@vger.kernel.org, Yousef Alhouseen Subject: [PATCH] leds: uleds: return -EFAULT on copy_to_user() failure Date: Thu, 21 May 2026 20:12:05 +0200 Message-ID: <20260521181205.15130-1-alhouseenyousef@gmail.com> X-Mailer: git-send-email 2.54.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" uleds_read() copies the current brightness value to userspace but ignores copy_to_user() failures. It then clears the pending update and reports a successful full read even when no data was copied. Return -EFAULT when the copy fails and leave the update pending so a later read can retry. Signed-off-by: Yousef Alhouseen --- drivers/leds/uleds.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/leds/uleds.c b/drivers/leds/uleds.c index ace71ffc0591..470015e3f802 100644 --- a/drivers/leds/uleds.c +++ b/drivers/leds/uleds.c @@ -147,10 +147,13 @@ static ssize_t uleds_read(struct file *file, char __u= ser *buffer, size_t count, } else if (!udev->new_data && (file->f_flags & O_NONBLOCK)) { retval =3D -EAGAIN; } else if (udev->new_data) { - retval =3D copy_to_user(buffer, &udev->brightness, - sizeof(udev->brightness)); - udev->new_data =3D false; - retval =3D sizeof(udev->brightness); + if (copy_to_user(buffer, &udev->brightness, + sizeof(udev->brightness))) { + retval =3D -EFAULT; + } else { + udev->new_data =3D false; + retval =3D sizeof(udev->brightness); + } } =20 mutex_unlock(&udev->mutex); --=20 2.54.0