linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Peter Xu <peterx@redhat.com>
Cc: kbuild-all@lists.01.org, Johannes Weiner <hannes@cmpxchg.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: [hnaz-linux-mm:master 89/340] arch/mips/mm/fault.c:157:27: error: passing argument 1 of 'fault_signal_pending' makes integer from pointer without a cast
Date: Tue, 10 Mar 2020 17:37:55 +0800	[thread overview]
Message-ID: <202003101748.Ew1iOPGR%lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 5382 bytes --]

tree:   https://github.com/hnaz/linux-mm master
head:   5d9ee416b5701096536c7a63c04dbe25012baa9e
commit: 133f884fbe299145671d583f255f71b63d9ad63f [89/340] mm: introduce fault_signal_pending()
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 133f884fbe299145671d583f255f71b63d9ad63f
        # save the attached .config to linux build tree
        GCC_VERSION=9.2.0 make.cross ARCH=mips 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   arch/mips/mm/fault.c: In function '__do_page_fault':
>> arch/mips/mm/fault.c:157:27: error: passing argument 1 of 'fault_signal_pending' makes integer from pointer without a cast [-Werror=int-conversion]
     157 |  if (fault_signal_pending(regs))
         |                           ^~~~
         |                           |
         |                           struct pt_regs *
   In file included from include/linux/ptrace.h:7,
                    from arch/mips/mm/fault.c:16:
   include/linux/sched/signal.h:378:54: note: expected 'unsigned int' but argument is of type 'struct pt_regs *'
     378 | static inline bool fault_signal_pending(unsigned int fault_flags,
         |                                         ~~~~~~~~~~~~~^~~~~~~~~~~
>> arch/mips/mm/fault.c:157:6: error: too few arguments to function 'fault_signal_pending'
     157 |  if (fault_signal_pending(regs))
         |      ^~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/ptrace.h:7,
                    from arch/mips/mm/fault.c:16:
   include/linux/sched/signal.h:378:20: note: declared here
     378 | static inline bool fault_signal_pending(unsigned int fault_flags,
         |                    ^~~~~~~~~~~~~~~~~~~~
   cc1: all warnings being treated as errors

vim +/fault_signal_pending +157 arch/mips/mm/fault.c

    89	
    90		/*
    91		 * If we're in an interrupt or have no user
    92		 * context, we must not take the fault..
    93		 */
    94		if (faulthandler_disabled() || !mm)
    95			goto bad_area_nosemaphore;
    96	
    97		if (user_mode(regs))
    98			flags |= FAULT_FLAG_USER;
    99	retry:
   100		down_read(&mm->mmap_sem);
   101		vma = find_vma(mm, address);
   102		if (!vma)
   103			goto bad_area;
   104		if (vma->vm_start <= address)
   105			goto good_area;
   106		if (!(vma->vm_flags & VM_GROWSDOWN))
   107			goto bad_area;
   108		if (expand_stack(vma, address))
   109			goto bad_area;
   110	/*
   111	 * Ok, we have a good vm_area for this memory access, so
   112	 * we can handle it..
   113	 */
   114	good_area:
   115		si_code = SEGV_ACCERR;
   116	
   117		if (write) {
   118			if (!(vma->vm_flags & VM_WRITE))
   119				goto bad_area;
   120			flags |= FAULT_FLAG_WRITE;
   121		} else {
   122			if (cpu_has_rixi) {
   123				if (address == regs->cp0_epc && !(vma->vm_flags & VM_EXEC)) {
   124	#if 0
   125					pr_notice("Cpu%d[%s:%d:%0*lx:%ld:%0*lx] XI violation\n",
   126						  raw_smp_processor_id(),
   127						  current->comm, current->pid,
   128						  field, address, write,
   129						  field, regs->cp0_epc);
   130	#endif
   131					goto bad_area;
   132				}
   133				if (!(vma->vm_flags & VM_READ) &&
   134				    exception_epc(regs) != address) {
   135	#if 0
   136					pr_notice("Cpu%d[%s:%d:%0*lx:%ld:%0*lx] RI violation\n",
   137						  raw_smp_processor_id(),
   138						  current->comm, current->pid,
   139						  field, address, write,
   140						  field, regs->cp0_epc);
   141	#endif
   142					goto bad_area;
   143				}
   144			} else {
   145				if (unlikely(!vma_is_accessible(vma)))
   146					goto bad_area;
   147			}
   148		}
   149	
   150		/*
   151		 * If for any reason at all we couldn't handle the fault,
   152		 * make sure we exit gracefully rather than endlessly redo
   153		 * the fault.
   154		 */
   155		fault = handle_mm_fault(vma, address, flags);
   156	
 > 157		if (fault_signal_pending(regs))
   158			return;
   159	
   160		perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
   161		if (unlikely(fault & VM_FAULT_ERROR)) {
   162			if (fault & VM_FAULT_OOM)
   163				goto out_of_memory;
   164			else if (fault & VM_FAULT_SIGSEGV)
   165				goto bad_area;
   166			else if (fault & VM_FAULT_SIGBUS)
   167				goto do_sigbus;
   168			BUG();
   169		}
   170		if (flags & FAULT_FLAG_ALLOW_RETRY) {
   171			if (fault & VM_FAULT_MAJOR) {
   172				perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MAJ, 1,
   173							  regs, address);
   174				tsk->maj_flt++;
   175			} else {
   176				perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS_MIN, 1,
   177							  regs, address);
   178				tsk->min_flt++;
   179			}
   180			if (fault & VM_FAULT_RETRY) {
   181				flags &= ~FAULT_FLAG_ALLOW_RETRY;
   182				flags |= FAULT_FLAG_TRIED;
   183	
   184				/*
   185				 * No need to up_read(&mm->mmap_sem) as we would
   186				 * have already released it in __lock_page_or_retry
   187				 * in mm/filemap.c.
   188				 */
   189	
   190				goto retry;
   191			}
   192		}
   193	
   194		up_read(&mm->mmap_sem);
   195		return;
   196	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 64254 bytes --]

                 reply	other threads:[~2020-03-10  9:38 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202003101748.Ew1iOPGR%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-mm@kvack.org \
    --cc=peterx@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).