From nobody Sun Feb 8 04:38:47 2026 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (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 030382F290A for ; Wed, 24 Dec 2025 08:31:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766565113; cv=none; b=Wr63uzceT9GoZaGjkGccG4vaZZO72JjjRIe6IylS+3LYa7TIKtseUKaH+gsUYQ31+9M+pSasxsjGf/ugc16GmqthmrtErugMj1cHiaBWAjzq9PPACamsDgFMLvDgMxEnlnmclGp+wCLcPKKRwabWk1eg3pY4T4BDdQ8x7t79NEU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766565113; c=relaxed/simple; bh=ZYZveb+F5nUu82ZdKCFb1PPNS1suY9e/5jboz9Owm/o=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=hj1A+Zzzf7akXseCVdoIbT2BxxohMwT0j+s+HKsMBfAzIcNaJLbFb34MQ1sNncjNIVU/jBglzNG74mnfn2TzZb1f0RrUw9Pykzr9KDK4j5WyQiPlFZSB7wO4EjsGfbdNbXiPs/FU8E9G5hJtrRdoyqh/bVqsKxS3lQ19XKeVj/I= 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=X/7oSb5X; arc=none smtp.client-ip=209.85.167.54 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="X/7oSb5X" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-598f59996aaso7324120e87.1 for ; Wed, 24 Dec 2025 00:31:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766565109; x=1767169909; 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=+/LcCQ8zwUe0fNhrJKNtlDY5MwEEJ1f2PC3vtSyv8ek=; b=X/7oSb5XOWV+IfBuyZJC/bDCwlAG97tE5aBvJrJ104ElsiQxu1tzj0yULoIaL/A6dg SI4B7cZVxtdGZrjwrtyWYZvbwPJzq4K6GXbOnfqznryWmsrUjP78LvWvixi4xiudVNga mnUXaL2wsZEhsziJ9Kdyp4WAjCUvzha4mIwkJjDS7vS8fWLCcS6/Zmlo2FjpsOBiPUL7 6ykpLVyAmMMPOzxX1yoqpXhbxea4QqL/b43HZ4WhcQS63veNyGcejs3mcf/FALSr04dg ID5hSjsM7S7INqyGu2MzeiX3AnuCNDXh1boai7JickZzIAIryBezz97/4UMd0NFj2YCa TftQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766565109; x=1767169909; 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=+/LcCQ8zwUe0fNhrJKNtlDY5MwEEJ1f2PC3vtSyv8ek=; b=U1+4CDfZn3il/JfYKXUK1UuT83/VWtzFasOAVHBAeZN8JMX4mPPCN7AFVjDtSa18UL nqw+sCxLgWEAS3+64lQ5RDQwz4AqZUdTWEB6ZhCq4QUJitZGfAKdWG1IQA32tJmC7dlG Y7OKij+waxHivbwGtY68E7675ibjMoVxz9GfG7VdSsC7XuxhxCGG13630tgPvZ4A0cm+ ktduo8a28DbiNab5hV7Zlp9abIPFkcsvhYZSM6tGSqZ7sHIincgl11/Ov+zewmsW/gE7 MxvXVq1FIXYgtDYUYvvaZubLp17zXpfvvlYLk72KF9/4JJ0C2jSGF49t+EYyI29NouhQ 6A9Q== X-Forwarded-Encrypted: i=1; AJvYcCU6jhBvKjwpvH526Zx7II4tMMCIrDR+SAtm0yyLjJBtyvWnCFAadRZe91bFarshnRoKBt3GMyfMji5H+08=@vger.kernel.org X-Gm-Message-State: AOJu0YyG/qDGaXIlAFrfuAT4HF2EDkSG1eK/1nkCIteErhh84zwpI2IY Lt96Moflnf0H0HM8RHr3ocTMK043Ky/ZojBjOPth4KZ0um1hm5eK4Iyc X-Gm-Gg: AY/fxX5wGQLX/FQMrSOm2yhg8ppBf2SYqot799FGIAUigP+zyvd6hjgtGWqLFy03PsG pnM32MQdEy9RMQ7ATv9psguRUryZNPSG8YQjrythSOU/rO9cDEL2qoq+ElBEfZ7r1VuknfYkU18 jrHJ7G4anpicSRm63aORu+0CLBZ666QT79uffCH0APIp5CDctLEBsfzB5/jgUDEa0smLIw6r6iE ZIdxJHc5qrR/G2LVEapg+KhxERyDAuFSsUBDyrBdw1gbTnqt+m/jGUhHWgWSGuEd6a6Wc2zmAA2 D9muU1qaxFwgPvpEuiQeAASdT2Fekq2coGmeZE8FEjOhhOisanFwaVvkOpXBmTCv3Bc2p50lNFB d5HyW7c4LpRbp8f4UbRO1xalvjB7LD92IEFGEQz3BagW8TYxYdGmZ9DoSh9JOljoViIabSFeXAG W8UguUgH93bZapjSI+HaN5asDfVOJJ3WEScbXK X-Google-Smtp-Source: AGHT+IFCz7bMbVaeEuQih1+/noaVnIb7zWc7m1Mkp0VhdGZcHzCbI7zekNH/mtwDeTp7rjb0PQcouQ== X-Received: by 2002:a05:6512:158b:b0:598:f369:68fb with SMTP id 2adb3069b0e04-59a17cff37bmr5090223e87.10.1766565108668; Wed, 24 Dec 2025 00:31:48 -0800 (PST) Received: from localhost.localdomain ([176.33.67.19]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59a185d6002sm4689077e87.9.2025.12.24.00.31.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Dec 2025 00:31:46 -0800 (PST) From: Alper Ak To: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Cc: Alper Ak , kernel test robot , Dan Carpenter , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , Tyrel Datwyler , Mahesh Salgaonkar , Haren Myneni , Christian Brauner Subject: [PATCH] powerpc/pseries: papr-hvpipe: Return -EFAULT on copy_to_user() failure Date: Wed, 24 Dec 2025 11:31:10 +0300 Message-ID: <20251224083116.23904-1-alperyasinak1@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" copy_to_user() returns the number of bytes that could not be copied, not an error code. Currently, hvpipe_rtas_recv_msg() and papr_hvpipe_handle_read() return this positive value directly on failure, which userspace interprets as a successful read of that many bytes. Return -EFAULT when copy_to_user() fails. Reported-by: kernel test robot Reported-by: Dan Carpenter Closes: https://lore.kernel.org/r/202512240028.EKDG3Wu6-lkp@intel.com/ Signed-off-by: Alper Ak --- arch/powerpc/platforms/pseries/papr-hvpipe.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/platforms/pseries/papr-hvpipe.c b/arch/powerpc/pl= atforms/pseries/papr-hvpipe.c index dd7b668799d9..0dee94c7c887 100644 --- a/arch/powerpc/platforms/pseries/papr-hvpipe.c +++ b/arch/powerpc/platforms/pseries/papr-hvpipe.c @@ -209,7 +209,9 @@ static int hvpipe_rtas_recv_msg(char __user *buf, int s= ize) ret =3D copy_to_user(buf, rtas_work_area_raw_buf(work_area), bytes_written); - if (!ret) + if (ret) + ret =3D -EFAULT; + else ret =3D bytes_written; } } else { @@ -376,7 +378,7 @@ static ssize_t papr_hvpipe_handle_read(struct file *fil= e, =20 ret =3D copy_to_user(buf, &hdr, HVPIPE_HDR_LEN); if (ret) - return ret; + return -EFAULT; =20 /* * Message event has payload, so get the payload with --=20 2.43.0