Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag '9p-for-6.13-rc1' of https://github.com/martinetd/linux

Pull 9p updates from Dominique Martinet:

- usbg: fix alloc failure handling & build-as-module

- xen: couple of fixes

- v9fs_cache_register/unregister code cleanup

* tag '9p-for-6.13-rc1' of https://github.com/martinetd/linux:
net/9p/usbg: allow building as standalone module
9p/xen: fix release of IRQ
9p/xen: fix init sequence
net/9p/usbg: fix handling of the failed kzalloc() memory allocation
fs/9p: replace functions v9fs_cache_{register|unregister} with direct calls

+13 -25
+3 -18
fs/9p/v9fs.c
··· 659 659 kmem_cache_destroy(v9fs_inode_cache); 660 660 } 661 661 662 - static int v9fs_cache_register(void) 663 - { 664 - int ret; 665 - 666 - ret = v9fs_init_inode_cache(); 667 - if (ret < 0) 668 - return ret; 669 - return ret; 670 - } 671 - 672 - static void v9fs_cache_unregister(void) 673 - { 674 - v9fs_destroy_inode_cache(); 675 - } 676 - 677 662 /** 678 663 * init_v9fs - Initialize module 679 664 * ··· 671 686 pr_info("Installing v9fs 9p2000 file system support\n"); 672 687 /* TODO: Setup list of registered trasnport modules */ 673 688 674 - err = v9fs_cache_register(); 689 + err = v9fs_init_inode_cache(); 675 690 if (err < 0) { 676 691 pr_err("Failed to register v9fs for caching\n"); 677 692 return err; ··· 694 709 v9fs_sysfs_cleanup(); 695 710 696 711 out_cache: 697 - v9fs_cache_unregister(); 712 + v9fs_destroy_inode_cache(); 698 713 699 714 return err; 700 715 } ··· 707 722 static void __exit exit_v9fs(void) 708 723 { 709 724 v9fs_sysfs_cleanup(); 710 - v9fs_cache_unregister(); 725 + v9fs_destroy_inode_cache(); 711 726 unregister_filesystem(&v9fs_fs_type); 712 727 } 713 728
+2 -2
net/9p/Kconfig
··· 41 41 two Xen domains. 42 42 43 43 config NET_9P_USBG 44 - bool "9P USB Gadget Transport" 45 - depends on USB_GADGET=y || USB_GADGET=NET_9P 44 + tristate "9P USB Gadget Transport" 45 + depends on USB_GADGET 46 46 select CONFIGFS_FS 47 47 select USB_LIBCOMPOSITE 48 48 help
+2 -2
net/9p/trans_usbg.c
··· 909 909 usb9pfs_opts->buflen = DEFAULT_BUFLEN; 910 910 911 911 dev = kzalloc(sizeof(*dev), GFP_KERNEL); 912 - if (IS_ERR(dev)) { 912 + if (!dev) { 913 913 kfree(usb9pfs_opts); 914 - return ERR_CAST(dev); 914 + return ERR_PTR(-ENOMEM); 915 915 } 916 916 917 917 usb9pfs_opts->dev = dev;
+6 -3
net/9p/trans_xen.c
··· 286 286 if (!priv->rings[i].intf) 287 287 break; 288 288 if (priv->rings[i].irq > 0) 289 - unbind_from_irqhandler(priv->rings[i].irq, priv->dev); 289 + unbind_from_irqhandler(priv->rings[i].irq, ring); 290 290 if (priv->rings[i].data.in) { 291 291 for (j = 0; 292 292 j < (1 << priv->rings[i].intf->ring_order); ··· 465 465 goto error; 466 466 } 467 467 468 + xenbus_switch_state(dev, XenbusStateInitialised); 468 469 return 0; 469 470 470 471 error_xenbus: ··· 513 512 break; 514 513 515 514 case XenbusStateInitWait: 516 - if (!xen_9pfs_front_init(dev)) 517 - xenbus_switch_state(dev, XenbusStateInitialised); 515 + if (dev->state != XenbusStateInitialising) 516 + break; 517 + 518 + xen_9pfs_front_init(dev); 518 519 break; 519 520 520 521 case XenbusStateConnected: