From: Arnd Bergmann <arnd@arndb.de>
To: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
Milton Miller <miltonm@bga.com>, Greg KH <greg@kroah.com>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
anton@samba.org
Subject: Re: cpumask: fix compat getaffinity
Date: Mon, 17 May 2010 20:58:50 +0200 [thread overview]
Message-ID: <201005172058.50642.arnd@arndb.de> (raw)
In-Reply-To: <20100517134320.A190.A69D9226@jp.fujitsu.com>
On Monday 17 May 2010, KOSAKI Motohiro wrote:
> From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
> Subject: [PATCH] cpumask: fix compat getaffinity
>
> Commit a45185d2d "cpumask: convert kernel/compat.c" broke
> libnuma, which abuses sched_getaffinity to find out NR_CPUS
> in order to parse /sys/devices/system/node/node*/cpumap.
>
> On NUMA systems with less than 32 possibly CPUs, the
> current compat_sys_sched_getaffinity now returns '4'
> instead of the actual NR_CPUS/8, which makes libnuma
> bail out when parsing the cpumap.
>
> The libnuma call sched_getaffinity(0, bitmap, 4096)
> at first. It mean the libnuma expect the return value of
> sched_getaffinity() is either len argument or NR_CPUS.
> But it doesn't expect to return nr_cpu_ids.
>
> Strictly speaking, userland requirement are
>
> 1) Glibc assume the return value mean the lengh of initialized
> of mask argument. E.g. if sched_getaffinity(1024) return 128,
> glibc make zero fill rest 896 byte.
> 2) Libnuma assume the return value can be used to guess NR_CPUS
> in kernel. It assume len-arg<NR_CPUS makes -EINVAL. But
> it try len=4096 at first and 4096 is always bigger than
> NR_CPUS. Then, if we remove strange min_length normalization,
> we never hit -EINVAL case.
>
> sched_getaffinity() already solved this issue. This patch
> adapt compat_sys_sched_getaffinity() as it.
>
> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Looks good to me,
Acked-by: Arnd Bergmann <arnd@arndb.de>
You should also add a Cc:stable@vger.kernel.org line to the
description so Greg's scripts catch it when it gets merged
upstream.
Arnd
next prev parent reply other threads:[~2010-05-17 18:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-07 12:45 Arnd Bergmann
2010-05-08 8:30 ` Rusty Russell
2010-05-08 9:11 ` Arnd Bergmann
2010-05-10 23:43 ` Rusty Russell
2010-05-11 1:47 ` KOSAKI Motohiro
2010-05-11 3:13 ` [stable] " Greg KH
2010-05-11 5:51 ` Rusty Russell
2010-05-11 6:25 ` KOSAKI Motohiro
2010-05-11 6:20 ` KOSAKI Motohiro
2010-05-11 15:20 ` Greg KH
2010-05-11 18:13 ` Arnd Bergmann
2010-05-11 21:36 ` Greg KH
2010-05-12 8:30 ` Milton Miller
2010-05-14 12:39 ` Rusty Russell
2010-05-17 6:04 ` KOSAKI Motohiro
2010-05-17 18:58 ` Arnd Bergmann [this message]
2010-05-18 0:57 ` Rusty Russell
2010-12-14 16:59 ` Josh Hunt
2010-12-15 14:40 ` Arnd Bergmann
2010-06-22 23:30 ` Rusty Russell
2010-05-11 9:05 ` Arnd Bergmann
2010-05-12 0:52 ` KOSAKI Motohiro
Reply instructions:
You may reply publicly 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:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201005172058.50642.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=anton@samba.org \
--cc=greg@kroah.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=miltonm@bga.com \
--cc=rusty@rustcorp.com.au \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome