On Sun, Feb 24, 2013 at 10:37:21PM +0800, Zhang Yanfei wrote: > From: Zhang Yanfei <zhangyanfei at cn.fujitsu.com> > > This is just a tweak: using min_t to simplify logic of variable > assignments. > > v2: > - Rewrite patch description as Simon suggested. > - Fix an inappropriate if test introduced by v1. Thanks Simon. Hi Zhang, thanks for the update. Signed-off-by: Simon Horman <horms at verge.net.au> > Cc: "Eric W. Biederman" <ebiederm at xmission.com> > Cc: Andrew Morton <akpm at linux-foundation.org> > Cc: Simon Horman <horms at verge.net.au> > Signed-off-by: Zhang Yanfei <zhangyanfei at cn.fujitsu.com> > --- > kernel/kexec.c | 22 ++++++---------------- > 1 files changed, 6 insertions(+), 16 deletions(-) > > diff --git a/kernel/kexec.c b/kernel/kexec.c > index 2436ffc..effd655 100644 > --- a/kernel/kexec.c > +++ b/kernel/kexec.c > @@ -822,13 +822,8 @@ static int kimage_load_normal_segment(struct kimage *image, > /* Start with a clear page */ > clear_page(ptr); > ptr += maddr & ~PAGE_MASK; > - mchunk = PAGE_SIZE - (maddr & ~PAGE_MASK); > - if (mchunk > mbytes) > - mchunk = mbytes; > - > - uchunk = mchunk; > - if (uchunk > ubytes) > - uchunk = ubytes; > + mchunk = min_t(size_t, mbytes, PAGE_SIZE - (maddr & ~PAGE_MASK)); > + uchunk = min_t(size_t, ubytes, mchunk); > > result = copy_from_user(ptr, buf, uchunk); > kunmap(page); > @@ -874,13 +869,9 @@ static int kimage_load_crash_segment(struct kimage *image, > } > ptr = kmap(page); > ptr += maddr & ~PAGE_MASK; > - mchunk = PAGE_SIZE - (maddr & ~PAGE_MASK); > - if (mchunk > mbytes) > - mchunk = mbytes; > - > - uchunk = mchunk; > - if (uchunk > ubytes) { > - uchunk = ubytes; > + mchunk = min_t(size_t, mbytes, PAGE_SIZE - (maddr & ~PAGE_MASK)); > + uchunk = min_t(size_t, ubytes, mchunk); > + if (mchunk > uchunk) { > /* Zero the trailing part of the page */ > memset(ptr + uchunk, 0, mchunk - uchunk); > } > @@ -1461,8 +1452,7 @@ void vmcoreinfo_append_str(const char *fmt, ...) > r = vsnprintf(buf, sizeof(buf), fmt, args); > va_end(args); > > - if (r + vmcoreinfo_size > vmcoreinfo_max_size) > - r = vmcoreinfo_max_size - vmcoreinfo_size; > + r = min_t(size_t, r, vmcoreinfo_max_size - vmcoreinfo_size); > > memcpy(&vmcoreinfo_data[vmcoreinfo_size], buf, r); > > -- > 1.7.1 > > _______________________________________________ > kexec mailing list > kexec at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/kexec >