* [linux-next:master] BUILD REGRESSION 605cbf3d5f20470ec303b79feda3202935f4a142
@ 2020-08-20 20:26 kernel test robot
2020-08-20 20:40 ` Andrew Morton
2020-08-20 20:43 ` Andrew Morton
0 siblings, 2 replies; 5+ messages in thread
From: kernel test robot @ 2020-08-20 20:26 UTC (permalink / raw)
To: Andrew Morton; +Cc: Linux Memory Management List
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
branch HEAD: 605cbf3d5f20470ec303b79feda3202935f4a142 Add linux-next specific files for 20200820
Error/Warning in current branch:
arch/x86/events/intel/uncore_snb.c:441:37: warning: initialized field overwritten [-Woverride-init]
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c:300 sdma_v5_2_ring_set_wptr() warn: should 'ring->wptr << 2' be a 64 bit type?
drivers/gpu/drm/nouveau/dispnv50/base507c.c:46:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/base827c.c:37:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/base907c.c:37:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/core507d.c:43:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/corec37d.c:44:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/corec57d.c:39:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/dac507d.c:44:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/dac907d.c:38:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/head507d.c:39:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/head827d.c:39:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/head907d.c:46:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/headc37d.c:55:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/headc57d.c:55:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/ovly507e.c:44:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/ovly827e.c:41:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/ovly907e.c:38:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/pior507d.c:45:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/sor507d.c:45:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/sor907d.c:41:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/sorc37d.c:38:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c:40:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc37e.c:49:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/gpu/drm/nouveau/dispnv50/wndwc57e.c:43:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/habanalabs/common/command_submission.c:950 cs_ioctl_signal_wait() warn: should 'cb->id << 12' be a 64 bit type?
drivers/staging/hikey9xx/hisi-spmi-controller.c:183:24: sparse: sparse: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:257:25: sparse: sparse: cast from restricted __be32
fs/notify/fsnotify.c:460 fsnotify() warn: variable dereferenced before check 'inode' (see line 449)
fs/proc/task_mmu.c:947 show_smaps_rollup() error: double unlocked 'mm->mmap_lock' (orig line 879)
hw_atl_b0.c:(.text+0x25dc): undefined reference to `__bad_udelay'
include/linux/compiler_types.h:319:38: error: call to '__compiletime_assert_276' declared with attribute error: BUILD_BUG_ON failed: IS_ENABLED(CONFIG_32BIT) && (_PFN_SHIFT > PAGE_SHIFT)
include/linux/compiler_types.h:319:38: error: call to '__compiletime_assert_444' declared with attribute error: BUILD_BUG_ON failed: PAGE_SIZE > 32768 && sizeof(page->private) < 8
Error/Warning ids grouped by kconfigs:
recent_errors
|-- arm-allyesconfig
| `-- hw_atl_b0.c:(.text):undefined-reference-to-__bad_udelay
|-- h8300-randconfig-s032-20200820
| |-- drivers-staging-hikey9xx-hisi-spmi-controller.c:sparse:sparse:cast-from-restricted-__be32
| `-- drivers-staging-hikey9xx-hisi-spmi-controller.c:sparse:sparse:cast-to-restricted-__be32
|-- i386-allyesconfig
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-defconfig
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-a003-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-a004-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-a005-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-a011-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-a012-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-a015-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-a016-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-c001-20200819
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-m021-20200818
| |-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
| `-- fs-notify-fsnotify.c-fsnotify()-warn:variable-dereferenced-before-check-inode-(see-line-)
|-- i386-randconfig-r016-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-s001-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- i386-randconfig-s002-20200818
| |-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
| |-- drivers-gpu-drm-nouveau-dispnv50-base507c.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-base827c.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-base907c.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-core507d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-corec37d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-corec57d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-dac507d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-dac907d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-head507d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-head827d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-head907d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-headc37d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-headc57d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-ovly507e.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-ovly827e.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-ovly907e.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-pior507d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-sor507d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-sor907d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-sorc37d.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-wimmc37b.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| |-- drivers-gpu-drm-nouveau-dispnv50-wndwc37e.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
| `-- drivers-gpu-drm-nouveau-dispnv50-wndwc57e.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
|-- mips-randconfig-r002-20200818
| |-- include-linux-compiler_types.h:error:call-to-__compiletime_assert_NNN-declared-with-attribute-error:BUILD_BUG_ON-failed:IS_ENABLED(CONFIG_32BIT)-(_PFN_SHIFT-PAGE_SHIFT)
| `-- include-linux-compiler_types.h:error:call-to-__compiletime_assert_NNN-declared-with-attribute-error:BUILD_BUG_ON-failed:PAGE_SIZE-sizeof(page-private)
|-- x86_64-allyesconfig
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-defconfig
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-kexec
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-randconfig-a011-20200820
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-randconfig-a012-20200820
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-randconfig-a014-20200820
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-randconfig-a015-20200820
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-randconfig-c002-20200819
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-randconfig-m001-20200818
| |-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
| |-- fs-notify-fsnotify.c-fsnotify()-warn:variable-dereferenced-before-check-inode-(see-line-)
| `-- fs-proc-task_mmu.c-show_smaps_rollup()-error:double-unlocked-mm-mmap_lock-(orig-line-)
|-- x86_64-randconfig-m001-20200820
| |-- drivers-gpu-drm-amd-amdgpu-sdma_v5_2.c-sdma_v5_2_ring_set_wptr()-warn:should-ring-wptr-be-a-bit-type
| |-- drivers-misc-habanalabs-common-command_submission.c-cs_ioctl_signal_wait()-warn:should-cb-id-be-a-bit-type
| |-- fs-notify-fsnotify.c-fsnotify()-warn:variable-dereferenced-before-check-inode-(see-line-)
| `-- fs-proc-task_mmu.c-show_smaps_rollup()-error:double-unlocked-mm-mmap_lock-(orig-line-)
|-- x86_64-randconfig-s021-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-randconfig-s022-20200818
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-rhel
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
|-- x86_64-rhel-7.6-kselftests
| `-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
`-- x86_64-rhel-8.3
`-- arch-x86-events-intel-uncore_snb.c:warning:initialized-field-overwritten
elapsed time: 720m
configs tested: 79
configs skipped: 2
arm defconfig
arm64 allyesconfig
arm64 defconfig
arm allyesconfig
arm allmodconfig
powerpc powernv_defconfig
arm pcm027_defconfig
arm mvebu_v7_defconfig
arm pxa168_defconfig
powerpc skiroot_defconfig
mips rt305x_defconfig
mips decstation_defconfig
m68k m5249evb_defconfig
arm vexpress_defconfig
m68k multi_defconfig
arm vf610m4_defconfig
arm h5000_defconfig
mips nlm_xlp_defconfig
ia64 allmodconfig
ia64 defconfig
ia64 allyesconfig
m68k allmodconfig
m68k defconfig
m68k allyesconfig
nds32 defconfig
nios2 allyesconfig
csky defconfig
alpha defconfig
alpha allyesconfig
xtensa allyesconfig
h8300 allyesconfig
arc defconfig
sh allmodconfig
parisc defconfig
s390 allyesconfig
parisc allyesconfig
s390 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
i386 defconfig
nios2 defconfig
arc allyesconfig
nds32 allnoconfig
c6x allyesconfig
mips allyesconfig
mips allmodconfig
powerpc defconfig
powerpc allyesconfig
powerpc allmodconfig
powerpc allnoconfig
i386 randconfig-a005-20200818
i386 randconfig-a002-20200818
i386 randconfig-a001-20200818
i386 randconfig-a006-20200818
i386 randconfig-a003-20200818
i386 randconfig-a004-20200818
x86_64 randconfig-a015-20200820
x86_64 randconfig-a012-20200820
x86_64 randconfig-a016-20200820
x86_64 randconfig-a014-20200820
x86_64 randconfig-a011-20200820
x86_64 randconfig-a013-20200820
i386 randconfig-a016-20200818
i386 randconfig-a011-20200818
i386 randconfig-a015-20200818
i386 randconfig-a013-20200818
i386 randconfig-a012-20200818
i386 randconfig-a014-20200818
riscv allyesconfig
riscv allnoconfig
riscv defconfig
riscv allmodconfig
x86_64 rhel
x86_64 allyesconfig
x86_64 rhel-7.6-kselftests
x86_64 defconfig
x86_64 rhel-8.3
x86_64 kexec
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master] BUILD REGRESSION 605cbf3d5f20470ec303b79feda3202935f4a142
2020-08-20 20:26 [linux-next:master] BUILD REGRESSION 605cbf3d5f20470ec303b79feda3202935f4a142 kernel test robot
@ 2020-08-20 20:40 ` Andrew Morton
2020-08-20 21:03 ` Amir Goldstein
2020-08-20 20:43 ` Andrew Morton
1 sibling, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2020-08-20 20:40 UTC (permalink / raw)
To: kernel test robot; +Cc: Linux Memory Management List, Amir Goldstein, Jan Kara
On Fri, 21 Aug 2020 04:26:12 +0800 kernel test robot <lkp@intel.com> wrote:
> tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> branch HEAD: 605cbf3d5f20470ec303b79feda3202935f4a142 Add linux-next specific files for 20200820
>
> Error/Warning in current branch:
>
> fs/notify/fsnotify.c:460 fsnotify() warn: variable dereferenced before check 'inode' (see line 449)
Yes, this:
: if (!inode) {
: /* Dirent event - report on TYPE_INODE to dir */
: inode = dir;
: } else if (mask & FS_EVENT_ON_CHILD) {
: /*
: * Event on child - report on TYPE_INODE to dir if it is
: * watching children and on TYPE_CHILD to child.
: */
: child = inode;
: inode = dir;
: }
`inode' is non-NULL here.
: sb = inode->i_sb;
So this is OK.
: /*
: * Optimization: srcu_read_lock() has a memory barrier which can
: * be expensive. It protects walking the *_fsnotify_marks lists.
: * However, if we do not walk the lists, we do not have to do
: * SRCU because we have no references to any objects and do not
: * need SRCU to keep them "alive".
: */
: if (!sb->s_fsnotify_marks &&
: (!mnt || !mnt->mnt_fsnotify_marks) &&
: (!inode || !inode->i_fsnotify_marks) &&
So !inode is always false.
: (!child || !child->i_fsnotify_marks))
: return 0;
I assume we can just zap the "!inode ||". Amir & Jan, can you
please take a look?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master] BUILD REGRESSION 605cbf3d5f20470ec303b79feda3202935f4a142
2020-08-20 20:26 [linux-next:master] BUILD REGRESSION 605cbf3d5f20470ec303b79feda3202935f4a142 kernel test robot
2020-08-20 20:40 ` Andrew Morton
@ 2020-08-20 20:43 ` Andrew Morton
2020-08-23 3:41 ` Philip Li
1 sibling, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2020-08-20 20:43 UTC (permalink / raw)
To: kernel test robot; +Cc: Linux Memory Management List, Chinwen Chang
On Fri, 21 Aug 2020 04:26:12 +0800 kernel test robot <lkp@intel.com> wrote:
> tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> branch HEAD: 605cbf3d5f20470ec303b79feda3202935f4a142 Add linux-next specific files for 20200820
>
> Error/Warning in current branch:
> ...
>
>
> fs/proc/task_mmu.c:947 show_smaps_rollup() error: double unlocked 'mm->mmap_lock' (orig line 879)
This is code added by "mm: proc: smaps_rollup: do not stall write
attempts on mmap_lock"
(http://lkml.kernel.org/r/1597715898-3854-4-git-send-email-chinwen.chang@mediatek.com).
I don't get it.
: if (mmap_lock_is_contended(mm)) {
: mmap_read_unlock(mm);
: ret = mmap_read_lock_killable(mm);
: if (ret) {
: release_task_mempolicy(priv);
: goto out_put_mm;
: }
Here the mmap_lock is again taken for read
: ...
:
: }
: /* Case 2 above */
: vma = vma->vm_next;
: }
:
: ...
:
: mmap_read_unlock(mm);
and here it's unlocked. I don't see a possibility for double-unlock?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master] BUILD REGRESSION 605cbf3d5f20470ec303b79feda3202935f4a142
2020-08-20 20:40 ` Andrew Morton
@ 2020-08-20 21:03 ` Amir Goldstein
0 siblings, 0 replies; 5+ messages in thread
From: Amir Goldstein @ 2020-08-20 21:03 UTC (permalink / raw)
To: Andrew Morton; +Cc: kernel test robot, Linux Memory Management List, Jan Kara
On Thu, Aug 20, 2020 at 11:40 PM Andrew Morton
<akpm@linux-foundation.org> wrote:
>
> On Fri, 21 Aug 2020 04:26:12 +0800 kernel test robot <lkp@intel.com> wrote:
>
> > tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > branch HEAD: 605cbf3d5f20470ec303b79feda3202935f4a142 Add linux-next specific files for 20200820
> >
> > Error/Warning in current branch:
> >
> > fs/notify/fsnotify.c:460 fsnotify() warn: variable dereferenced before check 'inode' (see line 449)
>
> Yes, this:
>
> : if (!inode) {
> : /* Dirent event - report on TYPE_INODE to dir */
> : inode = dir;
> : } else if (mask & FS_EVENT_ON_CHILD) {
> : /*
> : * Event on child - report on TYPE_INODE to dir if it is
> : * watching children and on TYPE_CHILD to child.
> : */
> : child = inode;
> : inode = dir;
> : }
>
> `inode' is non-NULL here.
>
> : sb = inode->i_sb;
>
> So this is OK.
>
> : /*
> : * Optimization: srcu_read_lock() has a memory barrier which can
> : * be expensive. It protects walking the *_fsnotify_marks lists.
> : * However, if we do not walk the lists, we do not have to do
> : * SRCU because we have no references to any objects and do not
> : * need SRCU to keep them "alive".
> : */
> : if (!sb->s_fsnotify_marks &&
> : (!mnt || !mnt->mnt_fsnotify_marks) &&
> : (!inode || !inode->i_fsnotify_marks) &&
>
> So !inode is always false.
>
> : (!child || !child->i_fsnotify_marks))
> : return 0;
>
> I assume we can just zap the "!inode ||". Amir & Jan, can you
> please take a look?
>
Andrew,
This warning was brought to our attention.
We both agreed that we like the code as it is with the unneeded !inode check.
https://lore.kernel.org/linux-fsdevel/20200730192537.GB13525@quack2.suse.cz/
Thanks,
Amir.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [linux-next:master] BUILD REGRESSION 605cbf3d5f20470ec303b79feda3202935f4a142
2020-08-20 20:43 ` Andrew Morton
@ 2020-08-23 3:41 ` Philip Li
0 siblings, 0 replies; 5+ messages in thread
From: Philip Li @ 2020-08-23 3:41 UTC (permalink / raw)
To: Andrew Morton
Cc: kernel test robot, Linux Memory Management List, Chinwen Chang
On Thu, Aug 20, 2020 at 01:43:05PM -0700, Andrew Morton wrote:
> On Fri, 21 Aug 2020 04:26:12 +0800 kernel test robot <lkp@intel.com> wrote:
>
> > tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > branch HEAD: 605cbf3d5f20470ec303b79feda3202935f4a142 Add linux-next specific files for 20200820
> >
> > Error/Warning in current branch:
>
> > ...
> >
> >
> > fs/proc/task_mmu.c:947 show_smaps_rollup() error: double unlocked 'mm->mmap_lock' (orig line 879)
>
> This is code added by "mm: proc: smaps_rollup: do not stall write
> attempts on mmap_lock"
> (http://lkml.kernel.org/r/1597715898-3854-4-git-send-email-chinwen.chang@mediatek.com).
>
> I don't get it.
Sorry Andrew, this is a false positive. We wrongly send out a few false reports
related to "double unlocked" due to bot issue. Sorry for the inconvenience caused.
>
> : if (mmap_lock_is_contended(mm)) {
> : mmap_read_unlock(mm);
> : ret = mmap_read_lock_killable(mm);
> : if (ret) {
> : release_task_mempolicy(priv);
> : goto out_put_mm;
> : }
>
> Here the mmap_lock is again taken for read
>
> : ...
> :
> : }
> : /* Case 2 above */
> : vma = vma->vm_next;
> : }
> :
> : ...
> :
> : mmap_read_unlock(mm);
>
> and here it's unlocked. I don't see a possibility for double-unlock?
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-08-23 3:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-20 20:26 [linux-next:master] BUILD REGRESSION 605cbf3d5f20470ec303b79feda3202935f4a142 kernel test robot
2020-08-20 20:40 ` Andrew Morton
2020-08-20 21:03 ` Amir Goldstein
2020-08-20 20:43 ` Andrew Morton
2020-08-23 3:41 ` Philip Li
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).