diff options
author | Peter Jones <pjones@redhat.com> | 2016-02-08 14:48:15 -0500 |
---|---|---|
committer | Matt Fleming <matt@codeblueprint.co.uk> | 2016-02-10 16:25:52 +0000 |
commit | ed8b0de5a33d2a2557dce7f9429dca8cb5bc5879 (patch) | |
tree | 1dcd2e49cc432ae312677ec47453ec3abc18f1d2 /fs/efivarfs/internal.h | |
parent | 8282f5d9c17fe15a9e658c06e3f343efae1a2a2f (diff) |
efi: Make efivarfs entries immutable by default
"rm -rf" is bricking some peoples' laptops because of variables being
used to store non-reinitializable firmware driver data that's required
to POST the hardware.
These are 100% bugs, and they need to be fixed, but in the mean time it
shouldn't be easy to *accidentally* brick machines.
We have to have delete working, and picking which variables do and don't
work for deletion is quite intractable, so instead make everything
immutable by default (except for a whitelist), and make tools that
aren't quite so broad-spectrum unset the immutable flag.
Signed-off-by: Peter Jones <pjones@redhat.com>
Tested-by: Lee, Chun-Yi <jlee@suse.com>
Acked-by: Matthew Garrett <mjg59@coreos.com>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Diffstat (limited to 'fs/efivarfs/internal.h')
-rw-r--r-- | fs/efivarfs/internal.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/efivarfs/internal.h b/fs/efivarfs/internal.h index b5ff16addb7c..b4505188e799 100644 --- a/fs/efivarfs/internal.h +++ b/fs/efivarfs/internal.h @@ -15,7 +15,8 @@ extern const struct file_operations efivarfs_file_operations; extern const struct inode_operations efivarfs_dir_inode_operations; extern bool efivarfs_valid_name(const char *str, int len); extern struct inode *efivarfs_get_inode(struct super_block *sb, - const struct inode *dir, int mode, dev_t dev); + const struct inode *dir, int mode, dev_t dev, + bool is_removable); extern struct list_head efivarfs_list; |