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:
 <BN7PR02MB414819702EA59A53FE581943D4D62@BN7PR02MB4148.namprd02.prod.outlook.com>
Date: Mon, 10 Mar 2025 20:21:02 +0000
From: Michael Kelley <mhklinux@...look.com>
To: Thorsten Blum <thorsten.blum@...ux.dev>, "K. Y. Srinivasan"
	<kys@...rosoft.com>, Haiyang Zhang <haiyangz@...rosoft.com>, Wei Liu
	<wei.liu@...nel.org>, Dexuan Cui <decui@...rosoft.com>
CC: "linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] hyperv: Remove unused union and structs

From: Thorsten Blum <thorsten.blum@...ux.dev> Sent: Monday, March 10, 2025 12:26 PM
> 
> The union vmpacket_largest_possible_header and several structs have not
> been used for a long time afaict - remove them.
> 
> Signed-off-by: Thorsten Blum <thorsten.blum@...ux.dev>
> ---
>  include/linux/hyperv.h | 47 ------------------------------------------
>  1 file changed, 47 deletions(-)
> 
> diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
> index 4179add2864b..bff91788c8a3 100644
> --- a/include/linux/hyperv.h
> +++ b/include/linux/hyperv.h
> @@ -371,19 +371,6 @@ struct vmtransfer_page_packet_header {
>  	struct vmtransfer_page_range ranges[];
>  } __packed;
> 
> -struct vmgpadl_packet_header {
> -	struct vmpacket_descriptor d;
> -	u32 gpadl;
> -	u32 reserved;
> -} __packed;
> -
> -struct vmadd_remove_transfer_page_set {
> -	struct vmpacket_descriptor d;
> -	u32 gpadl;
> -	u16 xfer_pageset_id;
> -	u16 reserved;
> -} __packed;
> -
>  /*
>   * This structure defines a range in guest physical space that can be made to
>   * look virtually contiguous.
> @@ -394,30 +381,6 @@ struct gpa_range {
>  	u64 pfn_array[];
>  };
> 
> -/*
> - * This is the format for an Establish Gpadl packet, which contains a handle by
> - * which this GPADL will be known and a set of GPA ranges associated with it.
> - * This can be converted to a MDL by the guest OS.  If there are multiple GPA
> - * ranges, then the resulting MDL will be "chained," representing multiple VA
> - * ranges.
> - */
> -struct vmestablish_gpadl {
> -	struct vmpacket_descriptor d;
> -	u32 gpadl;
> -	u32 range_cnt;
> -	struct gpa_range range[1];
> -} __packed;
> -
> -/*
> - * This is the format for a Teardown Gpadl packet, which indicates that the
> - * GPADL handle in the Establish Gpadl packet will never be referenced again.
> - */
> -struct vmteardown_gpadl {
> -	struct vmpacket_descriptor d;
> -	u32 gpadl;
> -	u32 reserved;	/* for alignment to a 8-byte boundary */
> -} __packed;
> -
>  /*
>   * This is the format for a GPA-Direct packet, which contains a set of GPA
>   * ranges, in addition to commands and/or data.
> @@ -438,16 +401,6 @@ struct vmadditional_data {
>  	unsigned char data[1];
>  } __packed;

It appears to me that struct vmdata_gpa_direct and struct
vmadditional_data are also unused. Did you keep them for
some reason? Or could they also be deleted in this patch?

> 
> -union vmpacket_largest_possible_header {
> -	struct vmpacket_descriptor simple_hdr;
> -	struct vmtransfer_page_packet_header xfer_page_hdr;
> -	struct vmgpadl_packet_header gpadl_hdr;
> -	struct vmadd_remove_transfer_page_set add_rm_xfer_page_hdr;
> -	struct vmestablish_gpadl establish_gpadl_hdr;
> -	struct vmteardown_gpadl teardown_gpadl_hdr;
> -	struct vmdata_gpa_direct data_gpa_direct_hdr;
> -};
> -
>  #define VMPACKET_DATA_START_ADDRESS(__packet)	\
>  	(void *)(((unsigned char *)__packet) +	\
>  	 ((struct vmpacket_descriptor)__packet)->offset8 * 8)
> --
> 2.48.1
> 

I can see from "git blame" that these structs originated back
in 2011 when the Hyper-V drivers were still in staging. Going
back as far as the 3.4 kernel, I don't see any references to them.

I don't know anything more about the history, and lacking such
information, I'm certainly OK with deleting them as unnecessary.

Reviewed-by: Michael Kelley <mhklinux@...look.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ