dynup / kpatch

kpatch - live kernel patching
GNU General Public License v2.0
1.49k stars 305 forks source link

tda18250.o: reference to static local variable tda18250_yes_ranges.31281 in tda18250_volatile_table.31282 was removed #912

Closed sm00th closed 1 year ago

sm00th commented 6 years ago

Found during meminfo-cmdline-rebuild-SLOW.patch testing.

The issue is introduced by 02d3c19 "create-diff-object: static local uncorrelation/correlation fixes". The way the relas are sorted in this particular case causes "static local variable was removed" error to get triggered before rela->twin gets reinstated. Doing an additional pass thorough all sections/relas to just fix twin relations does help but looks very ugly so I was wondering whether there is a better solution I am not seeing.

Here are example objectfiles to reproduce this: tda18250.ORIG.o tda18250.PATCHED.o

jpoimboe commented 6 years ago

I decided a while back that the static local correlation logic needs to be rewritten:

https://github.com/dynup/kpatch/issues/545#issuecomment-157762883

That never happened, and I haven't looked at this yet, so I'm not sure if this is related.

sm00th commented 6 years ago

Doesn't seem to be related. #545 is about adding more restrictions on what changes can occur to static local vars, however in this case there might be no changes at all and create-diff-object would still fail.

github-actions[bot] commented 1 year ago

This issue has been open for 30 days with no activity and no assignee. It will be closed in 7 days unless a comment is added.

github-actions[bot] commented 1 year ago

This issue was closed because it was inactive for 7 days after being marked stale.