* [LTP] [PATCH] lib: don't pass NULL to strcmp in safe_mount @ 2019-11-19 10:29 Jan Stancek 2019-11-20 6:02 ` Li Wang 2019-11-20 11:22 ` Cyril Hrubis 0 siblings, 2 replies; 6+ messages in thread From: Jan Stancek @ 2019-11-19 10:29 UTC (permalink / raw) To: ltp Rachel reports, that pivot_root01 crashes on latest LTP: Thread 3.1 "pivot_root01" received signal SIGSEGV, Segmentation fault. 0x00000000004062c4 in safe_mount (file=file@entry=0x413017 "pivot_root01.c" 733 if (strcmp(filesystemtype, "ntfs")) { Don't pass NULL ptr to strcmp. Also fix return in unreachable path, to suppress warning about returning uninitialized 'rval'. Fixes: ae52b6f41bf3 ("lib: Fix safe_mount() when mounting NTFS on kernels with NTFS support") Reported-by: Rachel Sibley <rasibley@redhat.com> Signed-off-by: Jan Stancek <jstancek@redhat.com> --- lib/safe_macros.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/safe_macros.c b/lib/safe_macros.c index c725c7d7763f..41fa4ca83004 100644 --- a/lib/safe_macros.c +++ b/lib/safe_macros.c @@ -730,7 +730,7 @@ int safe_mount(const char *file, const int lineno, void (*cleanup_fn)(void), * Don't try using the kernel's NTFS driver when mounting NTFS, since * the kernel's NTFS driver doesn't have proper write support. */ - if (strcmp(filesystemtype, "ntfs")) { + if (!filesystemtype || strcmp(filesystemtype, "ntfs")) { rval = mount(source, target, filesystemtype, mountflags, data); if (!rval) return 0; @@ -764,7 +764,7 @@ int safe_mount(const char *file, const int lineno, void (*cleanup_fn)(void), mountflags, data); } - return rval; + return -1; } int safe_umount(const char *file, const int lineno, void (*cleanup_fn)(void), -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [LTP] [PATCH] lib: don't pass NULL to strcmp in safe_mount 2019-11-19 10:29 [LTP] [PATCH] lib: don't pass NULL to strcmp in safe_mount Jan Stancek @ 2019-11-20 6:02 ` Li Wang 2019-11-20 6:51 ` Jan Stancek 2019-11-20 11:22 ` Cyril Hrubis 1 sibling, 1 reply; 6+ messages in thread From: Li Wang @ 2019-11-20 6:02 UTC (permalink / raw) To: ltp On Tue, Nov 19, 2019 at 6:29 PM Jan Stancek <jstancek@redhat.com> wrote: > Rachel reports, that pivot_root01 crashes on latest LTP: > Thread 3.1 "pivot_root01" received signal SIGSEGV, Segmentation fault. > 0x00000000004062c4 in safe_mount (file=file@entry=0x413017 > "pivot_root01.c" > 733 if (strcmp(filesystemtype, "ntfs")) { > > Don't pass NULL ptr to strcmp. Also fix return in unreachable path, > to suppress warning about returning uninitialized 'rval'. > Good catch. And shouldn't we give a "correct" fs_type in pivot_root01.c too? Otherwise, the test would be failed on an invalid mounted operation I guess. --- a/testcases/kernel/syscalls/pivot_root/pivot_root01.c +++ b/testcases/kernel/syscalls/pivot_root/pivot_root01.c @@ -107,7 +107,7 @@ static void run(unsigned int test_case) * Create an initial root dir. pivot_root doesn't work if the initial root * dir is a initramfs, so use chroot to create a safe environment */ - SAFE_MOUNT("none", "/", NULL, MS_REC|MS_PRIVATE, NULL); + SAFE_MOUNT("none", "/", "none", MS_REC|MS_PRIVATE, NULL); SAFE_MOUNT("none", CHROOT_DIR, "tmpfs", 0, 0); SAFE_CHROOT(CHROOT_DIR); > > Fixes: ae52b6f41bf3 ("lib: Fix safe_mount() when mounting NTFS on kernels > with NTFS support") > Reported-by: Rachel Sibley <rasibley@redhat.com> > Signed-off-by: Jan Stancek <jstancek@redhat.com> > --- > lib/safe_macros.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/safe_macros.c b/lib/safe_macros.c > index c725c7d7763f..41fa4ca83004 100644 > --- a/lib/safe_macros.c > +++ b/lib/safe_macros.c > @@ -730,7 +730,7 @@ int safe_mount(const char *file, const int lineno, > void (*cleanup_fn)(void), > * Don't try using the kernel's NTFS driver when mounting NTFS, > since > * the kernel's NTFS driver doesn't have proper write support. > */ > - if (strcmp(filesystemtype, "ntfs")) { > + if (!filesystemtype || strcmp(filesystemtype, "ntfs")) { > rval = mount(source, target, filesystemtype, mountflags, > data); > if (!rval) > return 0; > @@ -764,7 +764,7 @@ int safe_mount(const char *file, const int lineno, > void (*cleanup_fn)(void), > mountflags, data); > } > > - return rval; > + return -1; > } > > int safe_umount(const char *file, const int lineno, void > (*cleanup_fn)(void), > -- > 1.8.3.1 > > -- Regards, Li Wang -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.linux.it/pipermail/ltp/attachments/20191120/2741c6a6/attachment-0001.htm> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH] lib: don't pass NULL to strcmp in safe_mount 2019-11-20 6:02 ` Li Wang @ 2019-11-20 6:51 ` Jan Stancek 2019-11-20 7:53 ` Li Wang 0 siblings, 1 reply; 6+ messages in thread From: Jan Stancek @ 2019-11-20 6:51 UTC (permalink / raw) To: ltp ----- Original Message ----- > On Tue, Nov 19, 2019 at 6:29 PM Jan Stancek <jstancek@redhat.com> wrote: > > > Rachel reports, that pivot_root01 crashes on latest LTP: > > Thread 3.1 "pivot_root01" received signal SIGSEGV, Segmentation fault. > > 0x00000000004062c4 in safe_mount (file=file@entry=0x413017 > > "pivot_root01.c" > > 733 if (strcmp(filesystemtype, "ntfs")) { > > > > Don't pass NULL ptr to strcmp. Also fix return in unreachable path, > > to suppress warning about returning uninitialized 'rval'. > > > > Good catch. > > And shouldn't we give a "correct" fs_type in pivot_root01.c too? Otherwise, > the test would be failed on an invalid mounted operation I guess. Per man-page, it should be ignored. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH] lib: don't pass NULL to strcmp in safe_mount 2019-11-20 6:51 ` Jan Stancek @ 2019-11-20 7:53 ` Li Wang 0 siblings, 0 replies; 6+ messages in thread From: Li Wang @ 2019-11-20 7:53 UTC (permalink / raw) To: ltp On Wed, Nov 20, 2019 at 2:51 PM Jan Stancek <jstancek@redhat.com> wrote: > > > ----- Original Message ----- > > On Tue, Nov 19, 2019 at 6:29 PM Jan Stancek <jstancek@redhat.com> wrote: > > > > > Rachel reports, that pivot_root01 crashes on latest LTP: > > > Thread 3.1 "pivot_root01" received signal SIGSEGV, Segmentation > fault. > > > 0x00000000004062c4 in safe_mount (file=file@entry=0x413017 > > > "pivot_root01.c" > > > 733 if (strcmp(filesystemtype, "ntfs")) { > > > > > > Don't pass NULL ptr to strcmp. Also fix return in unreachable path, > > > to suppress warning about returning uninitialized 'rval'. > > > > > > > Good catch. > > > > And shouldn't we give a "correct" fs_type in pivot_root01.c too? > Otherwise, > > the test would be failed on an invalid mounted operation I guess. > > Per man-page, it should be ignored. > Ok, then this patch looks good. Reviewed-by: Li Wang <liwang@redhat.com> -- Regards, Li Wang -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.linux.it/pipermail/ltp/attachments/20191120/e579d101/attachment.htm> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH] lib: don't pass NULL to strcmp in safe_mount 2019-11-19 10:29 [LTP] [PATCH] lib: don't pass NULL to strcmp in safe_mount Jan Stancek 2019-11-20 6:02 ` Li Wang @ 2019-11-20 11:22 ` Cyril Hrubis 2019-11-21 8:10 ` Jan Stancek 1 sibling, 1 reply; 6+ messages in thread From: Cyril Hrubis @ 2019-11-20 11:22 UTC (permalink / raw) To: ltp Hi! Thanks for fixing this, acked. -- Cyril Hrubis chrubis@suse.cz ^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH] lib: don't pass NULL to strcmp in safe_mount 2019-11-20 11:22 ` Cyril Hrubis @ 2019-11-21 8:10 ` Jan Stancek 0 siblings, 0 replies; 6+ messages in thread From: Jan Stancek @ 2019-11-21 8:10 UTC (permalink / raw) To: ltp ----- Original Message ----- > Hi! > Thanks for fixing this, acked. Pushed. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-11-21 8:10 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-11-19 10:29 [LTP] [PATCH] lib: don't pass NULL to strcmp in safe_mount Jan Stancek 2019-11-20 6:02 ` Li Wang 2019-11-20 6:51 ` Jan Stancek 2019-11-20 7:53 ` Li Wang 2019-11-20 11:22 ` Cyril Hrubis 2019-11-21 8:10 ` Jan Stancek
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.