PERF_ATTR_SIZE_VER0
size = PERF_ATTR_SIZE_VER0;
if (size < PERF_ATTR_SIZE_VER0 || size > PAGE_SIZE)
if (event->header.size < sizeof(struct perf_event_header) + PERF_ATTR_SIZE_VER0) {
attr_size = raw_attr_size ?: PERF_ATTR_SIZE_VER0;
if (raw_attr_size && (raw_attr_size < PERF_ATTR_SIZE_VER0 ||
local_attr.size = PERF_ATTR_SIZE_VER0;
memcpy(&local_attr, attr, PERF_ATTR_SIZE_VER0);
memset((void *)&local_attr + PERF_ATTR_SIZE_VER0, 0,
sizeof(local_attr) - PERF_ATTR_SIZE_VER0);
attr_size = event->attr.attr.size ?: PERF_ATTR_SIZE_VER0;
size = PERF_ATTR_SIZE_VER0;
if (!nre || sz < PERF_ATTR_SIZE_VER0 ||
nre, sz, PERF_ATTR_SIZE_VER0);
attr_size = PERF_ATTR_SIZE_VER0;
if (attr_size < PERF_ATTR_SIZE_VER0 || attr_size > sz) {
i, attr_size, PERF_ATTR_SIZE_VER0, sz);
[0] = PERF_ATTR_SIZE_VER0,
ret = readn(fd, attr, PERF_ATTR_SIZE_VER0);
PERF_ATTR_SIZE_VER0);
sz = PERF_ATTR_SIZE_VER0;
} else if (sz < PERF_ATTR_SIZE_VER0) {
sz, PERF_ATTR_SIZE_VER0);
left = sz - PERF_ATTR_SIZE_VER0;
ptr += PERF_ATTR_SIZE_VER0;
if (event->header.size < sizeof(event->header) + PERF_ATTR_SIZE_VER0 ||
(raw_attr_size && (raw_attr_size < PERF_ATTR_SIZE_VER0 ||
raw_attr_size, event->header.size, PERF_ATTR_SIZE_VER0);
attr_size = raw_attr_size ?: PERF_ATTR_SIZE_VER0;
u32 attr_size = attr->size ?: PERF_ATTR_SIZE_VER0;
[PERF_RECORD_HEADER_ATTR] = sizeof(struct perf_event_header) + PERF_ATTR_SIZE_VER0,
attr->size = PERF_ATTR_SIZE_VER0;
attr_size = PERF_ATTR_SIZE_VER0;
if (attr_size < PERF_ATTR_SIZE_VER0 || attr_size % sizeof(u64) ||
attr_size, PERF_ATTR_SIZE_VER0, payload_size);