linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch] x86/ldt: silence a static checker warning
@ 2016-06-13  6:57 Dan Carpenter
  2016-06-13 21:14 ` Andy Lutomirski
  0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2016-06-13  6:57 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Ingo Molnar, H. Peter Anvin, x86, Andy Lutomirski, Dave Hansen,
	Jan Beulich, linux-kernel, kernel-janitors

It likely doesn't make a difference but my static checker complains
that we put an upper bound on "size" but not a lower bound.  Let's just
make it unsigned.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
index 6707039b..e25b668 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -34,7 +34,7 @@ static void flush_ldt(void *current_mm)
 }
 
 /* The caller must call finalize_ldt_struct on the result. LDT starts zeroed. */
-static struct ldt_struct *alloc_ldt_struct(int size)
+static struct ldt_struct *alloc_ldt_struct(unsigned int size)
 {
 	struct ldt_struct *new_ldt;
 	int alloc_size;

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [patch] x86/ldt: silence a static checker warning
  2016-06-13  6:57 [patch] x86/ldt: silence a static checker warning Dan Carpenter
@ 2016-06-13 21:14 ` Andy Lutomirski
  2016-06-14 10:44   ` Dan Carpenter
  0 siblings, 1 reply; 3+ messages in thread
From: Andy Lutomirski @ 2016-06-13 21:14 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, X86 ML,
	Andy Lutomirski, Dave Hansen, Jan Beulich, linux-kernel,
	kernel-janitors

On Sun, Jun 12, 2016 at 11:57 PM, Dan Carpenter
<dan.carpenter@oracle.com> wrote:
> It likely doesn't make a difference but my static checker complains
> that we put an upper bound on "size" but not a lower bound.  Let's just
> make it unsigned.

Shouldn't oldsize and newsize in write_ldt as well as the "size"
member in ldt_struct change, too?

--Andy

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [patch] x86/ldt: silence a static checker warning
  2016-06-13 21:14 ` Andy Lutomirski
@ 2016-06-14 10:44   ` Dan Carpenter
  0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2016-06-14 10:44 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, X86 ML,
	Andy Lutomirski, Dave Hansen, Jan Beulich, linux-kernel,
	kernel-janitors

On Mon, Jun 13, 2016 at 02:14:39PM -0700, Andy Lutomirski wrote:
> On Sun, Jun 12, 2016 at 11:57 PM, Dan Carpenter
> <dan.carpenter@oracle.com> wrote:
> > It likely doesn't make a difference but my static checker complains
> > that we put an upper bound on "size" but not a lower bound.  Let's just
> > make it unsigned.
> 
> Shouldn't oldsize and newsize in write_ldt as well as the "size"
> member in ldt_struct change, too?
> 

Part of the joy of this check is that it complains about every time we
cap the upper bound and not the lower bound so it's very thourough, but
it also requires very minimal changes to silence the false positives.

We know newsize can't be negative.  If we change this one variable
then we know oldsize and ldt_struct size can't be negative either.

The problem really is that I haven't figured out out to deal with
recursion...

	new_ldt = alloc_ldt_struct(old_mm->context.ldt->size);

On the first run through, we don't know the value of ->size here so we
have to assume it can be anything.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-06-14 10:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-13  6:57 [patch] x86/ldt: silence a static checker warning Dan Carpenter
2016-06-13 21:14 ` Andy Lutomirski
2016-06-14 10:44   ` Dan Carpenter

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).