lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20090224232303.GA1435@us.ibm.com>
Date:	Tue, 24 Feb 2009 17:23:03 -0600
From:	"Serge E. Hallyn" <serue@...ibm.com>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	Alexey Dobriyan <adobriyan@...il.com>, clg@...ibm.com,
	linux-kernel@...r.kernel.org, containers@...ts.osdl.org
Subject: Re: [PATCH 4/4] mqueue namespace: adapt sysctl

Quoting Andrew Morton (akpm@...ux-foundation.org):
> On Wed, 25 Feb 2009 01:32:45 +0300
> Alexey Dobriyan <adobriyan@...il.com> wrote:
> 
> > > > +proc_handler *proc_mq_dointvec = NULL;
> > > > +proc_handler *proc_mq_dointvec_minmax = NULL;
> > > > +#endif
> > > 
> > > looks odd.  Was this
> > > 
> > > --- a/ipc/mq_sysctl.c~mqueue-namespace-adapt-sysctl-update-fix
> > > +++ a/ipc/mq_sysctl.c
> > > @@ -52,8 +52,8 @@ static int proc_mq_dointvec_minmax(ctl_t
> > >  					lenp, ppos);
> > >  }
> > >  #else
> > > -proc_handler *proc_mq_dointvec = NULL;
> > > -proc_handler *proc_mq_dointvec_minmax = NULL;
> > > +#define proc_mq_dointvec NULL
> > > +#define proc_mq_dointvec_minmax NULL
> > >  #endif
> > 
> > I hope, not.
> > 
> > "#define foo NULL" is the least intrusive thing.
> 
> well the original code would have spat a warning at compile time
> then tried to execute code from BSS at runtime, methinks.
> 
> But I can't be assed working out how to disable CONFIG_SYSCTL to
> test that.  Gawd I hate `select'.

Yeah that's a pain...  but so I tested it with the below userspace
program before sending the patch and the 'if (myhandler)' check (which
is analogous to the check in proc_sys_call_handler) worked as expected.

thanks,
-serge

#include <stdio.h>

typedef int proc_handler (int a, int b);

#ifdef FOO
int myhandler(int a, int b) {
	printf("a was %d b was %d\n", a, b);
}
#else
proc_handler *myhandler = NULL;
#endif

int main()
{
	if (myhandler)
		myhandler(1, 2);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ