public inbox for kexec@lists.infradead.org
 help / color / mirror / Atom feed
From: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
To: Vivek Goyal <vgoyal@redhat.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 18:20:44 +0530	[thread overview]
Message-ID: <50A4E524.8020702@linux.vnet.ibm.com> (raw)
In-Reply-To: <20121114175304.GK20215@redhat.com>



On 2012-11-14 23:23, Vivek Goyal wrote:

> On Wed, Nov 14, 2012 at 10:36:53PM +0530, Aravinda Prasad wrote:
>> Hi Vivek,
>>
>> On 2012-11-14 20:24, Vivek Goyal wrote:
>>
>>> On Thu, Nov 08, 2012 at 07:07:52PM +0530, Aravinda Prasad wrote:
>>>> makedumpfile security key filtering enhancement - Add Eppic language
>>>> support (formerly known as SIAL) to specify rules to scrub data in a
>>>> dumpfile. Eppic was previously part of crash source code repository.
>>>>
>>>> The following series of patches enhance the makedumpfile to provide
>>>> a more powerful way to specify rules and commands to traverse and
>>>> erase complex data structures in a dump file by integrating Embeddable
>>>> Pre-Processor and Interpreter for C (eppic).
>>>
>>> Hi Aravinda,
>>>
>>> Had few questions.
>>>
>>> - Which file will contain all the rules?
>>
>>
>> As of now rule files will not be provided by makedumpfile. However,
>> writing a rule file is very easy - it is a C program.
> 
> 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.

> 
>>
>>>
>>> - 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
> 
> How would distributions handle it. Will we continue to build makedumpfile
> without EPPIC=on. Any increase in initramfs size increase is frowned upon
> in general.


We would like distributions to build makedumpfile with EPPIC=on.

I am not sure, but do you think ~1MB is too much increase to go with?

> 
>>
>>>
>>> - Is this supposed to work from kdump initramfs or it is supposed to be
>>>   used on already saved dump (later during post processing).
>>
>>
>> For the time being, it is only during post processing.
> 
> Again, how distributions will handle it. If it is being integrated
> makedumpfile, as opposed to an stand alone utility, that means it
> makedumpfile needs to link against this library so that somebody can
> later filter out the symbols. And that means initramfs size bloat too?


Yes, makedumpfile needs to be linked against eppic library for filtering
data and this will increase makedumpfile size and initramfs size too.

> 
> Thanks
> Vivek
> 
> _______________________________________________
> kexec mailing list
> kexec@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
> 


-- 
Regards,
Aravinda


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

  reply	other threads:[~2012-11-15 12:51 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 [this message]
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
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=50A4E524.8020702@linux.vnet.ibm.com \
    --to=aravinda@linux.vnet.ibm.com \
    --cc=LChouinard@s2sys.com \
    --cc=ananth@in.ibm.com \
    --cc=anderson@redhat.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 \
    --cc=vgoyal@redhat.com \
    /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