summaryrefslogtreecommitdiffstats
path: root/runtime/transport/relay_v2.c
diff options
context:
space:
mode:
authorDavid Smith <dsmith@redhat.com>2009-05-22 10:50:30 -0500
committerDavid Smith <dsmith@redhat.com>2009-05-22 10:50:30 -0500
commite57421f400d17786c1fdbead5fbca27a1fbe4ec5 (patch)
treedaefda43d0be0bbf3552d45101693cc07c480a14 /runtime/transport/relay_v2.c
parentc8e9eb18d8d13d099a4a177fe53de507c1d9ce8b (diff)
downloadsystemtap-steved-e57421f400d17786c1fdbead5fbca27a1fbe4ec5.tar.gz
systemtap-steved-e57421f400d17786c1fdbead5fbca27a1fbe4ec5.tar.xz
systemtap-steved-e57421f400d17786c1fdbead5fbca27a1fbe4ec5.zip
Added error checking and other updates.
* runtime/vsprintf.c: Added transport.h inclusion for STP_BUFFER_SIZE definition. * runtime/transport/debugfs.c (_stp_register_ctl_channel_fs): Added error checking. * runtime/transport/transport.c (_stp_get_root_dir): Ditto. (_stp_transport_fs_init): Added original transport support and error checking. * runtime/transport/relay_v2.c (__stp_relay_create_buf_file_callback): Added error checking. (_stp_transport_data_fs_init): Ditto. * runtime/transport/ring_buffer.c (_stp_transport_data_fs_init): Ditto. * runtime/transport/utt.c: Removed unused file. * runtime/transport/utt.h: Ditto.
Diffstat (limited to 'runtime/transport/relay_v2.c')
-rw-r--r--runtime/transport/relay_v2.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/runtime/transport/relay_v2.c b/runtime/transport/relay_v2.c
index c0a772ed..0c8d0955 100644
--- a/runtime/transport/relay_v2.c
+++ b/runtime/transport/relay_v2.c
@@ -204,7 +204,10 @@ __stp_relay_create_buf_file_callback(const char *filename,
{
struct dentry *file = debugfs_create_file(filename, mode, parent, buf,
&relay_file_operations);
- if (file) {
+ if (IS_ERR(file)) {
+ file = NULL;
+ }
+ else if (file) {
file->d_inode->i_uid = _stp_uid;
file->d_inode->i_gid = _stp_gid;
}
@@ -251,6 +254,12 @@ static int _stp_transport_data_fs_init(void)
rc = -EIO;
goto err;
}
+ else if (IS_ERR(_stp_relay_data.dropped_file)) {
+ rc = PTR_ERR(_stp_relay_data.dropped_file);
+ _stp_relay_data.dropped_file = NULL;
+ goto err;
+ }
+
_stp_relay_data.dropped_file->d_inode->i_uid = _stp_uid;
_stp_relay_data.dropped_file->d_inode->i_gid = _stp_gid;