linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [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).