Messages in this thread | | | Subject | Re: [PATCH v4 00/10] Function Granular KASLR | From | Kristen Carlson Accardi <> | Date | Wed, 22 Jul 2020 12:56:10 -0700 |
| |
On Wed, 2020-07-22 at 12:42 -0700, Kees Cook wrote: > On Wed, Jul 22, 2020 at 11:07:30AM -0500, Josh Poimboeuf wrote: > > On Wed, Jul 22, 2020 at 07:39:55AM -0700, Kees Cook wrote: > > > On Wed, Jul 22, 2020 at 11:27:30AM +0200, Miroslav Benes wrote: > > > > Let me CC live-patching ML, because from a quick glance this is > > > > something > > > > which could impact live patching code. At least it invalidates > > > > assumptions > > > > which "sympos" is based on. > > > > > > In a quick skim, it looks like the symbol resolution is using > > > kallsyms_on_each_symbol(), so I think this is safe? What's a good > > > selftest for live-patching? > > > > The problem is duplicate symbols. If there are two static > > functions > > named 'foo' then livepatch needs a way to distinguish them. > > > > Our current approach to that problem is "sympos". We rely on the > > fact > > that the second foo() always comes after the first one in the > > symbol > > list and kallsyms. So they're referred to as foo,1 and foo,2. > > Ah. Fun. In that case, perhaps the LTO series has some solutions. I > think builds with LTO end up renaming duplicate symbols like that, so > it'll be back to being unique. >
Well, glad to hear there might be some precendence for how to solve this, as I wasn't able to think of something reasonable off the top of my head. Are you speaking of the Clang LTO series? https://lore.kernel.org/lkml/20200624203200.78870-1-samitolvanen@google.com/
| |