ACK: [PATCH] lib: fwts_uefi: make vars work on recent kernels

Alex Hung alex.hung at canonical.com
Mon Apr 22 01:30:56 UTC 2013


On 04/19/2013 10:42 PM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Looks like we need to check for PSTOREFS and EFIVARSFS magics
> to make this work with recent kernels. Sigh.  Tested on 3.5 + 3.8
> kernels.  Without this fix uefidump fails on 3.8 kernels.
>
> Thanks to Stefan Bader for spotting this bug.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
>   src/lib/src/fwts_uefi.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/lib/src/fwts_uefi.c b/src/lib/src/fwts_uefi.c
> index b3d0c36..8149d23 100644
> --- a/src/lib/src/fwts_uefi.c
> +++ b/src/lib/src/fwts_uefi.c
> @@ -60,7 +60,8 @@ typedef struct {
>   #define UEFI_IFACE_EFIVARS		(3)	/* efivar fs */
>
>   /* File system magic numbers */
> -#define EFIVARS_FS_MAGIC	0x6165676C
> +#define PSTOREFS_MAGIC          0x6165676C
> +#define EFIVARFS_MAGIC          0xde5e81e4
>   #define SYS_FS_MAGIC		0x62656572
>
>   /*
> @@ -126,7 +127,8 @@ static int fwts_uefi_get_interface(char **path)
>   	/* We've now found a valid file system we can use */
>   	*path = efivar_path;
>
> -	if (statbuf.f_type == EFIVARS_FS_MAGIC) {
> +	if ((statbuf.f_type == EFIVARFS_MAGIC) ||
> +	    (statbuf.f_type == PSTOREFS_MAGIC)) {
>   		efivars_interface = UEFI_IFACE_EFIVARS;
>   		return UEFI_IFACE_EFIVARS;
>   	}
>
Acked-by: Alex Hung <alex.hung at canonical.com>



More information about the fwts-devel mailing list