* [linux-next:master 14611/14806] mm/mmap.c:3272:11: error: 'struct mm_struct' has no member named 'mmap'
@ 2022-06-03 5:55 kernel test robot
2022-06-03 14:46 ` Liam Howlett
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2022-06-03 5:55 UTC (permalink / raw)
To: Liam R. Howlett; +Cc: kbuild-all, Linux Memory Management List, Andrew Morton
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 1cfd968b58a10b2b2489d8f64c956c846621ba46
commit: df9e44c56ef7d1df4a9f3160dda0cdd7d21eeb20 [14611/14806] mm: remove the vma linked list
config: um-i386_defconfig (https://download.01.org/0day-ci/archive/20220603/202206031316.nPElBQdM-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-1) 11.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=df9e44c56ef7d1df4a9f3160dda0cdd7d21eeb20
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout df9e44c56ef7d1df4a9f3160dda0cdd7d21eeb20
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Note: the linux-next/master HEAD 1cfd968b58a10b2b2489d8f64c956c846621ba46 builds fine.
It may have been fixed somewhere.
All errors (new ones prefixed by >>):
mm/mmap.c: In function 'exit_mmap':
>> mm/mmap.c:3272:11: error: 'struct mm_struct' has no member named 'mmap'
3272 | mm->mmap = NULL;
| ^~
vim +3272 mm/mmap.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 3205
^1da177e4c3f415 Linus Torvalds 2005-04-16 3206 /* Release all mmaps. */
^1da177e4c3f415 Linus Torvalds 2005-04-16 3207 void exit_mmap(struct mm_struct *mm)
^1da177e4c3f415 Linus Torvalds 2005-04-16 3208 {
d16dfc550f5326a Peter Zijlstra 2011-05-24 3209 struct mmu_gather tlb;
ba470de43188cdb Rik van Riel 2008-10-18 3210 struct vm_area_struct *vma;
^1da177e4c3f415 Linus Torvalds 2005-04-16 3211 unsigned long nr_accounted = 0;
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3212 MA_STATE(mas, &mm->mm_mt, 0, 0);
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3213 int count = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 3214
d6dd61c831226f9 Jeremy Fitzhardinge 2007-05-02 3215 /* mm's last user has gone, and its about to be pulled down */
cddb8a5c14aa898 Andrea Arcangeli 2008-07-28 3216 mmu_notifier_release(mm);
d6dd61c831226f9 Jeremy Fitzhardinge 2007-05-02 3217
27ae357fa82be5a David Rientjes 2018-05-11 3218 if (unlikely(mm_is_oom_victim(mm))) {
27ae357fa82be5a David Rientjes 2018-05-11 3219 /*
27ae357fa82be5a David Rientjes 2018-05-11 3220 * Manually reap the mm to free as much memory as possible.
27ae357fa82be5a David Rientjes 2018-05-11 3221 * Then, as the oom reaper does, set MMF_OOM_SKIP to disregard
c1e8d7c6a7a682e Michel Lespinasse 2020-06-08 3222 * this mm from further consideration. Taking mm->mmap_lock for
27ae357fa82be5a David Rientjes 2018-05-11 3223 * write after setting MMF_OOM_SKIP will guarantee that the oom
c1e8d7c6a7a682e Michel Lespinasse 2020-06-08 3224 * reaper will not run on this mm again after mmap_lock is
27ae357fa82be5a David Rientjes 2018-05-11 3225 * dropped.
27ae357fa82be5a David Rientjes 2018-05-11 3226 *
c1e8d7c6a7a682e Michel Lespinasse 2020-06-08 3227 * Nothing can be holding mm->mmap_lock here and the above call
27ae357fa82be5a David Rientjes 2018-05-11 3228 * to mmu_notifier_release(mm) ensures mmu notifier callbacks in
27ae357fa82be5a David Rientjes 2018-05-11 3229 * __oom_reap_task_mm() will not block.
27ae357fa82be5a David Rientjes 2018-05-11 3230 */
93065ac753e4443 Michal Hocko 2018-08-21 3231 (void)__oom_reap_task_mm(mm);
27ae357fa82be5a David Rientjes 2018-05-11 3232 set_bit(MMF_OOM_SKIP, &mm->flags);
27ae357fa82be5a David Rientjes 2018-05-11 3233 }
27ae357fa82be5a David Rientjes 2018-05-11 3234
64591e8605d6e2f Suren Baghdasaryan 2022-01-14 3235 mmap_write_lock(mm);
9480c53e9b2aa13 Jeremy Fitzhardinge 2009-02-11 3236 arch_exit_mmap(mm);
9480c53e9b2aa13 Jeremy Fitzhardinge 2009-02-11 3237
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3238 vma = mas_find(&mas, ULONG_MAX);
64591e8605d6e2f Suren Baghdasaryan 2022-01-14 3239 if (!vma) {
64591e8605d6e2f Suren Baghdasaryan 2022-01-14 3240 /* Can happen if dup_mmap() received an OOM */
64591e8605d6e2f Suren Baghdasaryan 2022-01-14 3241 mmap_write_unlock(mm);
9480c53e9b2aa13 Jeremy Fitzhardinge 2009-02-11 3242 return;
64591e8605d6e2f Suren Baghdasaryan 2022-01-14 3243 }
9480c53e9b2aa13 Jeremy Fitzhardinge 2009-02-11 3244
^1da177e4c3f415 Linus Torvalds 2005-04-16 3245 lru_add_drain();
^1da177e4c3f415 Linus Torvalds 2005-04-16 3246 flush_cache_mm(mm);
d8b450530b90f88 Will Deacon 2021-01-27 3247 tlb_gather_mmu_fullmm(&tlb, mm);
901608d9045146a Oleg Nesterov 2009-01-06 3248 /* update_hiwater_rss(mm) here? but nobody should be looking */
e0da382c92626ad Hugh Dickins 2005-04-19 3249 /* Use -1 here to ensure all VMAs in the mm are unmapped */
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3250 unmap_vmas(&tlb, &mm->mm_mt, vma, 0, ULONG_MAX);
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3251 free_pgtables(&tlb, &mm->mm_mt, vma, FIRST_USER_ADDRESS,
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3252 USER_PGTABLES_CEILING);
ae8eba8b5d723a4 Will Deacon 2021-01-27 3253 tlb_finish_mmu(&tlb);
^1da177e4c3f415 Linus Torvalds 2005-04-16 3254
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3255 /*
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3256 * Walk the list again, actually closing and freeing it, with preemption
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3257 * enabled, without holding any MM locks besides the unreachable
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3258 * mmap_write_lock.
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3259 */
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3260 do {
4f74d2c8e827af1 Linus Torvalds 2012-05-06 3261 if (vma->vm_flags & VM_ACCOUNT)
4f74d2c8e827af1 Linus Torvalds 2012-05-06 3262 nr_accounted += vma_pages(vma);
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3263 remove_vma(vma);
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3264 count++;
0a3b3c253a1eb2c Paul E. McKenney 2020-04-16 3265 cond_resched();
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3266 } while ((vma = mas_find(&mas, ULONG_MAX)) != NULL);
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3267
df9e44c56ef7d1d Liam R. Howlett 2022-06-02 3268 BUG_ON(count != mm->map_count);
5a32db2a9fbeba1 Liam R. Howlett 2022-06-02 3269
5a32db2a9fbeba1 Liam R. Howlett 2022-06-02 3270 trace_exit_mmap(mm);
5a32db2a9fbeba1 Liam R. Howlett 2022-06-02 3271 __mt_destroy(&mm->mm_mt);
f798a1d4f94de95 Suren Baghdasaryan 2022-02-25 @3272 mm->mmap = NULL;
64591e8605d6e2f Suren Baghdasaryan 2022-01-14 3273 mmap_write_unlock(mm);
4f74d2c8e827af1 Linus Torvalds 2012-05-06 3274 vm_unacct_memory(nr_accounted);
^1da177e4c3f415 Linus Torvalds 2005-04-16 3275 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 3276
:::::: The code at line 3272 was first introduced by commit
:::::: f798a1d4f94de9510e060d37b9b47721065a957c mm: fix use-after-free bug when mm->mmap is reused after being freed
:::::: TO: Suren Baghdasaryan <surenb@google.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [linux-next:master 14611/14806] mm/mmap.c:3272:11: error: 'struct mm_struct' has no member named 'mmap'
2022-06-03 5:55 [linux-next:master 14611/14806] mm/mmap.c:3272:11: error: 'struct mm_struct' has no member named 'mmap' kernel test robot
@ 2022-06-03 14:46 ` Liam Howlett
0 siblings, 0 replies; 2+ messages in thread
From: Liam Howlett @ 2022-06-03 14:46 UTC (permalink / raw)
To: kernel test robot; +Cc: kbuild-all, Linux Memory Management List, Andrew Morton
* kernel test robot <lkp@intel.com> [220603 01:56]:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: 1cfd968b58a10b2b2489d8f64c956c846621ba46
> commit: df9e44c56ef7d1df4a9f3160dda0cdd7d21eeb20 [14611/14806] mm: remove the vma linked list
> config: um-i386_defconfig (https://download.01.org/0day-ci/archive/20220603/202206031316.nPElBQdM-lkp@intel.com/config)
> compiler: gcc-11 (Debian 11.3.0-1) 11.3.0
> reproduce (this is a W=1 build):
> # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=df9e44c56ef7d1df4a9f3160dda0cdd7d21eeb20
> git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> git fetch --no-tags linux-next master
> git checkout df9e44c56ef7d1df4a9f3160dda0cdd7d21eeb20
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@intel.com>
>
> Note: the linux-next/master HEAD 1cfd968b58a10b2b2489d8f64c956c846621ba46 builds fine.
> It may have been fixed somewhere.
>
> All errors (new ones prefixed by >>):
>
> mm/mmap.c: In function 'exit_mmap':
> >> mm/mmap.c:3272:11: error: 'struct mm_struct' has no member named 'mmap'
> 3272 | mm->mmap = NULL;
> | ^~
Andrew,
I think this was missed in the patch fix up we emailed about. You added
a fix to drop this line in "mm-drop-oom-code-from-exit_mmap-fix" but
that fix should be for "mm: remove the vma linked list". This was a
merge conflict since this line was added between my v9 and the
re-addition of the maple tree.
Thanks,
Liam
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-06-03 14:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-03 5:55 [linux-next:master 14611/14806] mm/mmap.c:3272:11: error: 'struct mm_struct' has no member named 'mmap' kernel test robot
2022-06-03 14:46 ` Liam Howlett
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).