Added the smatch list to the CC list. On Thu, Feb 14, 2013 at 10:33:19AM +0800, Fengguang Wu wrote: > On Mon, Feb 11, 2013 at 11:41:32PM +0300, Dan Carpenter wrote: > > False positive. It should get this correct. One thing that would > > cause this is if it it thought all the callers pass a NULL value > > for "parent". > > > > You could test this theory with the following command: > > ~/progs/smatch/devel/smatch_scripts/db/smdb_param_values.sh __vsock_create 2 > > What's the expected output? I no output at all when running the > command under $KBUILD_OUTPUT. But note that my smatch_db.sqlite > is updated on every kernel build, so it's current content may not > match the commit discussed here well. I'm messing with my database right now but hopefully this is something close to correct: net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->__sk_common.skc_state|255 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_ack_backlog|0-65534 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_lock.owned|1 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_lock.slock.rlock.owner|(-1) net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_lock.slock.rlock.owner_cpu|u32max net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_max_ack_backlog|1-u16max net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$|4096-s64max net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|2|$$|0 My theory was that yours would only have had the line which says: net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|2|$$|0 It's weird that you don't have any output at all. The other command which tells you all the values at the start on the function is smatch_scripts/db/smdb_function_info.sh. I should probably rename that to caller_info.sh because it's just doing a select * from caller_info;. There should be a minimum of one entry per call. $ ~/progs/smatch/devel/smatch_scripts/db/smdb_function_info.sh __vsock_create net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|4|2|$$->sk_ack_backlog|1 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->__sk_common.skc_state|255 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_ack_backlog|0-65534 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_lock.owned|1 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_lock.slock.rlock.owner|(-1) net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_lock.slock.rlock.owner_cpu|u32max net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$->sk_max_ack_backlog|1-u16max net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|4|1|$$|1 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|4|2|$$|1 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|4|3|$$|1 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|0|$$|s64min-s64max net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|1|$$|0 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|2|$$|4096-s64max net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|3|$$|208 net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|1|4|$$|0-u16max net/vmw_vsock/vmci_transport.c|vmci_transport_recv_listen|__vsock_create|143204|0|0|-1|| net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|4|1|$$->ops|1 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|4|1|$$->state|1 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|2|1|$$->ops|184 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|1|$$->ops|4096-s64max net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|1|$$->state|1 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|1|$$->type|1-2 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|4|0|$$|1 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|4|1|$$|1 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|4|2|$$|1 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|4|3|$$|1 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|4|4|$$|1 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|0|$$|s64min-s64max net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|1|$$|4096-s64max net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|2|$$|0 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|3|$$|208 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|1|4|$$|0 net/vmw_vsock/af_vsock.c|vsock_create|__vsock_create|143467|0|0|-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