diff --git a/fs/proc/page.c b/fs/proc/page.c index 2d13451..6022f1e 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -79,8 +79,11 @@ static const struct file_operations proc_kpagecount_operations = { #define KPF_WRITEBACK 8 #define KPF_RECLAIM 9 #define KPF_BUDDY 10 +#define KPF_RESERVED 11 +#define KPF_SWAPCACHE 12 +#define KPF_SWAPBACKED 13 -#define kpf_copy_bit(flags, srcpos, dstpos) (((flags >> srcpos) & 1) << dstpos) +#define kpf_copy_bit(flags, dstpos, srcpos) (((flags >> srcpos) & 1) << dstpos) static ssize_t kpageflags_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) @@ -117,7 +120,10 @@ static ssize_t kpageflags_read(struct file *file, char __user *buf, kpf_copy_bit(kflags, KPF_SLAB, PG_slab) | kpf_copy_bit(kflags, KPF_WRITEBACK, PG_writeback) | kpf_copy_bit(kflags, KPF_RECLAIM, PG_reclaim) | - kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy); + kpf_copy_bit(kflags, KPF_BUDDY, PG_buddy) | + kpf_copy_bit(kflags, KPF_SWAPCACHE, PG_swapcache) | + kpf_copy_bit(kflags, KPF_SWAPBACKED, PG_swapbacked) | + kpf_copy_bit(kflags, KPF_RESERVED, PG_reserved); if (put_user(uflags, out++)) { ret = -EFAULT;