Messages in this thread | | | From | Richard Guy Briggs <> | Subject | possibly bogus value passed to skb->dst->output | Date | Wed, 11 Aug 1999 02:25:16 -0400 (EDT) |
| |
-----BEGIN PGP SIGNED MESSAGE-----
We are seeing all kinds of unpredictable results from nothing happenning when it should to rolling oopses to spontaneous reboots, no oops when the default skb->dst->output function is used to send a processed packet on its way. We are intercepting packets in the dev->hard_start_xmit call to a hardware device driver.
In instrumenting our code, an IPSEC kernel module, the value of the pointer skb->dst->output, which we expect to use on exit from our processing, seems to be somewhere in the midst of la-la land, or more specifically, between __ip_finish_output and ip_fragment. I had the impression it should be pointing to an output function, no? It might be pointing to dst_discard or dst_blackhole, which are both static and not exported and therefore, should not be used anyways, but it is nowhere near the rest of the dst_* functions. The other ouput functions actually agree with their pointers (which they should, this is a sanity check). Can anyone explain this, or recommend a sane replacement? Our instrumentation is reporting the following:
skb->dst->output=c015a520 dev_queue_xmit=c0150400 neigh_compat_output=c0152d70 neigh_resolve_output=c0152dd8 neigh_connected_output=c0152f04
- From `cat /proc/ksyms|sort`, I get:
c0151bc4 dst_alloc c0151c60 __dst_free c0151cec dst_destroy c0151d90 neigh_rand_reach_time c0151e38 neigh_ifdown c01520dc __neigh_lookup c0152244 pneigh_lookup c015243c neigh_destroy c015284c __neigh_event_send c0152980 neigh_update c0152c10 neigh_event_ns c0152d70 neigh_compat_output c0152dd8 neigh_resolve_output c0152f04 neigh_connected_output c015303c pneigh_enqueue c0153108 neigh_parms_alloc c0153198 neigh_parms_release c01531e8 neigh_table_init c01532a8 neigh_table_clear c0153380 neigh_delete c015349c neigh_add c01538b4 neigh_dump_info c0153948 neigh_sysctl_register c0153b38 rtnl_lock c0153b9c rtnl_unlock c0153bf8 rtattr_parse c0153c80 __rta_fill c0153ff8 rtnetlink_dump_ifinfo c0154688 net_random c01546b8 net_srandom c01546c8 net_ratelimit c01548b8 eth_type_trans c0154a20 eth_copy_and_sum c0154abc qdisc_restart c0154ddc qdisc_create_dflt c0154ea4 qdisc_reset c0154ec8 qdisc_destroy c01550a8 in_ntoa c01550d8 in_aton c0156f08 ip_route_output c0158044 inet_add_protocol c0158084 inet_del_protocol c015833c ip_rcv c01597b4 ip_options_compile c015a16c ip_send_check c015a378 __ip_finish_output c015b130 ip_fragment c015b8cc ip_cmsg_recv c01675e0 arp_find c016779c arp_send c01679d4 arp_rcv c0168714 icmp_send c01694a0 devinet_ioctl c016bb80 ip_mc_inc_group c016bc20 ip_mc_dec_group c016c2fc inet_addr_type c016c4d4 ip_rt_ioctl
slainte mhath, RGB - -- The first Ottawa Linux Symposium was a huge success! <ottawalinuxsymposium.org> This SunRayce was a wet one! DroughtRelief_99? -- <www.sunrayce.com/sunrayce/> Richard Guy Briggs -- PGP key available Auto-Free Ottawa! Canada <http://www.conscoop.ottawa.on.ca/rgb/> </www.flora.org/afo/> Prevent Internet Wiretapping! -- FreeS/WAN:<www.xs4all.nl/~freeswan> Thanks for voting Green! -- <green.ca> Marillion:<www.marillion.co.uk>
-----BEGIN PGP SIGNATURE----- Version: 2.6.3i Charset: noconv
iQCVAwUBN7EXSd+sBuIhFagtAQEQsQP9GaywAum/4Nuu8cMkloG7RtnYmUYfn21c XUC4eeEkMZoTr6OZiPBec21dXDcjjVleEryhXdW9NIulpRG8ZOo8catd7tUArfN0 GFlLjGQLxjCuim6Fnk/mIe7eJgnZcKPD9HmqFqBZRf/Zl4T4U0PPzE/KAnv9Prbx pEOkQhba+VA= =Ro+a -----END PGP SIGNATURE-----
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |