diff --git a/include/test/string-stream.h b/include/test/string-stream.h
index db46e33..814f0bb 100644
--- a/include/test/string-stream.h
+++ b/include/test/string-stream.h
@@ -3,6 +3,7 @@
 
 #include <linux/types.h>
 #include <linux/spinlock.h>
+#include <linux/kref.h>
 #include <stdarg.h>
 
 struct string_stream_fragment {
@@ -16,6 +17,7 @@
 
 	/* length and fragments are protected by this lock */
 	struct spinlock lock;
+	struct kref refcount;
 	int (*add)(struct string_stream *this, const char *fmt, ...);
 	int (*vadd)(struct string_stream *this, const char *fmt, va_list args);
 	char *(*get_string)(struct string_stream *this);
@@ -27,4 +29,8 @@
 
 void destroy_string_stream(struct string_stream *stream);
 
+void string_stream_get(struct string_stream *stream);
+
+int string_stream_put(struct string_stream *stream);
+
 #endif /* _TEST_STRING_STREAM_H */
diff --git a/test/string-stream.c b/test/string-stream.c
index 993d95d..f91bb60 100644
--- a/test/string-stream.c
+++ b/test/string-stream.c
@@ -102,6 +102,14 @@
 	kfree(stream);
 }
 
+static void string_stream_destroy(struct kref *kref)
+{
+	struct string_stream *stream = container_of(kref,
+						    struct string_stream,
+						    refcount);
+	destroy_string_stream(stream);
+}
+
 struct string_stream *new_string_stream(void)
 {
 	struct string_stream *stream = kzalloc(sizeof(*stream), GFP_KERNEL);
@@ -111,6 +119,7 @@
 
 	INIT_LIST_HEAD(&stream->fragments);
 	spin_lock_init(&stream->lock);
+	kref_init(&stream->refcount);
 	stream->add = string_stream_add;
 	stream->vadd = string_stream_vadd;
 	stream->get_string = string_stream_get_string;
@@ -118,3 +127,13 @@
 	stream->is_empty = string_stream_is_empty;
 	return stream;
 }
+
+void string_stream_get(struct string_stream *stream)
+{
+	kref_get(&stream->refcount);
+}
+
+int string_stream_put(struct string_stream *stream)
+{
+	return kref_put(&stream->refcount, &string_stream_destroy);
+}
\ No newline at end of file
