Comments (2)
What should we do with this? @dbeyer https://github.com/dbeyer who sent this problem report?
Aws Albarghouthi on Oct. 17, 2012, via the (previous) e-mail list.
Subject was "[SV-COMP: 59] DeviceDrivers64 issues"
On 2016-10-31 09:12 AM, Philipp Wendler wrote:
4 years ago in 8344f7e 8344f7e there was a report that the
file
|ldv-linux-3.4-simple/32_1_cilled_true-unreach-call_ok_nondet_linux-3.4-32_1-drivers--media--video--videobuf-vmalloc.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c|
might contain a counterexample:|We find a counter-example because this example assumes a specific memory model. In my opinion, it is not a good example for the competition.
void main(void) { // -- assumed to be uninitialized disjoint memory region struct vm_area_struct *var_group1; ... videobuf_vm_close
(var_group1); ... } static void videobuf_vm_close(struct vm_area_struct *vma ) { q = ((struct videobuf_mapping *)vma->vm_private_data)->q; ...
videobuf_queue_lock(q); ... // code that writes memory through pointers videobuf_queue_lock(q); } __inline static void
videobuf_queue_lock(struct videobuf_queue *q ) { if (!q->ext_lock) mutex_lock (&(q->vb_lock)) } __inline static void
videobuf_queue_unlock(struct videobuf_queue *q ) { if (!q->ext_lock) mutex_unlock (&(q->vb_lock)) } A counterexample here is an execution in
which exactly one of mutex_lock()/mutex_unlock() is called. The problem with this example is that var_group1 is not allocated. So, our semantics
is to assume that it occupies a non-deterministically chosen memory regions (i.e., chosen by __VERIFIER_nondet_pointer()). However, under this
assumption, it is possible that the code between videobuf_queue_lock() and videobuf_queue_unlock() writes into q->ext_lock field. |What should we do with this? @dbeyer https://github.com/dbeyer who sent this problem report?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub #174, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACzgUAEGWXi150SQMvoloT3DGnYcxKtAks5q5aLSgaJpZM4Kkw9N.
from sv-benchmarks.
I think it is better to remove the benchmark
from sv-benchmarks.
Related Issues (20)
- Tasks in seq-mthreaded wrongly marked as non-terminating HOT 2
- Task ntdrivers/floppy2 is not memory safe
- Task ntdrivers/diskperf.i.cil-1.c is not memory safe HOT 2
- ntdrivers/parport.i.cil-2 is not memory safe
- LDV tasks with undefined behaviour and/or wrong verdicts HOT 3
- cut-2 and od-1 from busy-box are not memory safe HOT 1
- Undefined behavior in two AWS benchmarks
- MemSafety - unset subproperty for false verdict
- Incorrect Verification Task
- geo1-ll.c can overflow HOT 3
- Implementation-defined behaviour HOT 3
- SV-COMP concurrency benchmarks with data races HOT 3
- "Repeated" benchmarks in pthread-wmm
- why can echo-2.i overflow? HOT 2
- __builtin_unreachable() in LDV benchmarks HOT 3
- Benchmarks for weak memory models HOT 3
- Reachable error in pthread-ext/41_FreeBSD_abd_kbd_sliced
- Use of `__VERIFIER_nondet_*` functions that aren't specified in SV-COMP rules HOT 1
- Info on SV-COMP 2022? HOT 2
- Repository moved to GitLab HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sv-benchmarks.