2009-01-06 Frank Ch. Eigler PR9699. * transport.c (_stp_transport_init): Adapt to task_struct cred switch. 2008-11-28 Frank Ch. Eigler PR5947: make code -Wpointer-arith clean * symbols.c (generic_swap): Cast void* to char* as needed. (_stp_sort): Ditto. * utt.c (utt_switch_subbuf): Ditto. * utt.h (utt_reserve): Ditto. 2008-11-13 Masami Hiramatsu * utt.c (utt_trace_setup): Use KERN_WARNING and show buffer size. 2008-11-13 Masami Hiramatsu PR7016 * utt.c (utt_trace_setup): Check freeram and bufferram before allocating relay buffers for avoiding OOM. 2008-11-12 Frank Ch. Eigler * transport.c (_stp_cleanup_and_exit): Move debug print into one-time conditional block to prevent spew. 2008-10-07 Frank Ch. Eigler PR 4886 * symbols.c (_stp_do_relocation): Simplify processing of build-id note address. 2008-09-17 Frank Ch. Eigler PR 6487, 6504. From Masami Hiramatsu * utt.c (utt_switch_subbof, _utt_wakeup*, utt_reserve): New. 2008-07-17 Frank Ch. Eigler * symbols.c (_stp_do_relocation): Adapt to stp_module decl changes. 2008-07-12 Frank Ch. Eigler PR 6738. * procfs.c (*): Remove code/data associated with symbol/unwind data uploading. (_stp_ctl_write_cmd): Support STP_RELOCATION message. (kbug): Replace calls with dbug_trans(). * relayfs.c (kbug): Ditto. * transport.h: Corresponding changes. 2008-07-10 Frank Ch. Eigler PR 6736. * control.c (_stp_ctl_write_cmd): Accept STP_RELOCATION message. * symbols.c: Gutted file. (_stp_do_relocation): New function. * transport.c (_stp_transport_init): Corresponding changes. * transport_msgs.h: Ditto. 2008-07-09 Frank Ch. Eigler PR5963 * transport.c (_stp_work_queue): Don't signal a premature exit if a begin probe happened to exit(). 2008-06-23 Wenji Huang PR 6646 * symbols.c (_stp_validate_addr): Revert the previous code. 2008-06-23 Wenji Huang PR 6646 * symbols.c (_stp_validate_addr): Add validating address in runtime. 2008-06-13 Wenji Huang * control.c (_stp_ctl_write_dbug): Remove STP_UNWIND support. 2008-06-03 Frank Ch. Eigler PR 6429 * symbols.c (_stp_init_modules): Don't ask stapio for unwind data. * control.c (_stp_ctl_write_cmd): Remove STP_UNWIND support. * transport_msgs.h (STP_UNWIND): Remove declaration. 2008-04-30 Masami Hiramatsu PR 5645 * transport.c (_stp_transport_init): Fix subbuffer size calculation overflow. 2008-04-21 hunt * control.c (_stp_ctl_write): Return len + sizeof(int) so sending an empty command doesn't return 0 and look like a failure. * transport.c: _stp_cleanup_and_exit(): Cleanup. 2008-04-15 Frank Ch. Eigler PR 6410 * symbols.c (_stp_do_unwind_data): Tolerate !STP_USE_DWARF_UNWINDER. 2008-04-15 Frank Ch. Eigler PR 6405 * symbols.c (_stp_load_module_symbols): Support older kernels without module->sect_attrs->nsections. 2008-04-09 Martin Hunt * symbols.c (_stp_init_kernel_symbols): Print error messages and exit if symbol lookups fail. (_stp_init_modules): Lookup modules_op. 2008-03-31 Martin Hunt * symbols.c (_stp_init_modules): Use STP_USE_DWARF_UNWINDER. * transport.c (_stp_get_root_dir): Remove misleading error message. 2008-03-30 Martin Hunt * symbols.c (_stp_init_modules): If using frames, don't request unwind info. 2008-03-25 Martin Hunt * control.c (_stp_ctl_write_dbug): Insert missing break. 32-bit systems can't do 64-bit get_user(), so * symbols.c (_stp_do_unwind_data): Change unwind_len to a u32. * transport_msgs.h (struct _stp_msg_unwind): Ditto. 2008-02-27 Martin Hunt * symbols.c: Use rwlocks. Use new dbug macros. Handle unwind info if present. * transport.c: Include mempool.c. Update dbug and kbug calls to new macros. * transport_msgs.h (_stp_command_name): Add struct containing message names for debugging. * control.c, procfs.c: Use new dbug macros. Use new mempool functions. 2008-01-28 Martin Hunt * control.c, procfs.c, symbols.c: Use DEFINE_SPINLOCK 2008-01-15 Martin Hunt PR4037 and fixes to better synchronize staprun and stapio. * transport_msgs.h (struct _stp_symbol32): New. (struct _stp_symbol64): New. (struct _stp_msg_symbol_hdr): New. (struct _stp_msg_module): New. (STP_READY): Declare. * transport.c (_stp_handle_start): Don't set _stp_start_finished. (_stp_work_queue): Don't use _stp_start_finished. (_stp_transport_init): Don't call _stp_ask_for_symbols(). * symbols.c (_stp_do_symbols): Use _stp_msg_symbol_hdr; * control.c (_stp_sym_write_cmd): Allow sending of headers and data in separate messages. (_stp_ctl_write_cmd): Add STP_READY message. * procfs.c (_stp_sym_write_cmd): Allow sending of headers and data in separate messages. (_stp_ctl_write_cmd): Add STP_READY message. 2008-01-15 Martin Hunt Support for DEBUG_MEM * transport.c (_stp_transport): Call stp_mem_debug_done(); * (*.c): Call stp malloc and free functions. 2007-11-09 Masami Hiramatsu PR3858 * transport.c (_stp_transport_init): Reduce relay buffer size to 64KB*2 if -DRELAY_GUEST is specified. 2007-11-09 Martin Hunt PR 5281 * transport.c (_stp_detach, _stp_attach): Call utt_set_overwrite() instead of setting a flag directly. * utt.c (utt_set_overwrite): New. Set overwrite mode. * relayfs.c (utt_set_overwrite): New. Set overwrite mode. * utt.h: Remove global utt_overwrite_flag. 2007-11-01 Martin Hunt * procfs.c, control.c, transport.c: Recognize when stapio is detached and disable delayed work. Enable when attached. Cleanup code to destroy workqueue on exit. 2007-10-12 Martin Hunt * transport.c (_stp_ask_for_symbols): Don't ask for transport_info yet. Need to wait until symbols are received. (_stp_work_queue): Rename _stp_ready_q to _stp_ctl_ready_q. * procfs.c: Create a ".symbols" channel and use it for STP_MODULE and STP_SYMBOLS. Rename "cmd" channel to ".cmd". * control.c: Ditto. 2007-09-21 Martin Hunt From Alan Brunelle * control.c (_stp_ctl_read_cmd): Cast count to an int before printing. 2007-09-20 Martin Hunt * transport.h: Increase default buffer size. * control.c (_stp_ctl_read_cmd): Check buffer size. 2007-09-10 Martin Hunt * procfs.c (_stp_register_ctl_channel): Call _stp_mkdir_proc_module(). (_stp_unregister_ctl_channel): Call _stp_rmdir_proc_module(). * transport.c: Include ../procfs.c runtime procfs functions. 2007-08-17 Martin Hunt PR3857 From Masami Hiramatsu * utt.c (utt_subbuf_start_callback): Use overwrite flag. * control.c (_stp_ctl_open_cmd): Set overwrite_flag off. (_stp_ctl_close_cmd): Set overwrite flag on. 2007-08-14 David Smith Merge from setuid-branch. Changes also by Martin Hunt . * control.c (_stp_ctl_write): Make sure we don't overflow. (_stp_ctl_open_cmd): Do not allow multiple opens of the control file. (_stp_ctl_write_cmd): Once STP_START is received, ignore everything except STP_EXIT. Create another state variable "initialized". Don't respond to STP_SYMBOLS or STP_MODULES unless initialized is 0. Also check that current pid is the same as the pid that did insmod. (_stp_register_ctl_channel): Bug fix - sets owner/group after checking for NULL. * procfs.c (_stp_ctl_write): Make sure we don't overflow. (_stp_ctl_open_cmd): Do not allow multiple opens of the control file. (_stp_ctl_write_cmd): Once STP_START is received, ignore everything except STP_EXIT. Create another state variable "initialized". Don't respond to STP_SYMBOLS or STP_MODULES unless initialized is 0. Also check that current pid is the same as the pid that did insmod. (_stp_register_ctl_channel): Set ownership of cmd file and percpu files for bulkmode. * relayfs.c (utt_trace_setup): Set ownership of percpu files. Improved error handling. (utt_trace_remove): Improved error checking. * utt.c (utt_remove_tree): Improved error checking. (utt_trace_cleanup): Ditto. (utt_create_buf_file_callback): Set file ownership. (utt_create_global_buf_file_callback): Set file ownership. * transport.h: Delcare _stp_uid, _stp_gid, and _stp_init_pid. * transport.c (_stp_transport_init): Set _stp_uid, _stp_gid, and _stp_init_pid. 2007-07-26 Martin Hunt Spotted by Ming Chang. * procfs.c (_stp_register_ctl_channel): Fix iterator when removing proc entries when an error occurs. 2007-07-10 Michal Schmidt * symbols.c (_stp_del_module): Split freeing of module memory into a separate function _stp_free_module(). (_stp_do_module): Free module memory if _stp_ins_module() fails. 2007-07-09 Martin Hunt * symbols.c (_stp_ins_module): Check for overflow of modules array. (_stp_do_module): If _stp_ins_module() fails, return an error. 2007-07-02 Martin Hunt * symbols.c (_stp_do_symbols): Set "data" pointer for kernel to _etext. (_stp_sort): New. sort function from the kernel. (_stp_load_module_symbols): Use _stp_sort(). 2007-06-21 Martin Hunt * control.c (_stp_ctl_write_cmd): Add support for STP_BULK. * transport_msgs.h (enum): Add STP_BULK. 2007-06-18 Martin Hunt * control.c (_stp_register_ctl_channel): Fix mode of cmd file. 2007-05-16 Will Cohen * control.c: Explicit type cast for picky compilers. 2007-05-15 Martin Hunt * control.c: Change default buffer number and size. (_stp_ctl_write): Add debug statements. Check size of message to avoid overwriting buffer. 2007-04-27 Martin Hunt * utt.h (struct utt_trace): Remove sequence. * utt.c (utt_trace_cleanup): Remove free of utt->sequence. (utt_dropped_open): PR 4415. Use STAPCONF_INODE_PRIVATE to detect correct inode struct. (utt_trace_setup): Do not allocate utt->sequence. 2007-04-02 Martin Hunt * transport_msgs.h (struct _stp_msg_trans): Deleted. Transport parameters are now read from procfs. * transport.c (_stp_ask_for_symbols): STP_TRANSPORT message is empty. * procfs.c (_stp_ctl_open_cmd): New. Set _stp_ pid. (_stp_ctl_close_cmd): New. Unset _stp_pid. (_stp_proc_fops_cmd): Add pointers to above funcs. (_stp_ctl_read_bufsize): New. (_stp_register_ctl_channel): Create a proc read entry "bufsize" containing transport buffer sizes. 2007-03-28 Martin Hunt * control.c (_stp_ctl_open_cmd): Set _stp_pid. (stp_ctl_close_cmd): Clear _stp_pid. * transport.h: Declare _stp_pid; 2007-03-26 Frank Ch. Eigler * transport.c: Add #include for lookup_one_len. 2007-03-26 Martin Hunt * symbols.c (_stp_do_module): If a module has no symbols, just return NULL instead of an errorcode. * control.c, procfs.c, relayfs.c, transport.c, utt.c, utt.h: Revert back to using systemtap/modulename instead of systemtap_pid. 2007-03-21 Martin Hunt * symbols.c (_stp_del_module): Add a call to _stp_module_relocate to clear its cache. 2007-03-20 Frank Ch. Eigler * symbols.c (_stp_do_symbols): Add cautionary blurb for important setup of _stp_modules[0]->text. 2007-03-20 Martin Hunt * symbols.c (_stp_alloc_module): Fix up error cleanup when malloc fails. 2007-03-14 Martin Hunt * transport_msgs.h: ifdef old messages as such. Add support for new transport. * relayfs.c: Simplify and add new interface to look like utt. * utt.[ch]: New files. Similar to the proposed utt interface. These setup and teardown relayfs on debugfs. * control.c: New file. Implements a simple control channel. A small subset of procfs.c. * procfs.c: This is now only used for old kernels lacking newer relayfs. Change STP_RELAYFS to STP_BULKMODE. Use new messages from transport_msgs.h. Don't support RELAYFS_CHANNEL_VERSION >= 4. CHanges all control channel functions to new names. Use pids instead of module names in /proc names. 2007-03-12 Frank Ch. Eigler * procfs.c (_stp_register_procfs): Use /proc/MODULE rather than /proc/systemtap/MODULE. 2007-03-12 Frank Ch. Eigler PR 4179. Based on patch from Vasily Averin : * procfs.c (_stp_register_procfs): Recover from partial failures. * transport.c (_stp_transport_open): Ditto. 2007-01-30 Martin Hunt * symbols.c: Comment out many debug lines. 2007-01-29 Martin Hunt * procfs.c: Count allocated IO memory. * symbols.c: Use _stp_kmalloc() and _stp_kzalloc(). * transport.c: Count allocated IO memory. 2007-01-09 Martin Hunt * symbols.c (_stp_del_module): Fix so memory allocated for module 0 (kernel) is freed. (_stp_free_modules): No need to lock module list. 2006-12-20 Martin Hunt * transport.c: Fixes to use the new 2.6.20 workqueue API. 2006-11-15 Martin Hunt * procfs.c (_stp_proc_write_cmd): For STP_SYMBOLS, type field is a long to preserve alignment. Use STP_ALLOC_FLAGS. * symbols.c: Use STP_ALLOC_FLAGS. 2006-11-09 Martin Hunt * transport_msgs.h: Change all ints to int32_t. Prefix all struct names with "_stp". * transport.c: Use new struct names. (_stp_handle_start): Send pointer size and endianess. * procfs.c: Use new struct names. 2006-11-02 Martin Hunt * symbols.c (_stp_do_module): Fix error message. 2006-11-02 Martin Hunt * symbols.c: New file. Get the STP_SYMBOLS and STP_MODULE messages, allocate memory and store the data. * procfs.c (_stp_proc_write_cmd): When STP_SYMBOLS or STP_MODULE request is received, call the appropriate functions. * transport.c (_stp_handle_start): If necessary, ask staprun for symbols and modules. (_stp_cleanup_and_exit): Unregister module notifier. (_stp_transport_close): Unregister module notifier and free module memory. * transport_msgs.h (enum): Add STP_MODULE and STP_SYMBOLS. 2006-09-26 David Smith * transport.c: Changed 'stpd' references to 'staprun'. * transport.txt: Ditto. 2006-09-26 Martin Hunt * transport.c (_stp_handle_start): Don't initialize timers here. (_stp_transport_init): Initialize timers here. (_stp_cleanup_and_exit): Don't kill timers or free print buffers here. (_stp_transport_close): kill timers and free print buffers here. 2006-09-25 Tom Zanussi * procfs.c (_stp_proc_read): Set buf_info flushing flag. * transport.c (_stp_cleanup_and_exit): Remove braces. * transport_msgs.h: Add flushing flag to buf_info. 2006-09-22 Martin Hunt * transport.c (_stp_work_queue): Reenable some cleanup code. 2006-09-21 Martin Hunt * transport.c (_stp_transport_init): Call _stp_print_init(). (_stp_cleanup_and_exit): Call _stp_print_cleanup(). 2006-09-21 Tom Zanussi * relayfs.c (_stp_get_relay_root): Call new mutex lock/unlock wrappers instead. (_stp_lock_inode): New. (_stp_unlock_inode): New. 2006-09-19 Tom Zanussi * procfs.c (_stp_get_proc_root): Removed. (_stp_force_dir_creation): Removed. (_stp_register_procfs): Remove unneeded procfs dentry code. * relayfs.c (_stp_create_buf_file): Remove code to create relay files in procfs, add code to create in debugfs. (_stp_remove_buf_file): Remove code to delete relay files in procfs, add code to delete from debugfs. (_stp_create_relay_dir): New. (_stp_remove_relay_dir): New. (_stp_get_relay_root): New. (_stp_relayfs_close): Use new functions. (_stp_relayfs_open): Consolidate alternative versions and remove extraneous version. * relayfs.h: Remove extraneous _stp_relayfs_open prototype. * transport.c (_stp_transport_open): Remove extraneous call to _stp_relayfs_open() and remove call to _stp_unregister_procfs() on failure - since it's called from cmd write, cmd can't be removed; it's removed in normal shutdown anyway. 2006-09-18 Martin Hunt * transport_msgs.h (struct transport_info): Add merge field. * transport.c (_stp_transport_open): Set merge field. 2006-06-21 Josh Stone PR 2525 * transport.c (_stp_handle_start): Initialize timer functions. * transport.c (_stp_cleanup_and_exit): Teardown timer functions. 2006-06-13 Martin Hunt * transport.c (_stp_transport_close): Destroy workqueue when done. 2006-06-09 Martin Hunt * transport.c: Using the default workqueue was causing problems because of the long delays on probe_exit(). Created a new systemtap work queue and used that instead. 2006-06-05 Martin Hunt * procfs.c (_stp_write): Always use spin_lock_irqsave() because this function can sometimes be called with interrupts enabled. 2006-04-10 Martin Hunt * procfs.c (_stp_write): More fixes because buffers are no longer null-terminated. 2006-03-20 Martin Hunt * procfs.c (_stp_write): Combine buffers only for REALTIME_DATA. 2006-03-16 Tom Zanussi * procfs.c (_stp_proc_read): Change ifdef for relayfs version. * relayfs.c: Change ifdefs for relayfs version. * relayfs.h: Remove relayfs-config.h include. * transport.c (_stp_handle_buf_info.c): Change ifdef for relayfs version. * relayfs-config.h.in: Removed. 2006-03-15 Tom Zanussi * procfs.c (_stp_proc_read): Add ifdef for CONFIG_RELAY. (_stp_get_proc_root): New function. (_stp_force_dir_create): New function. (_stp_register_procfs): Add support for CONFIG_RELAY files in proc. * relayfs.c (_stp_subbuf_start): Fix ppc64 compilation error mentioned in bug #2406. (_stp_create_buf_file): New function. (_stp_remove_buf_file): New function. (_stp_relayfs_close): Add support for CONFIG_RELAY. (_stp_relayfs_open): Add support for CONFIG_RELAY. * relayfs.h: Add support for CONFIG_RELAY and RELAYFS_VERSION_GE_4. * transport.c (_stp_handle_buf_info.c): Add support for CONFIG_RELAY. * transport (_stp_transport_open.c): Add support for CONFIG_RELAY. * relayfs-config.h.in: New file. 2006-03-15 Martin Hunt * procfs.c (STP_DEFAULT_BUFFERS): Bump up to 256. 2006-03-06 Martin Hunt * transport_msgs.h (struct cmd_info): New message. 2006-02-25 Martin Hunt * procfs.c (_stp_proc_write_cmd): Check return code for _stp_transport_open(). * transport.c (_stp_transport_write): This function can now sleep because it is (_stp_handle_start): Don't use a mutex when a simple atomic will do. (_stp_work_queue): Check atomic to see if probe_start() has finished before attempting exit. (_stp_transport_close): PR2391. Cancel work queue. (_stp_transport_init): If _stp_register_procfs() fails, return an error code. * transport.txt: New file. Documents transport initialization and shutdown sequence. 2006-02-24 Martin Hunt * transport.c (_stp_transport_init): Fail if _stp_register_procfs() fails. 2006-02-17 Martin Hunt * procfs.c (_stp_proc_read_cmd): Change spin_lock() to spin_lock_irqsave(). * transport.c (_stp_work_queue): Ditto. 2005-12-02 Martin Hunt * procfs.c (_stp_set_buffers): kmalloc the buffers instead of vmalloc. (_stp_register_procfs): Ditto. (_stp_unregister_procfs): kfree the buffers. 2005-11-30 Martin Hunt * transport.h (STP_WORK_TIMER): Declare. * transport.c (_stp_work_queue): Wake up every STP_WORK_QUEUE jiffies and check IO and exit status. (_stp_handle_exit): Deleted. * procfs.c (_stp_proc_write_cmd): Just set exit flag on STP_EXIT. (_stp_write): Don't call wake_up_interruptible. 2005-10-17 Martin Hunt * transport.c (_stp_handle_start): Grab semaphore before calling probe_start() and release after it is done. (_stp_handle_exit): Ditto for exiting. This prevents exiting before probe_start() is finished. 2005-10-14 Tom Zanussi * relayfs.h: Add ifdef'ed relayfs_fs.h include for mainline relayfs version. If you're running a kernel with a version of relayfs >= 4 (the version # can be found in /include/linux/relayfs_fs.h) configured in, adding a #define RELAYFS_VERSION_GE_4 at the top of transport/relayfs.h will make systemtap use it instead of the packaged version. * relayfs.c: Add ifdef'ed relayfs callback functions for mainline relayfs version. (_stp_relayfs_open): Add ifdef'ed code for mainline relayfs version. * procfs.c (_stp_proc_read): Ditto. * transport.c (_handle_buf_info): Ditto. 2005-10-05 Tom Zanussi * transport.c (_stp_transport_open): Add kbug message. * transport.h: Change default n_subbufs to 16. 2005-09-08 Martin Hunt * procfs.c (_stp_register_procfs): Change ifdefs to eliminate unused variable warnings. (_stp_unregister_procfs): Ditto. 2005-09-06 Martin Hunt * transport.c (_stp_handle_start): Always reply to a start message with STP_START. 2005-08-24 Martin Hunt * transport_msgs.h (enum): New type, STP_OOB_DATA. 2005-08-23 Martin Hunt * transport.c (_stp_cleanup_and_exit): Remove a 2 second sleep that should no longer be necessary. * procfs.c (_stp_write): If the ready queue is not empty then attempt to grab the last buffer in it and append our data to it. 2005-08-22 Martin Hunt * transport.h: Don't define _stp_transport_write. * transport.c (_stp_transport_write): Use _stp_transport_send() when in probe_exit(). 2005-08-19 Martin Hunt * transport.c (_stp_cmd_handler): Remove. This was used by stp-control. * procfs.c (_stp_proc_write_cmd): Call schedule_work() instead of running _stp_exit_handler immediately. Fixes a problem where the module couldn't exit if all the output buffers were full. Set .owner for the filesystem entries. 2005-08-19 Martin Hunt * transport.h: Remove netlink references. * transport.c: Remove netlink references. Ifdef relayfs code. * procfs.c: New file. * Makefile: Deleted. * control.c: Deleted. * control.h: Deleted. * netlink.c: Deleted. * netlink.h: Deleted. 2005-08-03 Martin Hunt * transport.c: Comment out a couple printks. 2005-08-01 Martin Hunt * control.h: Remove STP commands from here and put in transport_msgs. * transport_msgs.h: New file containing the structs and values for the messages exchanged between stpd and transport. * transport.h: Moved stuff shared with stpd to transport_msgs.h * transport.c: Complete rewrite to better handle complicated initialization involving exchanging data with stpd. Supports buffer size negotiation and more. 2005-07-18 Martin Hunt * transport.h (_stp_transport_write): Call _stp_relay_write(). * transport.c (_stp_cleanup_and_exit): Print transport failure count. (_stp_relay_write): Like relay_write() except returns -1 on error. 2005-07-14 Tom Zanussi * netlink.c (_stp_netlink_open): Add missing delayed_pkts initialization. 2005-07-08 Martin Hunt * transport.c: Rename pid to _stp_pid. Rename t to _stp_tport. (_stp_cleanup_and_exit): New internal function. (stp_exit_helper): Call _stp_cleanup_and_exit(). (_stp_transport_cleanup): New function. (_stp_cmd_handler): Remove handler for STP_TRANSPORT_MODE. The transport now notifies the daemon of the transport. (_stp_transport_close): No longer calls _stp_exit_helper(). That is done by _stp_transport_cleanup(). (_stp_transport_open): When done, call _stp_handle_transport() to notify the daemon what our transport is. (_stp_transport_send): Put a retry limit on sends. * transport.h: Rename pid to _stp_pid. (_stp_transport_cleanup): Add prototype. 2005-06-23 Martin Hunt * transport.h: Move all the transport open stuff here and provide a convenient macro. * control.c: Replace macro DEFINE_SPINLOCK because some kernels don't have it. 2005-06-20 Tom Zanussi * control.h: Added STP_TRANSPORT_MODE command. * transport.c: Lots of changes, most importantly added transport mode command, which also sends buffer sizes to daemon, added limit to number of attempts to sending STP_EXIT (in case there is no daemon), moved exit helper call. * transport.h: Added transport type enum and transport info struct for communication with userspace, changed and moved a couple functions to transport.c. 2005-05-17 Martin Hunt * transport.c (_stp_transport_close): Call stp_exit_helper() directly instead of using work queue. 2005-05-16 Martin Hunt * transport.c (_stp_cmd_handler): For STP_EXIT, schedule a work queue to do the exit functions. (_stp_transport_close): Call work queue for STP_EXIT. (_stp_transport_send): Call _stp_ctrl_send() like before, except when in probe_exit(). In that case, keep retrying on send errors until we succeed. * transport.h (_stp_transport_write): Change to call _stp_transport_send() for NETLINK_ONLY. * Makefile (KDIR): set to /lib/modules/... instead of /usr/local/src/...