lkml.org 
[lkml]   [2019]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjectmm/memory.c:3968:21: sparse: incorrect type in assignment (different base types)
    tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
    head: 5453a3df2a5eb49bc24615d4cf0d66b2aae05e5f
    commit: 3d3539018d2cbd12e5af4a132636ee7fd8d43ef0 mm: create the new vm_fault_t type
    date: 6 days ago
    reproduce:
    # apt-get install sparse
    git checkout 3d3539018d2cbd12e5af4a132636ee7fd8d43ef0
    make ARCH=x86_64 allmodconfig
    make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'


    sparse warnings: (new ones prefixed by >>)

    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:149:22: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    include/asm-generic/tlb.h:150:20: sparse: expression using sizeof(void)
    mm/memory.c:1275:31: sparse: expression using sizeof(void)
    mm/memory.c:1275:31: sparse: expression using sizeof(void)
    mm/memory.c:1280:15: sparse: expression using sizeof(void)
    mm/memory.c:1280:15: sparse: expression using sizeof(void)
    mm/memory.c:3389:24: sparse: expression using sizeof(void)
    mm/memory.c:3389:24: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    mm/memory.c:3400:21: sparse: expression using sizeof(void)
    >> mm/memory.c:3968:21: sparse: incorrect type in assignment (different base types) @@ expected restricted vm_fault_t [usertype] ret @@ got e] ret @@
    mm/memory.c:3968:21: expected restricted vm_fault_t [usertype] ret
    mm/memory.c:3968:21: got int
    mm/memory.c:833:17: sparse: context imbalance in 'copy_pte_range' - different lock contexts for basic block
    mm/memory.c:1436:16: sparse: context imbalance in '__get_locked_pte' - different lock contexts for basic block
    mm/memory.c:1745:17: sparse: context imbalance in 'remap_pte_range' - different lock contexts for basic block
    mm/memory.c:1978:17: sparse: context imbalance in 'apply_to_pte_range' - unexpected unlock
    mm/memory.c:2427:17: sparse: context imbalance in 'wp_pfn_shared' - unexpected unlock
    mm/memory.c:2489:19: sparse: context imbalance in 'do_wp_page' - different lock contexts for basic block
    mm/memory.c:3071:19: sparse: context imbalance in 'pte_alloc_one_map' - different lock contexts for basic block
    mm/memory.c:3314:17: sparse: context imbalance in 'finish_fault' - unexpected unlock
    mm/memory.c:3426:9: sparse: context imbalance in 'do_fault_around' - unexpected unlock
    mm/memory.c:4076:12: sparse: context imbalance in '__follow_pte_pmd' - different lock contexts for basic block
    mm/memory.c:4153:5: sparse: context imbalance in 'follow_pte_pmd' - different lock contexts for basic block

    vim +3968 mm/memory.c

    ^1da177e Linus Torvalds 2005-04-16 3935
    9a95f3cf Paul Cassella 2014-08-06 3936 /*
    9a95f3cf Paul Cassella 2014-08-06 3937 * By the time we get here, we already hold the mm semaphore
    9a95f3cf Paul Cassella 2014-08-06 3938 *
    9a95f3cf Paul Cassella 2014-08-06 3939 * The mmap_sem may have been released depending on flags and our
    9a95f3cf Paul Cassella 2014-08-06 3940 * return value. See filemap_fault() and __lock_page_or_retry().
    9a95f3cf Paul Cassella 2014-08-06 3941 */
    2b740303 Souptick Joarder 2018-08-23 3942 vm_fault_t handle_mm_fault(struct vm_area_struct *vma, unsigned long address,
    dcddffd4 Kirill A. Shutemov 2016-07-26 3943 unsigned int flags)
    519e5247 Johannes Weiner 2013-09-12 3944 {
    2b740303 Souptick Joarder 2018-08-23 3945 vm_fault_t ret;
    519e5247 Johannes Weiner 2013-09-12 3946
    519e5247 Johannes Weiner 2013-09-12 3947 __set_current_state(TASK_RUNNING);
    519e5247 Johannes Weiner 2013-09-12 3948
    519e5247 Johannes Weiner 2013-09-12 3949 count_vm_event(PGFAULT);
    2262185c Roman Gushchin 2017-07-06 3950 count_memcg_event_mm(vma->vm_mm, PGFAULT);
    519e5247 Johannes Weiner 2013-09-12 3951
    519e5247 Johannes Weiner 2013-09-12 3952 /* do counter updates before entering really critical section. */
    519e5247 Johannes Weiner 2013-09-12 3953 check_sync_rss_stat(current);
    519e5247 Johannes Weiner 2013-09-12 3954
    de0c799b Laurent Dufour 2017-09-08 3955 if (!arch_vma_access_permitted(vma, flags & FAULT_FLAG_WRITE,
    de0c799b Laurent Dufour 2017-09-08 3956 flags & FAULT_FLAG_INSTRUCTION,
    de0c799b Laurent Dufour 2017-09-08 3957 flags & FAULT_FLAG_REMOTE))
    de0c799b Laurent Dufour 2017-09-08 3958 return VM_FAULT_SIGSEGV;
    de0c799b Laurent Dufour 2017-09-08 3959
    519e5247 Johannes Weiner 2013-09-12 3960 /*
    519e5247 Johannes Weiner 2013-09-12 3961 * Enable the memcg OOM handling for faults triggered in user
    519e5247 Johannes Weiner 2013-09-12 3962 * space. Kernel faults are handled more gracefully.
    519e5247 Johannes Weiner 2013-09-12 3963 */
    519e5247 Johannes Weiner 2013-09-12 3964 if (flags & FAULT_FLAG_USER)
    29ef680a Michal Hocko 2018-08-17 3965 mem_cgroup_enter_user_fault();
    519e5247 Johannes Weiner 2013-09-12 3966
    bae473a4 Kirill A. Shutemov 2016-07-26 3967 if (unlikely(is_vm_hugetlb_page(vma)))
    bae473a4 Kirill A. Shutemov 2016-07-26 @3968 ret = hugetlb_fault(vma->vm_mm, vma, address, flags);
    bae473a4 Kirill A. Shutemov 2016-07-26 3969 else
    dcddffd4 Kirill A. Shutemov 2016-07-26 3970 ret = __handle_mm_fault(vma, address, flags);
    519e5247 Johannes Weiner 2013-09-12 3971
    49426420 Johannes Weiner 2013-10-16 3972 if (flags & FAULT_FLAG_USER) {
    29ef680a Michal Hocko 2018-08-17 3973 mem_cgroup_exit_user_fault();
    49426420 Johannes Weiner 2013-10-16 3974 /*
    49426420 Johannes Weiner 2013-10-16 3975 * The task may have entered a memcg OOM situation but
    49426420 Johannes Weiner 2013-10-16 3976 * if the allocation error was handled gracefully (no
    49426420 Johannes Weiner 2013-10-16 3977 * VM_FAULT_OOM), there is no need to kill anything.
    49426420 Johannes Weiner 2013-10-16 3978 * Just clean up the OOM state peacefully.
    49426420 Johannes Weiner 2013-10-16 3979 */
    49426420 Johannes Weiner 2013-10-16 3980 if (task_in_memcg_oom(current) && !(ret & VM_FAULT_OOM))
    49426420 Johannes Weiner 2013-10-16 3981 mem_cgroup_oom_synchronize(false);
    49426420 Johannes Weiner 2013-10-16 3982 }
    3812c8c8 Johannes Weiner 2013-09-12 3983
    519e5247 Johannes Weiner 2013-09-12 3984 return ret;
    519e5247 Johannes Weiner 2013-09-12 3985 }
    e1d6d01a Jesse Barnes 2014-12-12 3986 EXPORT_SYMBOL_GPL(handle_mm_fault);
    519e5247 Johannes Weiner 2013-09-12 3987

    :::::: The code at line 3968 was first introduced by commit
    :::::: bae473a423f65e480db83c85b5e92254f6dfcb28 mm: introduce fault_env

    :::::: TO: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    :::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

    ---
    0-DAY kernel test infrastructure Open Source Technology Center
    https://lists.01.org/pipermail/kbuild-all Intel Corporation

    \
     
     \ /
      Last update: 2019-03-13 20:21    [W:4.140 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site