Hi On Mon, Sep 29, 2014 at 11:37:38AM +0300, Dan Carpenter wrote: > 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. I can confirm that it is fixed on tip. Thanks! > 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]". That means I will just go and rerun smatch on the kernel then! :) Cheers, Silvan -- 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