Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: smatch | Distribution: openSUSE Tumbleweed |
Version: 1.73+20240222 | Vendor: openSUSE |
Release: 1.4 | Build date: Thu Feb 22 08:20:02 2024 |
Group: Development/Tools/Building | Build host: reproducible |
Size: 8686068 | Source RPM: smatch-1.73+20240222-1.4.src.rpm |
Packager: http://bugs.opensuse.org | |
Url: http://smatch.sf.net | |
Summary: Static analysis tool for C |
Smatch is a static analysis tool for C. Most of the checks are for the linux kernel. Please write checks for your project. It's fun and easy!
GPL-2.0-only
* Thu Feb 22 2024 jslaby@suse.cz - Update to version 1.73+20240222: * db/kernel.return_fixes: add cred scoped guard annotations * mtag: fix a bug on 32 bit systems * kernel_irq_context: add (struct irqaction)->handler as an ignored function * kernel_irq_context: mark the IRQ handler in the function * points_to_user_data: Add __wbuf() as setting a user buffer * double_checking: ignore known/constant conditions * err_ptr_deref: silence impossible checks * function_hooks: add missing return states * refcount_info: add xe_device_mem_access_get/put() * kernel.unconstant_macros: add __GFP_SKIP_ZERO * sleep_info: add mas_alloc_cyclic() as a weird function * points_to_container: white space change * db/kernel.delete.return_states: lets say that bio_alloc_bioset() can't fail * db/kernel.return_fixes: fix up copy_from_user() on 32bit systems * db/kernel.return_fixes: add __kthread_create_on_node() and of_graph_get_endpoint_count() * db/kernel.return_fixes: delete __hci_cmd_sync_sk() * db/kernel.return_fixes: add more guard lock annotations * flow: set prev_stream * irq_context: ignore (struct flexcop_device)->read_ibi_reg * data/kernel.unconstant_macros: add VM_USWAP and some others * and much more * Thu Jun 15 2023 jslaby@suse.cz - 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 * Mon May 09 2022 jslaby@suse.cz - 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) * Tue Jun 09 2020 jslaby@suse.com - 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... * Thu Jan 30 2020 jslaby@suse.com - Update to version 20200127+git.2f013029: * fresh_alloc: mark used data as unfresh * fresh_alloc: export is_fresh_alloc() and is_fresh_alloc_var_sym() * fresh_alloc: NULL pointers are not fresh * mtag: export str_to_mtag() * type: improve debug output for NULL types * slist: fix __print_stree() debug output * predefine "i386" if needed * correct sparcv9 defines * pre-define __unix__ and friends * add necessary defined for sunos-derived systems * define __PRAGMA_REDEFINE_EXTNAME * and much more... * Mon Nov 04 2019 jslaby@suse.com - 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... * Thu Nov 22 2018 Martin Pluskal <mpluskal@suse.com> - 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 * Fri Mar 23 2018 dsterba@suse.cz - Update to version 20180125 * Wed Aug 10 2016 jslaby@suse.com - Update to version 20160715: * capped: set it to uncapped if it's modified * smatch.h: silence a compile warning * smatch.h: shuffle some declarations around * smatch.h: reserve some db types for later * *new* continue_vs_break: complain if continue is used in a do {} while (0) * smatch_address: don't crash on invalid code * continue_vs_break: add it checklist.h * dma_mapping_error: add pci_dma_mapping_error() to this check * user_data: short circuit a bunch of code * debug: add a __smatch_absolute() * Wed Mar 09 2016 jslaby@suse.com - update to 20160307
/usr/bin/smatch /usr/share/doc/packages/smatch /usr/share/doc/packages/smatch/smatch.txt /usr/share/licenses/smatch /usr/share/licenses/smatch/LICENSE /usr/share/smatch /usr/share/smatch/smatch_data /usr/share/smatch/smatch_data/db /usr/share/smatch/smatch_data/db/apply_return_fixes.sh /usr/share/smatch/smatch_data/db/build_early_index.sh /usr/share/smatch/smatch_data/db/build_late_index.sh /usr/share/smatch/smatch_data/db/call_implies.schema /usr/share/smatch/smatch_data/db/caller_info.schema /usr/share/smatch/smatch_data/db/clear_user_data.sh /usr/share/smatch/smatch_data/db/common_caller_info.schema /usr/share/smatch/smatch_data/db/constraints.schema /usr/share/smatch/smatch_data/db/constraints_required.schema /usr/share/smatch/smatch_data/db/copy_function_pointers.pl /usr/share/smatch/smatch_data/db/copy_required_constraints.pl /usr/share/smatch/smatch_data/db/create_db.sh /usr/share/smatch/smatch_data/db/data_info.schema /usr/share/smatch/smatch_data/db/db.schema /usr/share/smatch/smatch_data/db/delete_too_common_fn_ptr.sh /usr/share/smatch/smatch_data/db/fill_db_caller_info.pl /usr/share/smatch/smatch_data/db/fill_db_sql.pl /usr/share/smatch/smatch_data/db/fill_db_type_size.pl /usr/share/smatch/smatch_data/db/fill_db_type_value.pl /usr/share/smatch/smatch_data/db/fixup_all.sh /usr/share/smatch/smatch_data/db/fixup_kernel.sh /usr/share/smatch/smatch_data/db/fn_data_link.schema /usr/share/smatch/smatch_data/db/fn_ptr_data_link.schema /usr/share/smatch/smatch_data/db/function_ptr.schema /usr/share/smatch/smatch_data/db/function_type.schema /usr/share/smatch/smatch_data/db/function_type_info.schema /usr/share/smatch/smatch_data/db/function_type_size.schema /usr/share/smatch/smatch_data/db/function_type_value.schema /usr/share/smatch/smatch_data/db/hash_string.schema /usr/share/smatch/smatch_data/db/init_constraints.pl /usr/share/smatch/smatch_data/db/init_constraints_required.pl /usr/share/smatch/smatch_data/db/insert_manual_states.pl /usr/share/smatch/smatch_data/db/kernel.constraints /usr/share/smatch/smatch_data/db/kernel.constraints_required /usr/share/smatch/smatch_data/db/kernel.delete.return_states /usr/share/smatch/smatch_data/db/kernel.forced_return_splits /usr/share/smatch/smatch_data/db/kernel.insert.return_states /usr/share/smatch/smatch_data/db/kernel.return_fixes /usr/share/smatch/smatch_data/db/local_values.schema /usr/share/smatch/smatch_data/db/mark_function_ptrs_searchable.pl /usr/share/smatch/smatch_data/db/mtag_about.schema /usr/share/smatch/smatch_data/db/mtag_alias.schema /usr/share/smatch/smatch_data/db/mtag_data.schema /usr/share/smatch/smatch_data/db/mtag_info.schema /usr/share/smatch/smatch_data/db/mtag_map.schema /usr/share/smatch/smatch_data/db/param_map.schema /usr/share/smatch/smatch_data/db/parameter_name.schema /usr/share/smatch/smatch_data/db/reload_partial.sh /usr/share/smatch/smatch_data/db/remove_mixed_up_pointer_params.pl /usr/share/smatch/smatch_data/db/return_implies.schema /usr/share/smatch/smatch_data/db/return_states.schema /usr/share/smatch/smatch_data/db/sink_info.schema /usr/share/smatch/smatch_data/db/smdb.py /usr/share/smatch/smatch_data/db/type_info.schema /usr/share/smatch/smatch_data/db/type_size.schema /usr/share/smatch/smatch_data/db/type_value.schema /usr/share/smatch/smatch_data/db/vim_smdb /usr/share/smatch/smatch_data/kernel.allocation_funcs /usr/share/smatch/smatch_data/kernel.allocation_funcs_gfp /usr/share/smatch/smatch_data/kernel.allocation_funcs_gfp.remove /usr/share/smatch/smatch_data/kernel.bit_shifters /usr/share/smatch/smatch_data/kernel.bit_shifters.remove /usr/share/smatch/smatch_data/kernel.check_string_condition.ignore /usr/share/smatch/smatch_data/kernel.clears_argument /usr/share/smatch/smatch_data/kernel.common_functions /usr/share/smatch/smatch_data/kernel.dev_queue_xmit /usr/share/smatch/smatch_data/kernel.dma_funcs /usr/share/smatch/smatch_data/kernel.expects_err_ptr /usr/share/smatch/smatch_data/kernel.frees_argument /usr/share/smatch/smatch_data/kernel.frees_argument.remove /usr/share/smatch/smatch_data/kernel.gfp_flags /usr/share/smatch/smatch_data/kernel.ignore_casted_params /usr/share/smatch/smatch_data/kernel.ignore_macro_indenting /usr/share/smatch/smatch_data/kernel.ignore_memcpy_struct_overflows /usr/share/smatch/smatch_data/kernel.ignore_no_effect /usr/share/smatch/smatch_data/kernel.ignore_side_effects /usr/share/smatch/smatch_data/kernel.ignore_uninitialized_param /usr/share/smatch/smatch_data/kernel.ignored_macros /usr/share/smatch/smatch_data/kernel.ignored_warnings /usr/share/smatch/smatch_data/kernel.implicit_dependencies.no_structs /usr/share/smatch/smatch_data/kernel.implicit_dependencies.v1 /usr/share/smatch/smatch_data/kernel.ioctls /usr/share/smatch/smatch_data/kernel.macro_takes_sizeof_argument /usr/share/smatch/smatch_data/kernel.must_check_funcs /usr/share/smatch/smatch_data/kernel.no_inline_functions /usr/share/smatch/smatch_data/kernel.no_return_funcs /usr/share/smatch/smatch_data/kernel.no_return_funcs.add /usr/share/smatch/smatch_data/kernel.no_return_funcs.remove /usr/share/smatch/smatch_data/kernel.parameter_implications.add /usr/share/smatch/smatch_data/kernel.puts_argument /usr/share/smatch/smatch_data/kernel.returns_err_ptr /usr/share/smatch/smatch_data/kernel.returns_err_ptr.remove /usr/share/smatch/smatch_data/kernel.rosenberg_funcs /usr/share/smatch/smatch_data/kernel.silenced_functions /usr/share/smatch/smatch_data/kernel.sizeof_param /usr/share/smatch/smatch_data/kernel.sizeof_param.remove /usr/share/smatch/smatch_data/kernel.skipped_macros /usr/share/smatch/smatch_data/kernel.unconstant_macros /usr/share/smatch/smatch_data/kernel.unreachable.ignore /usr/share/smatch/smatch_data/kernel.unreachable.turn_off /usr/share/smatch/smatch_data/kernel.unwind_functions /usr/share/smatch/smatch_data/no_return_funcs /usr/share/smatch/smatch_data/no_return_funcs.remove /usr/share/smatch/smatch_data/smatch.common_functions /usr/share/smatch/smatch_data/smatch_generic.common_functions /usr/share/smatch/smatch_data/wine.bit_shifters /usr/share/smatch/smatch_data/wine.ignored_macros /usr/share/smatch/smatch_data/wine.no_return_funcs /usr/share/smatch/smatch_data/wine.no_return_funcs.add /usr/share/smatch/smatch_data/wine.no_return_funcs.remove /usr/share/smatch/smatch_data/wine.sizeof_param /usr/share/smatch/smatch_scripts /usr/share/smatch/smatch_scripts/add_gfp_to_allocations.sh /usr/share/smatch/smatch_scripts/build_generic_data.sh /usr/share/smatch/smatch_scripts/build_kernel_data.sh /usr/share/smatch/smatch_scripts/call_tree.pl /usr/share/smatch/smatch_scripts/filter_kernel_deref_check.sh /usr/share/smatch/smatch_scripts/find_expanded_holes.pl /usr/share/smatch/smatch_scripts/find_null_params.sh /usr/share/smatch/smatch_scripts/follow_params.pl /usr/share/smatch/smatch_scripts/gen_allocation_list.sh /usr/share/smatch/smatch_scripts/gen_bit_shifters.sh /usr/share/smatch/smatch_scripts/gen_dma_funcs.sh /usr/share/smatch/smatch_scripts/gen_err_ptr_list.sh /usr/share/smatch/smatch_scripts/gen_expects_err_ptr.sh /usr/share/smatch/smatch_scripts/gen_frees_list.sh /usr/share/smatch/smatch_scripts/gen_gfp_flags.sh /usr/share/smatch/smatch_scripts/gen_implicit_dependencies.sh /usr/share/smatch/smatch_scripts/gen_no_return_funcs.sh /usr/share/smatch/smatch_scripts/gen_puts_list.sh /usr/share/smatch/smatch_scripts/gen_rosenberg_funcs.sh /usr/share/smatch/smatch_scripts/gen_sizeof_param.sh /usr/share/smatch/smatch_scripts/gen_unwind_functions.sh /usr/share/smatch/smatch_scripts/generisize.pl /usr/share/smatch/smatch_scripts/implicit_dependencies /usr/share/smatch/smatch_scripts/implicit_dependencies/README /usr/share/smatch/smatch_scripts/implicit_dependencies/constants.py /usr/share/smatch/smatch_scripts/implicit_dependencies/main.py /usr/share/smatch/smatch_scripts/implicit_dependencies/parser.py /usr/share/smatch/smatch_scripts/implicit_dependencies/with_structs /usr/share/smatch/smatch_scripts/implicit_dependencies/with_structs/implicit_dependencies /usr/share/smatch/smatch_scripts/implicit_dependencies/with_structs/implicit_dependencies.json /usr/share/smatch/smatch_scripts/implicit_dependencies/with_structs/implicit_dependencies.pretty /usr/share/smatch/smatch_scripts/implicit_dependencies/with_structs/implicit_dependencies_verbose /usr/share/smatch/smatch_scripts/implicit_dependencies/with_structs/implicit_dependencies_verbose.json /usr/share/smatch/smatch_scripts/implicit_dependencies/with_structs/implicit_dependencies_verbose.pretty /usr/share/smatch/smatch_scripts/implicit_dependencies/without_structs /usr/share/smatch/smatch_scripts/implicit_dependencies/without_structs/implicit_dependencies.json /usr/share/smatch/smatch_scripts/implicit_dependencies/without_structs/implicit_dependencies.pretty /usr/share/smatch/smatch_scripts/implicit_dependencies/without_structs/implicit_dependencies_verbose.json /usr/share/smatch/smatch_scripts/implicit_dependencies/without_structs/implicit_dependencies_verbose.pretty /usr/share/smatch/smatch_scripts/kchecker /usr/share/smatch/smatch_scripts/kpatch.sh /usr/share/smatch/smatch_scripts/new_bugs.pl /usr/share/smatch/smatch_scripts/show_errs.sh /usr/share/smatch/smatch_scripts/show_ifs.sh /usr/share/smatch/smatch_scripts/show_unreachable.sh /usr/share/smatch/smatch_scripts/strip_whitespace.pl /usr/share/smatch/smatch_scripts/summarize_errs.sh /usr/share/smatch/smatch_scripts/test_generic.sh /usr/share/smatch/smatch_scripts/test_kernel.sh /usr/share/smatch/smatch_scripts/trace_params.pl /usr/share/smatch/smatch_scripts/unlocked_paths.pl /usr/share/smatch/smatch_scripts/whitespace_only.sh /usr/share/smatch/smatch_scripts/wine_checker.sh
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Jan 12 02:11:34 2025