Linux-man Archive on
 help / color / Atom feed
From: Thadeu Lima de Souza Cascardo <>
To: Aleksa Sarai <>
Cc: Michael Kerrisk <>,,,
	Ingo Molnar <>,
	Arnaldo Carvalho de Melo <>,
	Jiri Olsa <>,
	Patrick Bellasi <>,
	Peter Zijlstra <>,
	Thomas Gleixner <>
Subject: Re: [PATCH] sched_getattr.2: update to include changed size semantics
Date: Thu, 28 Nov 2019 10:08:40 -0300
Message-ID: <20191128130840.GA3719@calabresa> (raw)
In-Reply-To: <>

On Thu, Nov 28, 2019 at 11:01:40PM +1100, Aleksa Sarai wrote:
> Due to a userspace breakage, commit 1251201c0d34 ("sched/core: Fix
> uclamp ABI bug, clean up and robustify sched_read_attr() ABI logic and
> code") changed the semantics of sched_getattr(2) when the userspace
> struct is smaller than the kernel struct. Now, any trailing non-zero
> data in the kernel structure is ignored when copying to userspace.
> Ref: 1251201c0d34 ("sched/core: Fix uclamp ABI bug, clean up and
>                     robustify sched_read_attr() ABI logic and code")
> Signed-off-by: Aleksa Sarai <>
> ---
>  man2/sched_setattr.2 | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> diff --git a/man2/sched_setattr.2 b/man2/sched_setattr.2
> index 76ffa14eba85..fbb67b8eb98b 100644
> --- a/man2/sched_setattr.2
> +++ b/man2/sched_setattr.2
> @@ -284,10 +284,8 @@ structure,
>  the additional bytes in the user-space structure are not touched.
>  If the caller-provided structure is smaller than the kernel
>  .I sched_attr
> -structure and the kernel needs to return values outside the provided space,
> -.BR sched_getattr ()
> -fails with the error
> -.BR E2BIG .
> +structure, the kernel will silently not return any values which would be stored
> +outside the provided space.
>  As with
>  .BR sched_setattr (),
>  these semantics allow for future extensibility of the interface.
> -- 
> 2.24.0

I was thinking about documenting the difference in behavior of older kernels,
before uclamp support.

However, in practice, for sched_getattr, the kernel never returned E2BIG (the
code uses EFBIG incorrectly, in fact). It does, however, return EINVAL for
sizes smaller than SCHED_ATTR_SIZE_VER0.

The EINVAL return is already well documented in the manpage.

However, E2BIG is still mentioned below as a possible return value for
sched_getattr. Can you remove that too?


  reply index

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-28 12:01 Aleksa Sarai
2019-11-28 13:08 ` Thadeu Lima de Souza Cascardo [this message]
2019-11-28 13:55   ` Aleksa Sarai

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191128130840.GA3719@calabresa \ \ \ \ \ \ \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-man Archive on

Archives are clonable:
	git clone --mirror linux-man/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-man linux-man/ \
	public-inbox-index linux-man

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone