lkml.org 
[lkml]   [1999]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subjectpossibly bogus value passed to skb->dst->output
Date
-----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/

\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.035 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site