Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kpatch_create_dynamic_rela_sections: 1583: expected bundled symbol for section __jump_table for dynrela src __tracepoint_netif_receive_skb #221

Closed
jpoimboe opened this issue May 29, 2014 · 0 comments

Comments

@jpoimboe
Copy link
Member

With the patch from #219 and the fix from #220, I get the following error:

dev.o: changed function: rollback_registered_many
dev.o: changed function: __netdev_upper_dev_link
dev.o: changed function: net_rx_action
dev.o: changed function: __netif_receive_skb_core
dev.o: changed function: napi_gro_complete
dev.o: changed function: __dev_set_promiscuity
dev.o: changed function: __dev_set_allmulti
dev.o: changed function: netdev_has_upper_dev
dev.o: changed function: netdev_master_upper_dev_get
dev.o: changed function: netdev_upper_dev_unlink
dev.o: changed function: unregister_netdevice_queue
dev.o: changed function: dev_change_net_namespace
dev.o: changed function: __dev_change_flags
dev.o: changed function: __netdev_update_features
dev.o: changed function: register_netdevice
dev.o: changed function: netdev_run_todo
/home/jpoimboe/git/kpatch/kpatch-build/create-diff-object: kpatch_create_dynamic_rela_sections: 1583: expected bundled symbol for section __jump_table for dynrela src __tracepoint_netif_receive_skb
jpoimboe added a commit to jpoimboe/kpatch that referenced this issue May 30, 2014
The current approach of trying to include the tracepoint-related
sections doesn't work at all.  The new tracepoints don't show up in
"perf list".

And also, with one patch (issue dynup#219) I've seen a panic in
jump_label_del_module().  I suspect it's because the kernel is confused
by dynamic relocations' changing of the jump table after it was
registered with the jump table code.

I think the best approach for now is to just always exclude these
sections.  It should be harmless, with the only consequence being that
tracepoints and jump labels can't be enabled in patched functions (which
is already the case with the current code anyway).

Fixes dynup#221.
jpoimboe added a commit to jpoimboe/kpatch-unit-test-objs that referenced this issue Jul 22, 2019
The patching of jump label affected functions isn't actually supported
by the upstream kernel.  So kpatch-build will warn if a function uses
jump labels.

I hex edited the original version of this test to remove the jump table
references to make it pass.

I believe the original objects were created with the following patch,
originally for dynup/kpatch#221.

Index: kernel-rhel7/net/core/dev.c
===================================================================
--- kernel-rhel7.orig/net/core/dev.c
+++ kernel-rhel7/net/core/dev.c
@@ -4199,6 +4199,7 @@ skip_classify:
 		case RX_HANDLER_PASS:
 			break;
 		default:
+			printk("BUG!\n");
 			BUG();
 		}
 	}

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant