Re: [PATCH] Define a UNIQUE value for AS_UNEVICTABLE flag

From: Avi Kivity
Date: Thu Apr 02 2009 - 15:14:32 EST


KOSAKI Motohiro wrote:
(cc to Avi)

[PATCH] Define UNIQUE value of AS_UNEVICTABLE

Needed in 2.6.28, 2.6.29, ...

A new "address_space flag"--AS_MM_ALL_LOCKS--was defined to use the next
available AS flag while the Unevictable LRU was under development. The
Unevictable LRU was using the same flag and "no one" noticed. Current
mainline, since 2.6.28, has same value for two symbolic flag names.
argh.

What are the user-observable effects of the bug, and why didn't anyone
notice it until now?

AS_MM_ALL_LOCKS is used by mmu_notifier. it mean it is used by only kvm.
In the other hand, AS_UNEVICTABLE mean unevictable shmem or ramfs.

Then, if shmem opend process use ioctl(KVM_CREATE_VM), unevictable
flag on the shmem accidentally turn off.
but, fortunatelly, In modern desktop environment, only KVM control
program use above ioctl. then, we can assume this doesn't use shmem
and ramfs.

Am I missing anything?

Qemu, the main kvm user, indeed doesn't use shm or ramfs. However it is not inconceivable that one day it will, as a way to share memory among guests.

It isn't surprising that no bug was observed, but let's fix it.

(If hugetlbfs is considered unevictable, then qemu can trigger this bug today)

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/