forked from Minki/linux
- Fix for panics and network failures on PAE guests by Dexuan Cui.
- Fix of a memory leak (and related cleanups) in the hyper-v keyboard driver by Dexuan Cui. - Code cleanups for hyper-v clocksource driver during the merge window by Dexuan Cui. - Fix for a false positive warning in the userspace hyper-v KVP store by Vitaly Kuznetsov. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE4n5dijQDou9mhzu83qZv95d3LNwFAl1hT7EACgkQ3qZv95d3 LNy4PQ/+J8FDpxqBlg7gh5iv0FMM6z/knU2z6RNuwsXs5xPCF/rVvKb1MlW0V4pO apGWAqCZbpslQfxN8rNKgOtJQ9FRSXVKzLapfeVI9loVvkoSZCGxrLU1fS0NBEL2 Eg1qzj9qAHMA6UyClNhQipKuK83ZBJJCPsupD2IjLzb0UcPKXgFS3FTJP7UkcREh jV8djoyzmwQJDFBWsbp1IY1ZAhDhnqeEYJ8GZXziU58TfoT9zS0zrlO5/Pf+0mPT 5QNmLpK/e/l1gDra84DEY9zQUUYepHbCd54XGTMaMGPnUWXCCgDQcEAC4n1/i3ZP lUP5AG994F0Z5csN3DKtTnX2Mz7DSXmx9ro4jnHDWVqhHKwrFqd9Ml+ukDkICf/S 6dgVcV9pUF1zvO235Dujo2Ht+95eHg+Dbh9aW21khzwKGUd/FyxzirpuTGQZol7N CjnKnWkVyz8lGjrE6UQwa8oguqyIOjVPAXQv1xI1+jrVnXlZ+EbpMwnVBy39A1SU BpimckYZwznmKVpmTU6L9MrIfM/cU1KTXt6mMLQfArdMef1a3O6AWsFg/mawFQPq 7C5ixC2BwW9yA0pjO1igmNDgnOqqIjqsOxl7BtQOxgnu5QPkLIY/FVXHNkhygsU3 CsWyo3C7QQK21MmIAFU0mFlrdMLIKuldNf/wkUVBcOTSMbX72CM= =GJPQ -----END PGP SIGNATURE----- Merge tag 'hyperv-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux Pull Hyper-V fixes from Sasha Levin: - Fix for panics and network failures on PAE guests by Dexuan Cui. - Fix of a memory leak (and related cleanups) in the hyper-v keyboard driver by Dexuan Cui. - Code cleanups for hyper-v clocksource driver during the merge window by Dexuan Cui. - Fix for a false positive warning in the userspace hyper-v KVP store by Vitaly Kuznetsov. * tag 'hyperv-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: Drivers: hv: vmbus: Fix virt_to_hvpfn() for X86_PAE Tools: hv: kvp: eliminate 'may be used uninitialized' warning Input: hyperv-keyboard: Use in-place iterator API in the channel callback Drivers: hv: vmbus: Remove the unused "tsc_page" from struct hv_context
This commit is contained in:
commit
361469211f
@ -26,7 +26,7 @@
|
||||
|
||||
static unsigned long virt_to_hvpfn(void *addr)
|
||||
{
|
||||
unsigned long paddr;
|
||||
phys_addr_t paddr;
|
||||
|
||||
if (is_vmalloc_addr(addr))
|
||||
paddr = page_to_phys(vmalloc_to_page(addr)) +
|
||||
|
@ -146,8 +146,6 @@ struct hv_context {
|
||||
*/
|
||||
u64 guestid;
|
||||
|
||||
void *tsc_page;
|
||||
|
||||
struct hv_per_cpu_context __percpu *cpu_context;
|
||||
|
||||
/*
|
||||
|
@ -237,40 +237,17 @@ static void hv_kbd_handle_received_packet(struct hv_device *hv_dev,
|
||||
|
||||
static void hv_kbd_on_channel_callback(void *context)
|
||||
{
|
||||
struct vmpacket_descriptor *desc;
|
||||
struct hv_device *hv_dev = context;
|
||||
void *buffer;
|
||||
int bufferlen = 0x100; /* Start with sensible size */
|
||||
u32 bytes_recvd;
|
||||
u64 req_id;
|
||||
int error;
|
||||
|
||||
buffer = kmalloc(bufferlen, GFP_ATOMIC);
|
||||
if (!buffer)
|
||||
return;
|
||||
foreach_vmbus_pkt(desc, hv_dev->channel) {
|
||||
bytes_recvd = desc->len8 * 8;
|
||||
req_id = desc->trans_id;
|
||||
|
||||
while (1) {
|
||||
error = vmbus_recvpacket_raw(hv_dev->channel, buffer, bufferlen,
|
||||
&bytes_recvd, &req_id);
|
||||
switch (error) {
|
||||
case 0:
|
||||
if (bytes_recvd == 0) {
|
||||
kfree(buffer);
|
||||
return;
|
||||
}
|
||||
|
||||
hv_kbd_handle_received_packet(hv_dev, buffer,
|
||||
bytes_recvd, req_id);
|
||||
break;
|
||||
|
||||
case -ENOBUFS:
|
||||
kfree(buffer);
|
||||
/* Handle large packet */
|
||||
bufferlen = bytes_recvd;
|
||||
buffer = kmalloc(bytes_recvd, GFP_ATOMIC);
|
||||
if (!buffer)
|
||||
return;
|
||||
break;
|
||||
}
|
||||
hv_kbd_handle_received_packet(hv_dev, desc, bytes_recvd,
|
||||
req_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -809,7 +809,7 @@ kvp_get_ip_info(int family, char *if_name, int op,
|
||||
int sn_offset = 0;
|
||||
int error = 0;
|
||||
char *buffer;
|
||||
struct hv_kvp_ipaddr_value *ip_buffer;
|
||||
struct hv_kvp_ipaddr_value *ip_buffer = NULL;
|
||||
char cidr_mask[5]; /* /xyz */
|
||||
int weight;
|
||||
int i;
|
||||
|
Loading…
Reference in New Issue
Block a user