When building with CONFIG_DEBUG_STRICT_USER_COPY_CHECKS, this copy_to_user wasn't provably correct (the length was in a variable but the structure wasn't). The compiler wasn't able to check that the length was being statically assigned, so include a BUG_ON to notice if this ever changes.
Signed-off-by: Kees Cook <keesc...@chromium.org> --- fs/notify/fanotify/fanotify_user.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c index b13992a41bd9..7bdb43222875 100644 --- a/fs/notify/fanotify/fanotify_user.c +++ b/fs/notify/fanotify/fanotify_user.c @@ -216,6 +216,7 @@ static ssize_t copy_event_to_user(struct fsnotify_group *group, fd = fanotify_event_metadata.fd; ret = -EFAULT; + BUG_ON(fanotify_event_metadata.event_len != FAN_EVENT_METADATA_LEN); if (copy_to_user(buf, &fanotify_event_metadata, fanotify_event_metadata.event_len)) goto out_close_fd; -- 1.9.1 -- Kees Cook Chrome OS Security -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/