Prev: [PATCH] Fix a typo in drivers/acpi/battery.c
Next: [PATCH 1/3] Constify struct acpi_dock_ops for 2.6.32-git-053fe57ac v2
From: KOSAKI Motohiro on 13 Dec 2009 18:40 > Commit-ID: b925585039cf39275c2e0e57512e5df27fa73aad > Gitweb: http://git.kernel.org/tip/b925585039cf39275c2e0e57512e5df27fa73aad > Author: H. Peter Anvin <hpa(a)zytor.com> > AuthorDate: Tue, 8 Dec 2009 14:01:32 -0800 > Committer: H. Peter Anvin <hpa(a)zytor.com> > CommitDate: Fri, 11 Dec 2009 15:27:47 -0800 > > mm: Adjust do_pages_stat() so gcc can see copy_from_user() is safe > > Slightly adjust the logic for determining the size of the > copy_form_user() in do_pages_stat(); with this change, gcc can see > that the copying is safe. > > Without this, we get a build error for i386 allyesconfig: > > /home/hpa/kernel/linux-2.6-tip.urgent/arch/x86/include/asm/uaccess_32.h:213: > error: call to 'copy_from_user_overflow' declared with attribute > error: copy_from_user() buffer size is not provably correct > > Unlike an earlier patch from Arjan, this doesn't introduce new > variables; merely reshuffles the compare so that gcc can see that an > overflow cannot happen. > > Signed-off-by: H. Peter Anvin <hpa(a)zytor.com> > Cc: Brice Goglin <Brice.Goglin(a)inria.fr> > Cc: Arjan van de Ven <arjan(a)infradead.org> > Cc: Andrew Morton <akpm(a)linux-foundation.org> > Cc: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> > LKML-Reference: <20090926205406.30d55b08(a)infradead.org> > --- > mm/migrate.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index 7dbcb22..0bc640f 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -1044,7 +1044,7 @@ static int do_pages_stat(struct mm_struct *mm, unsigned long nr_pages, > int err; > > for (i = 0; i < nr_pages; i += chunk_nr) { > - if (chunk_nr + i > nr_pages) > + if (chunk_nr > nr_pages - i) > chunk_nr = nr_pages - i; Ah, good. Thank you. Reviewed-by: KOSAKI Motohiro <kosaki.motohiro(a)jp.fujitsu.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |