- Update to version 1.73+20230517:
* checking_for_null_instead_of_err_ptr: use smatch_kernel_err_ptr.c
* kernel_err_ptr: hack around for_each_gpio_desc_with_flag()
* scripts/generisize.pl: generisize function names
* kernel.unreachable.turn_off: add some kunit stuff
* preempt_info: add __bit_spin_unlock()
* check_list/err_ptr: register the err_ptr code
* debug/units: hook in the __smatch_units() code
* validation/sm_err_ptr: make IS_ERR() an inline function
* dereference: find more cross function dereferences
* err_ptr_deref: re-write the check
* kernel_err_ptr: track error pointers in the database
* kernel.no_return_funcs: update to the latest linux-next functions
* kernel.no_return_funcs: add kunit_do_failed_assertion()
* comparison: store modified comparisons
* units: move checks to check_ file and hide under the --spammy option
* and much more
OBS-URL: https://build.opensuse.org/request/show/1093222
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/smatch?expand=0&rev=11
- Update to version 1.72+20220506:
* logical_instead_of_bitwise: add some more warnings
* uninitialized: fix checking for fake calls and don't save global states
* assigned_expr: don't modify the expression until later
* rosenberg,assigned_expr: don't store pointless global data
* uninitialized: fix false positive "passing uninitialized" warnings
* data/kernel.ignore_uninitialized_param: add more functions
* free: don't warn about %p printing of freed pointers
* free: do not warn when freed pointers are part of a condition
* function_hooks: export is_condition_call()
* comparison: fix copying comparisons
- switch to obs_scm
- switch versioning to include version number
- add
* Makefile-allow-CFLAGS-to-be-redefined.patch (fix build)
* Makefile-use-CFLAGS-when-linking.patch (improve build)
* check_free-declare-is_percent_p_print-before-use.patch (fix warnings)
OBS-URL: https://build.opensuse.org/request/show/975989
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/smatch?expand=0&rev=10
- Update to version 20200608+git.e92d9e00:
* db: Fix buffer overflow in state_name_to_param_name()
* atomic_inc_dec: remove an unused parameter
* atomic_inc_dec: don't warn about impossible paths
* atomic_inc_dec: ignore local static variables
* atomic_inc_dec: unknown values are not failures
* atomic_inc_dec: don't record increment/decrement if they are reset
* atomic_inc_dec: record potential decrements as a decrement
* atomic_inc_dec: don't store information in impossible paths
* atomic_inc_dec: add more functions
* atomic_inc_dec: don't double set states to &inc/&dec
* and much more...
OBS-URL: https://build.opensuse.org/request/show/812809
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/smatch?expand=0&rev=9
- Update to version 20191028:
* rosenberg: initialization and struct assignments don't fill holes
* rosenberg: add snd_timer_append_to_tqueue() and __send_signal()
* rosenberg: add skb_put() to the list of copy functions
* extra: it's not a dereference if we're just getting the address
* helper: improve getting_address()
* parse_call_math: don't return constant allocation sizes
* extra: limit get_other_name_sym_helper() some more
* hooks: add EXPR_HOOK_AFTER
* Makefile: rebuild smatch_*.o files when smatch.h changes
* Makefile: build quietly again
* Makefile: organize the smatch_*.o objects better
* Makefile: allow CC to be a shell variable
* function_ptr: save pointers to pointers
* function_ptrs: save function return assignments
* ranges: silence Smatch warning (uninitialized variable)
* db: fix an off by one bug
* check_deref/deref_check: warn about likely/unlikely() conditions as well
* readl_infinite_loops: silence a GCC warning by adding a cast
* integer_overflow: fix uninitialized variable bug
* ranges: add casts to silence compile warnings
* and many more...
OBS-URL: https://build.opensuse.org/request/show/745111
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/smatch?expand=0&rev=7
- Update to version 20181114:
* trinity: Proof of concept to auto-generate trinity spec files
* user_data: rename to smatch_kernel_user_data.c
* assigned_expr: rename to smatch_assigned_expr.c
* smatch: make the --enable/disable options take strings
* clock() is already defined on illumos, so rename the local function.
* Ignore "#ident" as found in some old sources.
* Use $(CFLAGS) when compiling smatch.c itself.
* smatch_nul_terminated: fix compile
* untracked_param: fix a NULL dereference
* uninitialized: fix a crashing bug parsing "return (foo);"
* nul_terminator: track when strings have a NUL terminator
* and many more small fixes and updates
OBS-URL: https://build.opensuse.org/request/show/673295
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/smatch?expand=0&rev=6
- Update to version 20181114:
* trinity: Proof of concept to auto-generate trinity spec files
* user_data: rename to smatch_kernel_user_data.c
* assigned_expr: rename to smatch_assigned_expr.c
* smatch: make the --enable/disable options take strings
* clock() is already defined on illumos, so rename the local function.
* Ignore "#ident" as found in some old sources.
* Use $(CFLAGS) when compiling smatch.c itself.
* smatch_nul_terminated: fix compile
* untracked_param: fix a NULL dereference
* uninitialized: fix a crashing bug parsing "return (foo);"
* nul_terminator: track when strings have a NUL terminator
* user_data2: fix a type issue in caller_info
* user_data: integers can't be dereferenced
* comparison: make a buffer larger to make GCC happy
* data_source: track assignments better
* extra: prevent a divide by zero
* modification_hooks: use the DB for frob(&foo);
* sval: introduce sval_binop_overflows_no_sign()
* extra: undo bogus unop changes
* array_values: fix up and support two dimensional local arrays
* param_set: don't record a param_set for p++ changes
* function_hooks: re-hack around moving the fake parameter assignment
* array_values: store array values of struct member arrays
* function_hooks: hack around fallout from moving the assignment to the end
* comparison: don't return invalid params in get_mask_comparison()
* db: don't print "failed to open" warnings...
* param_set: remove some dead code
* mtag: temporarily disable generating mtag for kmalloc()
* expressions: don't crash on invalid code
OBS-URL: https://build.opensuse.org/request/show/651120
OBS-URL: https://build.opensuse.org/package/show/devel:tools:statica/smatch?expand=0&rev=13