From: Thierry Moreau <thierry.moreau@connotech.com>
To: linux-kernel@vger.kernel.org
Subject: Re: Bus error on shm_open/ftruncate/mmap after changing kernel boot partition: FIXED
Date: Tue, 01 Nov 2016 23:34:36 +0000 [thread overview]
Message-ID: <5819268C.2020005@connotech.com> (raw)
In-Reply-To: <5818F39A.30702@connotech.com>
Fixed (but still puzzled) -- see below.
On 01/11/16 07:57 PM, Thierry Moreau wrote:
> Strange bug after changing the boot partition (the previous was on a
> hard disk with a few media errors).
>
Ah!
mounting tmpfs on /dev/shm (manually or through fstab) fixes this.
I am somehow puzzled as I think I observe the test program working
without this mount on some kernel instances.
> I must apologize that the old partition is re-formatted. (As an excuse
> the other services on this server system work fine with the new partition.)
>
> Anyway, the bogus code sequence is below. Should work fine everywhere,
> modulo write permission on /dev/shm.
>
> Same observation with privileged execution.
>
> uname -a reports:
>
> Linux hostname 4.1.3 #15 SMP Sun Aug 30 03:01:12 UTC 2015 x86_64
> Intel(R) Pentium(R) CPU G3250 @ 3.20GHz GenuineIntel GNU/Linux
>
> Obviously, any help appreciated.
>
> Regards
>
> - Thierry Moreau
>
>
> ============
> /* mmap_test.cpp --
> */
>
> #include <cstdio>
> #include <cstring>
> #include <cerrno>
> #include <sys/mman.h>
> #include <sys/stat.h>
> #include <fcntl.h>
> #include <unistd.h>
>
> int main(int argc, char *argv[])
> {
> int shm_fd;
> shm_fd=shm_open(/*"/dev/shm/"*/"test",
> O_RDWR | O_CREAT | O_EXCL,
> S_IRUSR|S_IWUSR | S_IRGRP|S_IWGRP);
> if (shm_fd>=0) {
> if (ftruncate(shm_fd,0x20000)==0) {
> void *region=mmap(0,0x20000,
> PROT_READ|PROT_WRITE,MAP_SHARED,
> shm_fd,0);
> if (MAP_FAILED!=region) {
> fprintf(stderr,"%d %p\n",__LINE__,region);
> fprintf(stderr,"%d %d\n",__LINE__,*((int *)region));
> /* ===== this triggers a bus error on the kernel instance */
> }
> else {
> fprintf(stderr,"%d %d %s\n",__LINE__,errno,strerror(errno));
> }
> }
> else {
> fprintf(stderr,"%d %d %s\n",__LINE__,errno,strerror(errno));
> }
> }
> else {
> fprintf(stderr,"%d %d %s\n",__LINE__,errno,strerror(errno));
> }
> return errno;
> }
> ============
>
prev parent reply other threads:[~2016-11-01 23:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-01 19:57 Bus error on shm_open/ftruncate/mmap after changing kernel boot partition Thierry Moreau
2016-11-01 23:34 ` Thierry Moreau [this message]
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=5819268C.2020005@connotech.com \
--to=thierry.moreau@connotech.com \
--cc=linux-kernel@vger.kernel.org \
/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.