lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 1 Dec 2015 17:59:07 +0100
From:	Vegard Nossum <vegard.nossum@...cle.com>
To:	"Theodore Ts'o" <tytso@....edu>
Cc:	Andreas Dilger <adilger.kernel@...ger.ca>,
	Ext4 Developers List <linux-ext4@...r.kernel.org>
Subject: Re: EXT4-fs (device loop0): panic forced after error -- bug or not?

On 12/01/2015 04:32 PM, Theodore Ts'o wrote:
> On Tue, Dec 01, 2015 at 03:22:02PM +0100, Vegard Nossum wrote:
>>
>> I'm a bit unsure about whether this is really a bug or not; it looks
>> like the filesystem is set to panic on error but I still find it weird
>> that this behaviour is allowed by default (would it still panic if
>> somebody inserted this filesystem on a USB stick and it got automounted?).
>
> If the distribution cares about this, it should automount with mount
> option "errors=remount-ro".
>
>> I call mount() with mountflags=0 and data=NULL followed by opendir() and
>> readdir(), but if I just a manual mount + ls from the shell I don't see
>> the panic at all, just some of the errors, so I thought maybe there's
>> some sort of race somewhere?
>
> I'm not able to reproduce this; I'm getting EACCES to the opendir().
>
> But looking at your kernel messages, it's not a bug.

Alright, I'll add errors=remount-ro to my scripts.

Strange that you get EACCESS, without errors=remount-ro I get:

open("/dev/loop0", O_RDWR)              = 3
mkdir("/mnt/ext4", 0755)                = -1 EEXIST (File exists)
open("ext4.0", O_RDWR)                  = 4
ioctl(3, LOOP_SET_FD, 0x4)              = 0
close(4)                                = 0
ioctl(3, LOOP_SET_STATUS64, {offset=0, number=0, flags=0, 
file_name="ext4.0", ...}) = 0
mount("/dev/loop0", "/mnt/ext4", "ext4", 0, NULL) = 0
open("/mnt/ext4", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
getdents(4, <panic>

If I do add errors=remount-ro, I get:

open("/dev/loop0", O_RDWR)              = 3
mkdir("/mnt/ext4", 0755)                = -1 EEXIST (File exists)
open("ext4.0", O_RDWR)                  = 4
ioctl(3, LOOP_SET_FD, 0x4)              = 0
close(4)                                = 0
ioctl(3, LOOP_SET_STATUS64, {offset=0, number=0, flags=0, 
file_name="ext4.0", ...}) = 0
mount("/dev/loop0", "/mnt/ext4", "ext4", 0, "errors=remount-ro") = 0
open("/mnt/ext4", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
getdents(4, /* 0 entries */, 32768)     = 0
close(4)                                = 0

Thanks for the quick response.


Vegard
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists