]> git.baikalelectronics.ru Git - kernel.git/commit
livepatch: make object/func-walking helpers more robust
authorMiroslav Benes <mbenes@suse.cz>
Thu, 28 Apr 2016 14:34:08 +0000 (16:34 +0200)
committerJiri Kosina <jkosina@suse.cz>
Fri, 29 Apr 2016 22:04:08 +0000 (00:04 +0200)
commita238c7f2dbf540cd60ec39ef880665cae7ada1e2
tree67671556a815610742c7680e4c7a32bd25bf4740
parent0b8a57b484e5164049bedb258e701142b6d03f1a
livepatch: make object/func-walking helpers more robust

Current object-walking helper checks the presence of obj->funcs to
determine the end of objs array in klp_object structure. This is
somewhat fragile because one can easily forget about funcs definition
during livepatch creation. In such a case the livepatch module is
successfully loaded and all objects after the incorrect one are omitted.
This is very confusing. Let's make the helper more robust and check also
for the other external member, name. Thus the helper correctly stops on
an empty item of the array. We need to have a check for obj->funcs in
klp_init_object() to make it work.

The same applies to a func-walking helper.

As a benefit we'll check for new_func member definition during the
livepatch initialization. There is no such check anywhere in the code
now.

[jkosina@suse.cz: fix shortlog]
Signed-off-by: Miroslav Benes <mbenes@suse.cz>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Jessica Yu <jeyu@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
include/linux/livepatch.h
kernel/livepatch/core.c