From: Vivek Goyal <vgoyal@redhat.com>
To: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
Cc: ananth@in.ibm.com, mahesh@linux.vnet.ibm.com,
kexec@lists.infradead.org, LChouinard@s2sys.com,
tachibana@mxm.nes.nec.co.jp, kumagai-atsushi@mxc.nes.nec.co.jp,
Dave Anderson <anderson@redhat.com>,
buendgen@de.ibm.com
Subject: Re: [PATCH v2 0/7] makedumpfile security key filtering with eppic
Date: Thu, 15 Nov 2012 10:49:14 -0500 [thread overview]
Message-ID: <20121115154914.GE2529@redhat.com> (raw)
In-Reply-To: <50A4E524.8020702@linux.vnet.ibm.com>
On Thu, Nov 15, 2012 at 06:20:44PM +0530, Aravinda Prasad wrote:
[..]
> > Can you give some details about how does it work and what's the
> > correlation with makedumpfile.
>
>
> struct key in include/linux/key.h holds "authentication token"/"access
> credential"/"keyring". Suppose these entries should be scrubbed from the
> dumpfile. Then the keyring_name_hash hash table should be scanned and
> for each non-empty list, the entire list should be traversed and
> payload.value (or any other data) in struct key should be cleared.
>
> Now the EPPIC macro looks like this:
>
> int
> key()
> {
> int i;
> struct list_head *head;
> struct list_head *next, *prev;
>
> head = (struct list_head *)keyring_name_hash;
>
> for (i = 0; i < 32; i++)
> {
> next = (struct list_head *) head[i].next;
> prev = (struct list_head *) head[i].prev;
>
> if (!next)
> continue;
>
> do
> {
> struct key *mykey, *off = 0;
>
> mykey = (struct key *)((unsigned long)(next)
> - ((unsigned long)&(off->type_data)));
>
> memset((char *)mykey->payload.value, 'X', 0x8);
>
> next = *(struct list_head **) mykey->type_data.link.next;
> } while (next != prev);
> }
> return 1;
> }
>
> The data can be cleared by specifying:
> makedumpfile -c -d 31 -x vmlinux --eppic key.c vmcore filtered_vmcore
>
> makedumpfile with the help of eppic will interpret the macro key.c,
> traverses all the hash chains and erases paylod.value of struct key.
Ok, are these the only places where key is. Can a copy of it exist in
some other buffers? We don't clear these.
Also, if key is the only issue, why not just write this logic in
makedumpfile and provide another option, --clear-kernel-keys.
Why to introduce such generic scheme.
[..]
> >>> - What's the memory footprint of libeppic.a? Looks like this will be
> >>> linked statically with makedumpfile, and how much is the size bloat of
> >>> makedumpfile.
> >>
> >>
> >> Memory footprint of libeppic.a is around 1MB. Yes, this will be
> >> statically linked to makedumpfile. Users should specify EPPIC=on while
> >> building the makedumpfile and hence linking libeppic.a is optional
1MB bloat is significant given the fact that we reserve only 128MB for
kdump kernel. Hence we need to review the benefits of this bloat very
carefully.
Thanks
Vivek
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2012-11-15 15:49 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-08 13:37 [PATCH v2 0/7] makedumpfile security key filtering with eppic Aravinda Prasad
2012-11-08 13:38 ` [PATCH v2 1/7] Initialize and setup eppic Aravinda Prasad
2012-11-15 16:04 ` Vivek Goyal
2012-11-16 9:43 ` Aravinda Prasad
2012-11-08 13:38 ` [PATCH v2 2/7] makedumpfile and eppic interface layer Aravinda Prasad
2012-11-08 13:38 ` [PATCH v2 3/7] Eppic call back functions to query a dump image Aravinda Prasad
2012-11-08 13:38 ` [PATCH v2 4/7] Implement apigetctype call back function Aravinda Prasad
2012-11-08 13:39 ` [PATCH v2 5/7] Implement apimember and apigetrtype call back functions Aravinda Prasad
2012-11-08 13:39 ` [PATCH v2 6/7] Extend eppic built-in functions to include memset function Aravinda Prasad
2012-11-08 13:39 ` [PATCH v2 7/7] Support fully typed symbol access mode Aravinda Prasad
2012-11-14 1:15 ` [PATCH v2 0/7] makedumpfile security key filtering with eppic Atsushi Kumagai
2012-11-14 14:54 ` Vivek Goyal
2012-11-14 17:06 ` Aravinda Prasad
2012-11-14 17:53 ` Vivek Goyal
2012-11-15 12:50 ` Aravinda Prasad
2012-11-15 14:27 ` Dave Anderson
2012-11-15 15:55 ` Vivek Goyal
2012-11-16 9:52 ` Aravinda Prasad
2012-11-16 14:36 ` Vivek Goyal
2012-11-20 9:47 ` Atsushi Kumagai
2012-11-21 7:19 ` Aravinda Prasad
2012-11-21 13:57 ` Vivek Goyal
2012-11-22 17:14 ` Aravinda Prasad
2012-11-26 14:04 ` Vivek Goyal
2012-12-03 6:02 ` Aravinda Prasad
2012-12-03 13:20 ` Vivek Goyal
2012-12-03 14:35 ` Aravinda Prasad
2012-12-03 18:40 ` Vivek Goyal
2012-12-04 8:36 ` Atsushi Kumagai
2012-12-04 8:56 ` Aravinda Prasad
2012-12-06 15:26 ` Dave Anderson
2012-12-07 6:05 ` Aravinda Prasad
2012-12-07 13:46 ` Luc Chouinard
2012-12-07 21:59 ` Vivek Goyal
2012-12-10 7:32 ` Aravinda Prasad
2012-12-10 11:35 ` Aravinda Prasad
2012-11-16 9:49 ` Aravinda Prasad
2012-11-15 15:49 ` Vivek Goyal [this message]
2012-11-16 11:10 ` Aravinda Prasad
2012-11-16 14:59 ` Vivek Goyal
2012-11-14 20:15 ` Vivek Goyal
2012-11-15 12:55 ` Aravinda Prasad
2012-11-14 20:21 ` Dave Anderson
2012-11-15 13:27 ` Aravinda Prasad
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121115154914.GE2529@redhat.com \
--to=vgoyal@redhat.com \
--cc=LChouinard@s2sys.com \
--cc=ananth@in.ibm.com \
--cc=anderson@redhat.com \
--cc=aravinda@linux.vnet.ibm.com \
--cc=buendgen@de.ibm.com \
--cc=kexec@lists.infradead.org \
--cc=kumagai-atsushi@mxc.nes.nec.co.jp \
--cc=mahesh@linux.vnet.ibm.com \
--cc=tachibana@mxm.nes.nec.co.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox