On Mon, Nov 27, 2017 at 01:50:30PM -0800, Milind Chabbi wrote:
> The possible checks is infinite

struct perf_event_attr is very much a finite data type.

Something as simple as:

        struct perf_event_attr tmp1 = new_attr, tmp2 = event->attr;

        tmp1.bp_type = tmp2.bp_type;
        tmp1.bp_addr = tmp2.bp_addr;
        tmp1.bp_len  = tmp2.bp_len;

        if (memcmp(&tmp1, &tmp2, sizeof(tmp1)))
                return -EINVAL;

would actually do the checks __modify_user_hw_breakpoint() needs to do.

Reply via email to