Powered by Linux
Re: Assertion error in avl.c:87 when compiling/testing Linux kernel — Semantic Matching Tool

Re: Assertion error in avl.c:87 when compiling/testing Linux kernel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Sep 28, 2014 at 07:31:08PM +0200, Silvan Jegen wrote:
> Hi
> 
> When building/checking the Linux kernel (on next-20140926) with smatch
> (at tip) I get the following error.
> 
> smatch: avl.c:87: free_stree: Assertion `(*avl)->references > 0' failed.
> Aborted (core dumped)
> 
> when running either of the following commands:

Sorry about that.  There was some memory corruption for a long time but
recent changes made it more exposed.  It should be fixed now in the
latest git.  It should also fix some random subtle bugs that have been
around for a long time.

The latest changes from last week are very fun btw.

Assume you have a function like:

int frob(int x, int y)
{
	;;;;;;;;;;;;;
	return x + y;
}

(The row of semi-colons is so that the function isn't parsed inline.
Parsing it inline works, but that's easy/cheating).

Right now the current code can parse that but only if both x and y are
known integers.

I need to add some code so it can handle it if x or y is a range_list.

Also I want it to parse, code like:

int frob(struct skb_buff *skb, int x)
{
	;;;;;;;;;;;;;;;;;;;
	return skb->len + y;
}

Currently it only stores things like "s32min-s32max[$0 + $1]" but it
needs to be able to store "s32min-s32max[$0->len + $1]".

regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe smatch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux