From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: fs/userfaultfd.c:1849:9: warning: Identical condition 'ret', second condition is always false
Date: Sat, 19 Dec 2020 03:38:11 +0800 [thread overview]
Message-ID: <202012190303.y72AsS6l-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 5827 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Andrea Arcangeli <aarcange@redhat.com>
CC: Peter Xu <peterx@redhat.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>
CC: Jerome Glisse <jglisse@redhat.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a409ed156a90093a03fe6a93721ddf4c591eac87
commit: 63b2d4174c4ad1f40b48d7138e71bcb564c1fe03 userfaultfd: wp: add the writeprotect API to userfaultfd ioctl
date: 9 months ago
:::::: branch date: 18 hours ago
:::::: commit date: 9 months ago
compiler: nds32le-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
cppcheck possible warnings: (new ones prefixed by >>, may not real problems)
fs/userfaultfd.c:417:40: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
VM_BUG_ON(!(reason & VM_UFFD_MISSING) ^ !!(reason & VM_UFFD_WP));
^
fs/userfaultfd.c:902:40: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
BUG_ON(!!vma->vm_userfaultfd_ctx.ctx ^
^
fs/userfaultfd.c:1379:40: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
BUG_ON(!!cur->vm_userfaultfd_ctx.ctx ^
^
fs/userfaultfd.c:1571:40: warning: Boolean result is used in bitwise operation. Clarify expression with parentheses. [clarifyCondition]
BUG_ON(!!cur->vm_userfaultfd_ctx.ctx ^
^
>> fs/userfaultfd.c:1849:9: warning: Identical condition 'ret', second condition is always false [identicalConditionAfterEarlyExit]
return ret;
^
fs/userfaultfd.c:1841:6: note: first condition
if (ret)
^
fs/userfaultfd.c:1849:9: note: second condition
return ret;
^
vim +/ret +1849 fs/userfaultfd.c
ad465cae96b456b Andrea Arcangeli 2015-09-04 1807
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1808 static int userfaultfd_writeprotect(struct userfaultfd_ctx *ctx,
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1809 unsigned long arg)
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1810 {
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1811 int ret;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1812 struct uffdio_writeprotect uffdio_wp;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1813 struct uffdio_writeprotect __user *user_uffdio_wp;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1814 struct userfaultfd_wake_range range;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1815
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1816 if (READ_ONCE(ctx->mmap_changing))
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1817 return -EAGAIN;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1818
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1819 user_uffdio_wp = (struct uffdio_writeprotect __user *) arg;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1820
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1821 if (copy_from_user(&uffdio_wp, user_uffdio_wp,
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1822 sizeof(struct uffdio_writeprotect)))
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1823 return -EFAULT;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1824
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1825 ret = validate_range(ctx->mm, &uffdio_wp.range.start,
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1826 uffdio_wp.range.len);
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1827 if (ret)
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1828 return ret;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1829
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1830 if (uffdio_wp.mode & ~(UFFDIO_WRITEPROTECT_MODE_DONTWAKE |
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1831 UFFDIO_WRITEPROTECT_MODE_WP))
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1832 return -EINVAL;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1833 if ((uffdio_wp.mode & UFFDIO_WRITEPROTECT_MODE_WP) &&
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1834 (uffdio_wp.mode & UFFDIO_WRITEPROTECT_MODE_DONTWAKE))
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1835 return -EINVAL;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1836
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1837 ret = mwriteprotect_range(ctx->mm, uffdio_wp.range.start,
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1838 uffdio_wp.range.len, uffdio_wp.mode &
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1839 UFFDIO_WRITEPROTECT_MODE_WP,
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1840 &ctx->mmap_changing);
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1841 if (ret)
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1842 return ret;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1843
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1844 if (!(uffdio_wp.mode & UFFDIO_WRITEPROTECT_MODE_DONTWAKE)) {
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1845 range.start = uffdio_wp.range.start;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1846 range.len = uffdio_wp.range.len;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1847 wake_userfault(ctx, &range);
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1848 }
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 @1849 return ret;
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1850 }
63b2d4174c4ad1f Andrea Arcangeli 2020-04-06 1851
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next reply other threads:[~2020-12-18 19:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-18 19:38 kernel test robot [this message]
2020-12-19 16:43 fs/userfaultfd.c:1849:9: warning: Identical condition 'ret', second condition is always false kernel test robot
2020-12-19 19:05 kernel test robot
2020-12-21 8:58 kernel test robot
2020-12-21 16:08 kernel test robot
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=202012190303.y72AsS6l-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.