Skip to content
  • Vivek Goyal's avatar
    kexec: make kexec_segment user buffer pointer a union · 815d5704
    Vivek Goyal authored
    
    
    So far kexec_segment->buf was always a user space pointer as user space
    passed the array of kexec_segment structures and kernel copied it.
    
    But with new system call, list of kexec segments will be prepared by
    kernel and kexec_segment->buf will point to a kernel memory.
    
    So while I was adding code where I made assumption that ->buf is pointing
    to kernel memory, sparse started giving warning.
    
    Make ->buf a union.  And where a user space pointer is expected, access it
    using ->buf and where a kernel space pointer is expected, access it using
    ->kbuf.  That takes care of sparse warnings.
    
    Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Michael Kerrisk <mtk.manpages@gmail.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Eric Biederman <ebiederm@xmission.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Matthew Garrett <mjg59@srcf.ucam.org>
    Cc: Greg Kroah-Hartman <greg@kroah.com>
    Cc: Dave Young <dyoung@redhat.com>
    Cc: WANG Chao <chaowang@redhat.com>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    815d5704