* [next:akpm 18/86] kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a cast
@ 2012-10-12 16:56 Fengguang Wu
2012-10-12 17:46 ` [next:akpm 18/86] kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a ca Kees Cook
2012-10-12 18:29 ` Fengguang Wu
0 siblings, 2 replies; 3+ messages in thread
From: Fengguang Wu @ 2012-10-12 16:56 UTC (permalink / raw)
To: kernel-janitors
Hi Kees,
FYI, there are new compile warnings show up in
tree: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm
head: 04b956faad392f46c9a234962a9990196b8e48fc
commit: b8763455880e371a81b07599bc66ae94f96dc6d6 [18/86] kernel/sys.c: fix stack memory content leak via UNAME26
config: mn10300-asb2364_defconfig # make ARCH=mn10300 asb2364_defconfig
All warnings:
kernel/sys.c: In function 'override_release':
kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a cast [enabled by default]
vim +1287 kernel/sys.c
be27425d Andi Kleen 2011-08-19 1271
be27425d Andi Kleen 2011-08-19 1272 if (current->personality & UNAME26) {
b8763455 Kees Cook 2012-10-12 1273 const char *rest = UTS_RELEASE;
b8763455 Kees Cook 2012-10-12 1274 char buf[65] = { 0 };
be27425d Andi Kleen 2011-08-19 1275 int ndots = 0;
be27425d Andi Kleen 2011-08-19 1276 unsigned v;
b8763455 Kees Cook 2012-10-12 1277 size_t copy;
be27425d Andi Kleen 2011-08-19 1278
be27425d Andi Kleen 2011-08-19 1279 while (*rest) {
be27425d Andi Kleen 2011-08-19 1280 if (*rest = '.' && ++ndots >= 3)
be27425d Andi Kleen 2011-08-19 1281 break;
be27425d Andi Kleen 2011-08-19 1282 if (!isdigit(*rest) && *rest != '.')
be27425d Andi Kleen 2011-08-19 1283 break;
be27425d Andi Kleen 2011-08-19 1284 rest++;
be27425d Andi Kleen 2011-08-19 1285 }
be27425d Andi Kleen 2011-08-19 1286 v = ((LINUX_VERSION_CODE >> 8) & 0xff) + 40;
b8763455 Kees Cook 2012-10-12 @1287 copy = min(sizeof(buf), max_t(size_t, 1, len));
b8763455 Kees Cook 2012-10-12 1288 copy = scnprintf(buf, copy, "2.6.%u%s", v, rest);
b8763455 Kees Cook 2012-10-12 1289 ret = copy_to_user(release, buf, copy + 1);
be27425d Andi Kleen 2011-08-19 1290 }
be27425d Andi Kleen 2011-08-19 1291 return ret;
be27425d Andi Kleen 2011-08-19 1292 }
be27425d Andi Kleen 2011-08-19 1293
e48fbb69 Heiko Carstens 2009-01-14 1294 SYSCALL_DEFINE1(newuname, struct new_utsname __user *, name)
^1da177e Linus Torvalds 2005-04-16 1295 {
---
0-DAY kernel build testing backend Open Source Technology Center
Fengguang Wu, Yuanhan Liu Intel Corporation
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [next:akpm 18/86] kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a ca
2012-10-12 16:56 [next:akpm 18/86] kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a cast Fengguang Wu
@ 2012-10-12 17:46 ` Kees Cook
2012-10-12 18:29 ` Fengguang Wu
1 sibling, 0 replies; 3+ messages in thread
From: Kees Cook @ 2012-10-12 17:46 UTC (permalink / raw)
To: kernel-janitors
On Fri, Oct 12, 2012 at 9:56 AM, Fengguang Wu <fengguang.wu@intel.com> wrote:
> FYI, there are new compile warnings show up in
>
> tree: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm
> head: 04b956faad392f46c9a234962a9990196b8e48fc
> commit: b8763455880e371a81b07599bc66ae94f96dc6d6 [18/86] kernel/sys.c: fix stack memory content leak via UNAME26
> config: mn10300-asb2364_defconfig # make ARCH=mn10300 asb2364_defconfig
>
> All warnings:
>
> kernel/sys.c: In function 'override_release':
> kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a cast [enabled by default]
Hrm, I don't see this on my builds. Is this check specific to mn10300
in some way?
> vim +1287 kernel/sys.c
>
> be27425d Andi Kleen 2011-08-19 1271
> be27425d Andi Kleen 2011-08-19 1272 if (current->personality & UNAME26) {
> b8763455 Kees Cook 2012-10-12 1273 const char *rest = UTS_RELEASE;
> b8763455 Kees Cook 2012-10-12 1274 char buf[65] = { 0 };
> be27425d Andi Kleen 2011-08-19 1275 int ndots = 0;
> be27425d Andi Kleen 2011-08-19 1276 unsigned v;
> b8763455 Kees Cook 2012-10-12 1277 size_t copy;
> be27425d Andi Kleen 2011-08-19 1278
> be27425d Andi Kleen 2011-08-19 1279 while (*rest) {
> be27425d Andi Kleen 2011-08-19 1280 if (*rest = '.' && ++ndots >= 3)
> be27425d Andi Kleen 2011-08-19 1281 break;
> be27425d Andi Kleen 2011-08-19 1282 if (!isdigit(*rest) && *rest != '.')
> be27425d Andi Kleen 2011-08-19 1283 break;
> be27425d Andi Kleen 2011-08-19 1284 rest++;
> be27425d Andi Kleen 2011-08-19 1285 }
> be27425d Andi Kleen 2011-08-19 1286 v = ((LINUX_VERSION_CODE >> 8) & 0xff) + 40;
> b8763455 Kees Cook 2012-10-12 @1287 copy = min(sizeof(buf), max_t(size_t, 1, len));
Should I change this to min_t(size_t, sizeof(buf), max_t(size_t, 1, len)) ?
Thanks!
-Kees
--
Kees Cook
Chrome OS Security
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [next:akpm 18/86] kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a ca
2012-10-12 16:56 [next:akpm 18/86] kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a cast Fengguang Wu
2012-10-12 17:46 ` [next:akpm 18/86] kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a ca Kees Cook
@ 2012-10-12 18:29 ` Fengguang Wu
1 sibling, 0 replies; 3+ messages in thread
From: Fengguang Wu @ 2012-10-12 18:29 UTC (permalink / raw)
To: kernel-janitors
On Fri, Oct 12, 2012 at 10:46:34AM -0700, Kees Cook wrote:
> On Fri, Oct 12, 2012 at 9:56 AM, Fengguang Wu <fengguang.wu@intel.com> wrote:
> > FYI, there are new compile warnings show up in
> >
> > tree: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git akpm
> > head: 04b956faad392f46c9a234962a9990196b8e48fc
> > commit: b8763455880e371a81b07599bc66ae94f96dc6d6 [18/86] kernel/sys.c: fix stack memory content leak via UNAME26
> > config: mn10300-asb2364_defconfig # make ARCH=mn10300 asb2364_defconfig
> >
> > All warnings:
> >
> > kernel/sys.c: In function 'override_release':
> > kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a cast [enabled by default]
>
> Hrm, I don't see this on my builds. Is this check specific to mn10300
> in some way?
Maybe it's more than mn10300.
(gdb) whatis sizeof(long)
type = int
And size_t (__kernel_size_t) is defined to "unsigned int".
> > vim +1287 kernel/sys.c
> >
> > be27425d Andi Kleen 2011-08-19 1271
> > be27425d Andi Kleen 2011-08-19 1272 if (current->personality & UNAME26) {
> > b8763455 Kees Cook 2012-10-12 1273 const char *rest = UTS_RELEASE;
> > b8763455 Kees Cook 2012-10-12 1274 char buf[65] = { 0 };
> > be27425d Andi Kleen 2011-08-19 1275 int ndots = 0;
> > be27425d Andi Kleen 2011-08-19 1276 unsigned v;
> > b8763455 Kees Cook 2012-10-12 1277 size_t copy;
> > be27425d Andi Kleen 2011-08-19 1278
> > be27425d Andi Kleen 2011-08-19 1279 while (*rest) {
> > be27425d Andi Kleen 2011-08-19 1280 if (*rest = '.' && ++ndots >= 3)
> > be27425d Andi Kleen 2011-08-19 1281 break;
> > be27425d Andi Kleen 2011-08-19 1282 if (!isdigit(*rest) && *rest != '.')
> > be27425d Andi Kleen 2011-08-19 1283 break;
> > be27425d Andi Kleen 2011-08-19 1284 rest++;
> > be27425d Andi Kleen 2011-08-19 1285 }
> > be27425d Andi Kleen 2011-08-19 1286 v = ((LINUX_VERSION_CODE >> 8) & 0xff) + 40;
> > b8763455 Kees Cook 2012-10-12 @1287 copy = min(sizeof(buf), max_t(size_t, 1, len));
>
> Should I change this to min_t(size_t, sizeof(buf), max_t(size_t, 1, len)) ?
clamp_t() looks easier. :-)
Thanks,
Fengguang
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-10-12 18:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-12 16:56 [next:akpm 18/86] kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a cast Fengguang Wu
2012-10-12 17:46 ` [next:akpm 18/86] kernel/sys.c:1287:10: warning: comparison of distinct pointer types lacks a ca Kees Cook
2012-10-12 18:29 ` Fengguang Wu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).