[Dnsmasq-discuss] warning: `dnsmasq' uses 32-bit capabilities (re-visited)
Nick Warne
nick at linicks.net
Sun Jun 9 11:54:47 BST 2013
On Sat, Jun 08, 2013 at 11:11:37AM +0100, Nick Warne wrote:
> > > > > >>What version of dnsmasq are you using?
> > > > > >
> > > > > >The latest - 2.66, built from source.
> > > > > >
> > > > > >with:
> > > > > >
> > > > > >/lib/libc.so.6 -v
> > > > > >GNU C Library stable release version 2.7
> > > > > >
> > > > > >and linux kernel (self rolled) 3.9.4
> > > > >
> > > > > I'm mystified. The API hasn't changed in the latest kernel.
> > > > >
> > > > > In src/dnsmasq.c, there's some code that starts
> > > > >
> > > > > determine capability API version here,
> > > > >
> > > > > Can you trace in gdb and see what API version it's getting?
> > > >
> > > > OK, I might need some help here, long time since I used gdb like this - plus as dnsmasq needs root to start, how would I do it?
> > > >
> > >
> > > Right, I put a printf in the cap section:
> > >
> > > /dnsmasq-2.66$ sudo src/dnsmasq
> > > version = 0x20080522
> > >
> > > It finds what looks right to me?
> >
> ...and some more:
>
> before VERSION detection:
> version = 0x20080522
> capsize = 0x1
>
> after VERSION detection:
> version = 0x20080522
> capsize = 0x2
>
> ...so it's doing what it should do!
I am just building latest stable kernel, and have made a slight adjustment tyo the code so that the warning message appears everytime dnsmasq starts - so I can easy test now any fixes :)
For those interested, in kernel/capability.c 'static int warn' is assigned (if (!warn) {blah blah}), and after the warning is issued it gets set to 1; I changed this to '0' so the warning appears each time now.
Nick
--
Free Software Foundation Associate Member 5508
http://linicks.net/
More information about the Dnsmasq-discuss
mailing list