Commit da4d401a authored by Steven Rostedt (VMware)'s avatar Steven Rostedt (VMware)
Browse files

ring-buffer: Remove all BUG() calls



There's a lot of checks to make sure the ring buffer is working, and if an
anomaly is detected, it safely shuts itself down. But there's a few cases
that it will call BUG(), which defeats the point of being safe (it crashes
the kernel when an anomaly is found!). There's no reason for them. Switch
them all to either WARN_ON_ONCE() (when no ring buffer descriptor is present),
or to RB_WARN_ON() (when a ring buffer descriptor is present).

Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 3d2353de
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -193,7 +193,7 @@ rb_event_length(struct ring_buffer_event *event)
	case RINGBUF_TYPE_DATA:
		return rb_event_data_length(event);
	default:
		BUG();
		WARN_ON_ONCE(1);
	}
	/* not hit */
	return 0;
@@ -249,7 +249,7 @@ rb_event_data(struct ring_buffer_event *event)
{
	if (extended_time(event))
		event = skip_time_extend(event);
	BUG_ON(event->type_len > RINGBUF_TYPE_DATA_TYPE_LEN_MAX);
	WARN_ON_ONCE(event->type_len > RINGBUF_TYPE_DATA_TYPE_LEN_MAX);
	/* If length is in len field, then array[0] has the data */
	if (event->type_len)
		return (void *)&event->array[0];
@@ -3727,7 +3727,7 @@ rb_update_read_stamp(struct ring_buffer_per_cpu *cpu_buffer,
		return;

	default:
		BUG();
		RB_WARN_ON(cpu_buffer, 1);
	}
	return;
}
@@ -3757,7 +3757,7 @@ rb_update_iter_read_stamp(struct ring_buffer_iter *iter,
		return;

	default:
		BUG();
		RB_WARN_ON(iter->cpu_buffer, 1);
	}
	return;
}
@@ -4020,7 +4020,7 @@ rb_buffer_peek(struct ring_buffer_per_cpu *cpu_buffer, u64 *ts,
		return event;

	default:
		BUG();
		RB_WARN_ON(cpu_buffer, 1);
	}

	return NULL;
@@ -4109,7 +4109,7 @@ rb_iter_peek(struct ring_buffer_iter *iter, u64 *ts)
		return event;

	default:
		BUG();
		RB_WARN_ON(cpu_buffer, 1);
	}

	return NULL;