mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
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: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
3d2353de81
commit
da4d401a6b
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user