aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/livepatch/core.c
diff options
context:
space:
mode:
authorPetr Mladek <pmladek@suse.com>2019-02-04 08:56:50 -0500
committerPetr Mladek <pmladek@suse.com>2019-02-06 04:49:30 -0500
commitecba29f434a8fa333356d54d2491d174c4aab8de (patch)
tree5b094d13703679b37c690bc6b0db2ad4d324fd00 /kernel/livepatch/core.c
parent375bfca3459db1c5596c28c56d2ebac26e51c7b3 (diff)
livepatch: Introduce klp_for_each_patch macro
There are already macros to iterate over struct klp_func and klp_object. Add also klp_for_each_patch(). But make it internal because also klp_patches list is internal. Suggested-by: Josh Poimboeuf <jpoimboe@redhat.com> Acked-by: Miroslav Benes <mbenes@suse.cz> Acked-by: Joe Lawrence <joe.lawrence@redhat.com> Signed-off-by: Petr Mladek <pmladek@suse.com>
Diffstat (limited to 'kernel/livepatch/core.c')
-rw-r--r--kernel/livepatch/core.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c
index 5fc98a1cc3c3..4b7f55d9e89c 100644
--- a/kernel/livepatch/core.c
+++ b/kernel/livepatch/core.c
@@ -554,7 +554,7 @@ static int klp_add_nops(struct klp_patch *patch)
554 struct klp_patch *old_patch; 554 struct klp_patch *old_patch;
555 struct klp_object *old_obj; 555 struct klp_object *old_obj;
556 556
557 list_for_each_entry(old_patch, &klp_patches, list) { 557 klp_for_each_patch(old_patch) {
558 klp_for_each_object(old_patch, old_obj) { 558 klp_for_each_object(old_patch, old_obj) {
559 int err; 559 int err;
560 560
@@ -1089,7 +1089,7 @@ void klp_discard_replaced_patches(struct klp_patch *new_patch)
1089{ 1089{
1090 struct klp_patch *old_patch, *tmp_patch; 1090 struct klp_patch *old_patch, *tmp_patch;
1091 1091
1092 list_for_each_entry_safe(old_patch, tmp_patch, &klp_patches, list) { 1092 klp_for_each_patch_safe(old_patch, tmp_patch) {
1093 if (old_patch == new_patch) 1093 if (old_patch == new_patch)
1094 return; 1094 return;
1095 1095
@@ -1133,7 +1133,7 @@ static void klp_cleanup_module_patches_limited(struct module *mod,
1133 struct klp_patch *patch; 1133 struct klp_patch *patch;
1134 struct klp_object *obj; 1134 struct klp_object *obj;
1135 1135
1136 list_for_each_entry(patch, &klp_patches, list) { 1136 klp_for_each_patch(patch) {
1137 if (patch == limit) 1137 if (patch == limit)
1138 break; 1138 break;
1139 1139
@@ -1180,7 +1180,7 @@ int klp_module_coming(struct module *mod)
1180 */ 1180 */
1181 mod->klp_alive = true; 1181 mod->klp_alive = true;
1182 1182
1183 list_for_each_entry(patch, &klp_patches, list) { 1183 klp_for_each_patch(patch) {
1184 klp_for_each_object(patch, obj) { 1184 klp_for_each_object(patch, obj) {
1185 if (!klp_is_module(obj) || strcmp(obj->name, mod->name)) 1185 if (!klp_is_module(obj) || strcmp(obj->name, mod->name))
1186 continue; 1186 continue;