From: Jan Kiszka <jan.kiszka@domain.hid>
To: Xenomai core <Xenomai-core@domain.hid>
Subject: [Xenomai-core] [PULL] vfile: Fix NULL pointer exception on shapshot restarts
Date: Wed, 20 Apr 2011 20:09:59 +0200 [thread overview]
Message-ID: <4DAF2177.1000707@domain.hid> (raw)
The following changes since commit cf683ac01817bb19ae5429df4ca9e0e57d78b5b1:
arm: clean-up context switch (2011-04-16 12:47:50 +0200)
are available in the git repository at:
git://git.xenomai.org/xenomai-jki.git for-upstream
Jan Kiszka (1):
vfile: Fix NULL pointer exception on shapshot restarts
ksrc/nucleus/vfile.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
---
vfile: Fix NULL pointer exception on shapshot restarts
it->endfn is only accessed if if->databuf is non-NULL. But we are
writing endfn on every snapshot restart. If ops->end is NULL but databuf
was set during a previous run, calling endfd will oops.
Fix it by only setting endfn when databuf is initialized.
Signed-off-by: Jan Kiszka <jan.kiszka@domain.hid>
---
ksrc/nucleus/vfile.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/ksrc/nucleus/vfile.c b/ksrc/nucleus/vfile.c
index c553480..d8ac398 100644
--- a/ksrc/nucleus/vfile.c
+++ b/ksrc/nucleus/vfile.c
@@ -205,7 +205,6 @@ redo:
* a NULL return from ->rewind() tells us that the vfile won't
* output any snapshot data via ->show().
*/
- it->endfn = ops->end;
nrdata = 0;
if (ops->rewind) {
nrdata = ops->rewind(it);
@@ -239,8 +238,10 @@ redo:
kfree(it);
return -ENOMEM;
}
- if (data != VFILE_SEQ_EMPTY)
+ if (data != VFILE_SEQ_EMPTY) {
it->databuf = data;
+ it->endfn = ops->end;
+ }
} else if (nrdata > 0 && vfile->datasz > 0) {
/* We have a hint for auto-allocation. */
data = kmalloc(vfile->datasz * nrdata, GFP_KERNEL);
--
1.7.1
reply other threads:[~2011-04-20 18:09 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DAF2177.1000707@domain.hid \
--to=jan.kiszka@domain.hid \
--cc=Xenomai-core@domain.hid \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.