mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Joe Lawrence <joe.lawrence@redhat.com>
To: Miroslav Benes <mbenes@suse.cz>
Cc: Joao Moreira <jmoreira@suse.de>,
	live-patching@vger.kernel.org, pmladek@suse.cz, jikos@suse.cz,
	nstange@suse.de, jpoimboe@redhat.com, khlebnikov@yandex-team.ru,
	jeyu@kernel.org, matz@suse.de, linux-kernel@vger.kernel.org,
	yamada.masahiro@socionext.com, linux-kbuild@vger.kernel.org,
	michal.lkml@markovi.net
Subject: Re: [PATCH v2 2/8] kbuild: Support for Symbols.list creation
Date: Wed, 3 Apr 2019 15:10:19 -0400	[thread overview]
Message-ID: <651eb328-b13a-9f31-d4da-9d2e965914e3@redhat.com> (raw)
In-Reply-To: <alpine.LSU.2.21.1904031444020.18182@pobox.suse.cz>

On 4/3/19 8:48 AM, Miroslav Benes wrote:
> 
>> and it looks like the combined KLP_MODULE_RELOC still contains the two
>> unique symbol position values (2 and 3):
>>
>>    % objcopy -O binary --only-section=.klp.module_relocs.vmlinux lib/livepatch/test_klp_convert.klp.o >(hexdump -C)
>>    00000000  00 00 00 00 00 00 00 00  02 00 00 00 00 00 00 00  |................|
>>    00000010  00 00 00 00 00 00 00 00  03 00 00 00              |............|
>>    0000001c
> 
> Nice :/
>   
>> Maybe we can work around this by modifying the annotation macros and/or
>> klp-convert, or live with this for now.
> 
> The question is (and I'll check later. I cannot wrap my head around it
> now) if it at least works if there are two references of the same symbol
> in two different .o. It would be same state_show in this case and not two
> different ones. If it works then I think we can live with it for a while,
> because after all duplicate symbols are quite rare in the kernel.

Possibly, but in testing that scenario I found another issue.  Check out what
happens to the combined .klp.module_relocs.vmlinux section for:

  test_klp_convert_a.c
  KLP_MODULE_RELOC(vmlinux) vmlinux_relocs_a[] = {
          KLP_SYMPOS(state_show, 2)
          KLP_SYMPOS(joe, 10)
          KLP_SYMPOS(joe2, 11)
  };

  test_klp_convert_b.c
  KLP_MODULE_RELOC(vmlinux) vmlinux_relocs_b[] = {
          KLP_SYMPOS(state_show, 2)
  };

The second file's klp_module_reloc are not aligned with the first,
so I think there is additional padding to push the second set to a
word boundary:

  % objcopy -O binary --only-section=.klp.module_relocs.vmlinux lib/livepatch/test_klp_convert.klp.o >(hexdump -C)
  00000000  00 00 00 00 00 00 00 00  02 00 00 00 00 00 00 00
            |-*sym----------------|  |--sympos-| |-*sym-----

  00000010  00 00 00 00 0a 00 00 00  00 00 00 00 00 00 00 00
            ----------| |--sympos-|  |-*sym----------------|

  00000020  0b 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
            |-sympos--|              |-*sym----------------|

                        ^^^^^^^^^^^
                        padding
  00000030  02 00 00 00
            |-sympos--|


in this case, klp-convert thought the last symbol's sympos was
incorrectly 0 and not 2.

If the packed attribute is merely a space optimization, can we
simply pull that (or can we specify slightly looser alignment to
account for the padding)?

I'll continue working on putting together v3 and add this new item
to the TODO list.

Thanks,

-- Joe

  reply	other threads:[~2019-04-03 19:10 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20190301141313.15057-1-jmoreira@suse.de>
2019-03-18 19:18 ` [PATCH v2 0/8] klp-convert Joe Lawrence
2019-03-26 20:18   ` Joao Moreira
2019-03-26 21:03     ` Joe Lawrence
2019-04-04 11:49       ` Miroslav Benes
2019-04-04 13:19         ` Joe Lawrence
     [not found] ` <20190301141313.15057-3-jmoreira@suse.de>
2019-03-18 19:19   ` [PATCH v2 2/8] kbuild: Support for Symbols.list creation Joe Lawrence
2019-03-20 19:08     ` Miroslav Benes
2019-03-26 14:40       ` Joao Moreira
2019-03-26 16:15         ` Joe Lawrence
2019-03-26 18:13           ` Joao Moreira
2019-03-26 20:53             ` Joe Lawrence
2019-03-28 20:17               ` Joe Lawrence
2019-04-01 19:35                 ` Joe Lawrence
2019-04-03 12:48                   ` Miroslav Benes
2019-04-03 19:10                     ` Joe Lawrence [this message]
2019-04-04  9:14                       ` Miroslav Benes
2019-04-04 10:59                     ` Miroslav Benes
     [not found] ` <20190301141313.15057-4-jmoreira@suse.de>
2019-03-18 19:20   ` [PATCH v2 3/8] livepatch: Add klp-convert tool Joe Lawrence
2019-03-20 19:36     ` Miroslav Benes
2019-03-26 20:13       ` Joao Moreira
     [not found] ` <20190301141313.15057-7-jmoreira@suse.de>
2019-03-18 19:20   ` [PATCH v2 6/8] modpost: Add modinfo flag to livepatch modules Joe Lawrence
     [not found] ` <20190301141313.15057-8-jmoreira@suse.de>
2019-03-18 19:21   ` [PATCH v2 7/8] livepatch: Add sample livepatch module Joe Lawrence
     [not found] ` <20190301141313.15057-9-jmoreira@suse.de>
2019-03-18 19:21   ` [PATCH v2 8/8] documentation: Update on livepatch elf format Joe Lawrence
2019-03-20 19:58     ` Miroslav Benes
     [not found] ` <20190301141313.15057-6-jmoreira@suse.de>
2019-03-18 19:20   ` [PATCH v2 5/8] modpost: Integrate klp-convert Joe Lawrence
2019-03-22 14:54   ` Joe Lawrence
2019-03-22 16:37     ` Joao Moreira
2019-03-22 18:29       ` Joe Lawrence
2019-04-04 11:31     ` Miroslav Benes
2019-04-04 13:55       ` Joao Moreira
     [not found] <20190130165446.19479-1-jmoreira@suse.de>
     [not found] ` <20190130165446.19479-3-jmoreira@suse.de>
2019-02-20 14:09   ` [PATCH v2 2/8] kbuild: Support for Symbols.list creation Miroslav Benes

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=651eb328-b13a-9f31-d4da-9d2e965914e3@redhat.com \
    --to=joe.lawrence@redhat.com \
    --cc=jeyu@kernel.org \
    --cc=jikos@suse.cz \
    --cc=jmoreira@suse.de \
    --cc=jpoimboe@redhat.com \
    --cc=khlebnikov@yandex-team.ru \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=live-patching@vger.kernel.org \
    --cc=matz@suse.de \
    --cc=mbenes@suse.cz \
    --cc=michal.lkml@markovi.net \
    --cc=nstange@suse.de \
    --cc=pmladek@suse.cz \
    --cc=yamada.masahiro@socionext.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

all inboxes | Powered by JetHome®