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]
Message-ID: <dc292375744c121218510580e617c7a2791ea2f5.camel@HansenPartnership.com>
Date: Tue, 01 Apr 2025 15:31:13 -0400
From: James Bottomley <James.Bottomley@...senPartnership.com>
To: Christian Brauner <brauner@...nel.org>, linux-fsdevel@...r.kernel.org, 
	jack@...e.cz, Ard Biesheuvel <ardb@...nel.org>
Cc: linux-efi@...r.kernel.org, linux-kernel@...r.kernel.org,
 mcgrof@...nel.org,  hch@...radead.org, david@...morbit.com,
 rafael@...nel.org, djwong@...nel.org,  pavel@...nel.org,
 peterz@...radead.org, mingo@...hat.com, will@...nel.org, 
 boqun.feng@...il.com
Subject: Re: [PATCH 2/2] efivarfs: support freeze/thaw

On Mon, 2025-03-31 at 14:42 +0200, Christian Brauner wrote:
[...]
> +	pr_info("efivarfs: resyncing variable state\n");
> +	for (;;) {
> +		int err;
> +		size_t size;
> +		struct inode *inode;
> +		struct efivar_entry *entry;
> +
> +		child = find_next_child(sb->s_root, child);
> +		if (!child)
> +			break;
> +
> +		inode = d_inode(child);
> +		entry = efivar_entry(inode);
> +
> +		err = efivar_entry_size(entry, &size);
> +		if (err)
> +			size = 0;
> +		else
> +			size += sizeof(__u32);
> +
> +		inode_lock(inode);
> +		i_size_write(inode, size);
> +		inode_unlock(inode);
> +
> +		if (!err)
> +			continue;
> +
> +		/* The variable doesn't exist anymore, delete it. */

The message that should be here got deleted.  We now only print
messages about variables we add not variables we remove.  I get that
the code is a bit chatty here, but it should either print both the
removing and adding messages or print neither, I think.

> +		simple_recursive_removal(child, NULL);
>  	}
[...]
> -			pr_info("efivarfs: removing variable %pd\n",
> -				ectx.dentry);

This is the lost message, although ectx.dentry should become child.

Regards,

James


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ