Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#660288: Please enable CONFIG_KALLSYMS_ALL

37 views
Skip to first unread message

Tim Abbott

unread,
Feb 17, 2012, 5:00:02 PM2/17/12
to
Package: linux-2.6
Severity: wishlist

(Moving this topic from a debian-kernel thread to the BTS).

Would it be possible to turn on CONFIG_KALLSYMS_ALL in the Debian kernel
for Wheezy? It's a useful debugging option, and makes it easier to
implement useful tools like Ksplice that inspect the code and data
structures of the running kernel, in particular in relation to operating
on modules (one can use System.map to look up addresses for data
structures in the core kernel). Most other major Linux distributions
have had CONFIG_KALLSYMS_ALL enabled in their kernels for some time now
(RHEL, Fedora, Ubuntu, etc.).

The discussion so far of why this option is useful on the debian-kernel
thread is at:
<http://lists.debian.org/debian-kernel/2012/01/msg01017.html>.

-Tim Abbott



--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Ben Hutchings

unread,
Jun 2, 2012, 11:00:02 PM6/2/12
to
On Fri, 2012-02-17 at 15:35 -0500, Tim Abbott wrote:
> Package: linux-2.6
> Severity: wishlist
>
> (Moving this topic from a debian-kernel thread to the BTS).
>
> Would it be possible to turn on CONFIG_KALLSYMS_ALL in the Debian kernel
> for Wheezy? It's a useful debugging option, and makes it easier to
> implement useful tools like Ksplice that inspect the code and data
> structures of the running kernel, in particular in relation to operating
> on modules (one can use System.map to look up addresses for data
> structures in the core kernel). Most other major Linux distributions
> have had CONFIG_KALLSYMS_ALL enabled in their kernels for some time now
> (RHEL, Fedora, Ubuntu, etc.).
>
> The discussion so far of why this option is useful on the debian-kernel
> thread is at:
> <http://lists.debian.org/debian-kernel/2012/01/msg01017.html>.

So I think you're saying that you need this to make ksplice work.
I would be much more interested in helping you to do that if you would
start releasing source to ksplice patches.

Ben.

--
Ben Hutchings
Knowledge is power. France is bacon.
signature.asc

Tim Abbott

unread,
Jun 4, 2012, 6:00:05 PM6/4/12
to
Hi Ben,

Your comment about source code is rather off-topic for this bug report,
but since there seems to be a misunderstanding on this point, I'd like
to clarify: Every Ksplice update tarball ships with a README file
containing instructions on how to request the source code for that
update from the appropriate people in Oracle Legal. Anyone who follows
those instructions can get a copy of the relevant source code.

To briefly clarify my original email, it is true that enabling
CONFIG_KALLSYMS_ALL would make life slightly easier for Ksplice and
similar tools that look at kernel data structures (e.g. debugging
tools). That said, Ksplice doesn't require CONFIG_KALLSYMS_ALL -- the
Ksplice Uptrack service has been providing updates for systems running
Debian Linux since 2009. While your enabling CONFIG_KALLSYMS_ALL might
allow us to delete like 50 lines of code 2 years from now when Squeeze
reaches end of life, I submitted this bug report primarily because I'd
like it to be the case that other folks developing similar innovative
new technologies don't have to do the extra work of supporting
!CONFIG_KALLSYMS_ALL in order to support all the major Linux
distributions. I hope you'll consider my suggestion on its technical
merits.

Best regards,
-Tim Abbott

Ben Hutchings

unread,
Jun 7, 2012, 5:40:04 PM6/7/12
to
On Mon, Jun 04, 2012 at 05:26:28PM -0400, Tim Abbott wrote:
> Hi Ben,
>
> Your comment about source code is rather off-topic for this bug
> report, but since there seems to be a misunderstanding on this
> point, I'd like to clarify: Every Ksplice update tarball ships with
> a README file containing instructions on how to request the source
> code for that update from the appropriate people in Oracle Legal.
> Anyone who follows those instructions can get a copy of the relevant
> source code.

I understand that Matthew Garrett tried to take up this offer a while
ago, and is still waiting for complete source code. It doesn't seem
to be a good faith attempt to fulfil GPL obligations.

> To briefly clarify my original email, it is true that enabling
> CONFIG_KALLSYMS_ALL would make life slightly easier for Ksplice and
> similar tools that look at kernel data structures (e.g. debugging
> tools).

No doubt true, but it is also strictly redundant with debuginfo.

> That said, Ksplice doesn't require CONFIG_KALLSYMS_ALL --
> the Ksplice Uptrack service has been providing updates for systems
> running Debian Linux since 2009. While your enabling
> CONFIG_KALLSYMS_ALL might allow us to delete like 50 lines of code 2
> years from now when Squeeze reaches end of life, I submitted this
> bug report primarily because I'd like it to be the case that other
> folks developing similar innovative new technologies don't have to
> do the extra work of supporting !CONFIG_KALLSYMS_ALL in order to
> support all the major Linux distributions. I hope you'll consider
> my suggestion on its technical merits.

I'm going to have see a request from an actual other person before I
care to spend time on this.

(In case anyone else in the kernel team wants to proceed with this,
that's not a NAK. The issue is that memory and/or flash partition
constraints make this unsuitable for some configurations, and you'll
need to work out which ones to enable it for.)

Ben

--
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
- Albert Camus

Tim Abbott

unread,
Aug 2, 2012, 5:10:02 PM8/2/12
to
On 06/07/2012 07:34 PM, Ben Hutchings wrote:

On Mon, Jun 04, 2012 at 05:26:28PM -0400, Tim Abbott wrote:
> Hi Ben,
> 
> Your comment about source code is rather off-topic for this bug
> report, but since there seems to be a misunderstanding on this
> point, I'd like to clarify: Every Ksplice update tarball ships with
> a README file containing instructions on how to request the source
> code for that update from the appropriate people in Oracle Legal.
> Anyone who follows those instructions can get a copy of the relevant
> source code.

I understand that Matthew Garrett tried to take up this offer a while
ago, and is still waiting for complete source code.  It doesn't seem
to be a good faith attempt to fulfil GPL obligations.
This is not my department, but as I understand it, Matthew Garrett received complete source code in response to each of his various requests for Ksplice source code.


> To briefly clarify my original email, it is true that enabling
> CONFIG_KALLSYMS_ALL would make life slightly easier for Ksplice and
> similar tools that look at kernel data structures (e.g. debugging
> tools).

No doubt true, but it is also strictly redundant with debuginfo.
This is where I disagree.  Debuginfo is both huge (since it contains lots of data beyond the basic symbol information in kallsyms) and is also not necessarily available on user systems, meaning that any sort of patching or debugging tool intending to get wide use can't rely on it.  Further, any system which contains third-party modules (open source or not) will not have symbol data for those modules unless the vendors of those third-party modules provide a separate debuginfo package (many do not); with kallsyms, you're guaranteed to have accurate information that comes from the modules that are actually loaded on the system.

As I think I mentioned before, when folks upgrade the kernel version on disk on a Debian system and don't immediately reboot (which folks do _all the time_ whether they're using Ksplice or not), and then load kernel modules, they'll get kernel modules from the upgraded kernel (at least in the common case where the ABI doesn't change).  As a consequence, if you're any sort of debugging/instrumentation tool that inspects the running kernel's code, you need to be able to handle the case where the kernel is running modules that don't actually go with either the running kernel (via "uname -a") or the currently version of the linux-image-* package installed on disk.  Trying to do anything to get symbol information in that sort of situation using debuginfo is a disaster; what you want is kallsyms.

 
> That said, Ksplice doesn't require CONFIG_KALLSYMS_ALL --
> the Ksplice Uptrack service has been providing updates for systems
> running Debian Linux since 2009.  While your enabling
> CONFIG_KALLSYMS_ALL might allow us to delete like 50 lines of code 2
> years from now when Squeeze reaches end of life, I submitted this
> bug report primarily because I'd like it to be the case that other
> folks developing similar innovative new technologies don't have to
> do the extra work of supporting !CONFIG_KALLSYMS_ALL in order to
> support all the major Linux distributions.  I hope you'll consider
> my suggestion on its technical merits.
 
I'm going to have see a request from an actual other person before I
care to spend time on this.

(In case anyone else in the kernel team wants to proceed with this,
that's not a NAK.  The issue is that memory and/or flash partition
constraints make this unsuitable for some configurations, and you'll
need to work out which ones to enable it for.)
CONFIG_KALLSYMS_ALL adds less than 1% to the size of the kernel over CONFIG_KALLSYMS (obviously this depends on what options one had enabled in the first place), so only on truly embedded settings will that matter at all.  Could you at least just enable it for the architectures where none of Debian's stock kernels are designed for embedded environments (e.g. x86, sparc, power)?

        -Tim Abbott

Ben Hutchings

unread,
Sep 9, 2012, 3:20:01 PM9/9/12
to
On Thu, 2012-08-02 at 16:31 -0400, Tim Abbott wrote:
> On 06/07/2012 07:34 PM, Ben Hutchings wrote:
>
> >
> > On Mon, Jun 04, 2012 at 05:26:28PM -0400, Tim Abbott wrote:
> > > Hi Ben,
> > >
> > > Your comment about source code is rather off-topic for this bug
> > > report, but since there seems to be a misunderstanding on this
> > > point, I'd like to clarify: Every Ksplice update tarball ships with
> > > a README file containing instructions on how to request the source
> > > code for that update from the appropriate people in Oracle Legal.
> > > Anyone who follows those instructions can get a copy of the relevant
> > > source code.
> >
> > I understand that Matthew Garrett tried to take up this offer a while
> > ago, and is still waiting for complete source code. It doesn't seem
> > to be a good faith attempt to fulfil GPL obligations.
> This is not my department, but as I understand it, Matthew Garrett
> received complete source code in response to each of his various
> requests for Ksplice source code.

I'm satisfied that this is no longer an issue.

[...]
> > I'm going to have see a request from an actual other person before I
> > care to spend time on this.

So this is no longer the case - but that is no guarantee that I will
find the time to deal with this before release.

> > (In case anyone else in the kernel team wants to proceed with this,
> > that's not a NAK. The issue is that memory and/or flash partition
> > constraints make this unsuitable for some configurations, and you'll
> > need to work out which ones to enable it for.)
> CONFIG_KALLSYMS_ALL adds less than 1% to the size of the kernel over
> CONFIG_KALLSYMS (obviously this depends on what options one had
> enabled in the first place), so only on truly embedded settings will
> that matter at all. Could you at least just enable it for the
> architectures where none of Debian's stock kernels are designed for
> embedded environments (e.g. x86, sparc, power)?

Yes, this will probably work.

Ben.

--
Ben Hutchings
Time is nature's way of making sure that everything doesn't happen at once.
signature.asc

Debian Bug Tracking System

unread,
Aug 31, 2015, 7:10:05 AM8/31/15
to
Your message dated Mon, 31 Aug 2015 11:00:15 +0000
with message-id <E1ZWMox-...@franck.debian.org>
and subject line Bug#660288: fixed in linux 4.2-1~exp1
has caused the Debian Bug report #660288,
regarding Please enable CONFIG_KALLSYMS_ALL
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


--
660288: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660288
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
0 new messages