• H. Peter Anvin's avatar
    nvram: Fix write beyond end condition; prove to gcc copy is safe · a01c7800
    H. Peter Anvin authored
    In nvram_write, first of all, correctly handle the case where the file
    pointer is already beyond the end; we should return EOF in that case.
    
    Second, make the logic a bit more explicit so that gcc can statically
    prove that the copy_from_user() is safe.  Once the condition of the
    beyond-end filepointer is eliminated, the copy is safe but gcc can't
    prove it, causing build failures for i386 allyesconfig.
    
    Third, eliminate the entirely superfluous variable "len", and just use
    the passed-in variable "count" instead.
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    Cc: Arjan van de Ven <arjan@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Wim Van Sebroeck <wim@iguana.be>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    LKML-Reference: <tip-*@git.kernel.org>
    a01c7800
nvram.c 17 KB