Re: [stable] cpumask: fix compat getaffinity

From: Greg KH
Date: Tue May 11 2010 - 11:51:17 EST


On Tue, May 11, 2010 at 03:20:45PM +0900, KOSAKI Motohiro wrote:
> > On Tue, May 11, 2010 at 10:47:03AM +0900, KOSAKI Motohiro wrote:
> > > > How's this?
> > > >
> > > > cpumask: use nr_cpu_ids for printing and parsing cpumasks
> > > >
> > > > 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.
> > > >
> > > > However, the result now returned reflects nr_cpu_ids, and
> > > > cpumask_scnprintf et al. use nr_cpumask_bits which is NR_CPUS (for
> > > > CONFIG_CPUMASK_OFFSTACK=n) or nr_cpu_ids (for
> > > > CONFIG_CPUMASK_OFFSTACK=y).
> > > >
> > > > We should use nr_cpu_ids consistently.
> > > >
> > > > Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
> > > > Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
> > > > Cc: stable@xxxxxxxxxx
> > >
> > > Well, This patch seems to have ABI change. please don't send abi-change to -stable.
> >
> > Why? There is no such thing as a "stable" internal abi in the kernel,
> > and that includes the -stable kernel releases.
> >
> > If it fixes a bug, that's all the requirement is.
>
> AFAIK, -stable is mainly used for distro and they have many and many
> packages. we can't assume no app read /sys files directly.
> IOW, To change /sys printing format is a bit risky change. frequently
> compatibility breaking natually break code stability.

Ah, the sysfs user/kernel API is what you are referring to here, right?
If so, remember, any changes need to be documented in Documentation/API
:)

And as for distros using -stable for their releases, that's fine, they
well know the risks/benefits for that and handle changes on their own.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/