Re: Linux Kernel Debugging Tools Monthly Meeting on Wednesday, January 25th
Omar Sandoval <[email protected]>
| Newsgroups | org.kernel.vger.linux-debuggers |
|---|---|
| Message-ID | <Y9Gg+PqIVjSTn1wn@telecaster> |
On Mon, Jan 23, 2023 at 12:10:50PM -0800, Omar Sandoval wrote:
> Hello! The first Linux Kernel Debugging Tools meeting of 2023 is this
> Wednesday, January 25th at 11:30 AM Pacific time. We've been having
> these for a few years as a forum to discuss development of Linux kernel
> debugging tools like drgn, crash, and more. Now that we have this
> mailing list, I figured it'd be nice to publicize it more widely. If you
> would like to attend, please email me offlist.
>
> The agenda so far is roughly:
>
> - Is there a good way to iterate over all online `struct page`s? See
> https://github.com/osandov/drgn/pull/228
> - Pending drgn work
> - Pluggable symbol finder from Stephen
> - Slab helpers from Imran
> - Dealing with `DW_OP_entry_value` and `DW_TAG_call_site_parameter`. See
> https://github.com/osandov/drgn/issues/233
> - Call for drgn/contrib scripts:
> https://github.com/osandov/drgn/tree/main/contrib
>
> Please reply with anything else you'd like to add to the agenda.
>
> Thanks!
> Omar
Here are notes from the meeting:
- There doesn't seem to be a better way currently to get the constants
needed for iterating sparsemem. We should bite the bullet and make
them enums upstream. This won't be too hard, but it'll be a bit
tedious since they're defined separately for each architecture. And it
will only solve it for new kernels.
- Stephen Brennan is working on making symbol finding pluggable (as
opposed to only from ELF symbols). This will make it possible to find
debug info for kernel modules from `kallsyms` without loading the
module debug info, for BPF functions, and more.
- Imran Khan has a bunch of new slab helpers, and on top of those,
helpers for validating that the slab metadata makes sense, to help
with debugging memory corruptions. Some of these require `slub_debug`
to be enabled.
- Ross Zwisler is working on setting aside the vmcore from the kdump
kernel for the full kernel to access. This works on x86 by marking it
in the e820 table, but Arm will need something different (maybe in
device tree).
- I'll merge the workaround for `DW_OP_entry_value` from
https://github.com/osandov/drgn/issues/233, but there's potentially
more we can do to actually recover the value when
`DW_TAG_call_site_parameter` is available.
- Jeremy Carin, a teaching assistant at Columbia University's Operating
Systems course, is looking for good resources to teach beginners
kernel debugging.
- We weren't aware of anything great that already exists, but we had
some ideas for the future. Specifically, I would love to have
step-by-step walkthroughs through kernel bugs with the core dumps
and debug info available for download so that you can follow along
with drgn.
- I may or may not be around for the meeting next month since I have a
baby coming around then.
Thanks everyone!