[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202506271940.T2QaCrba-lkp@intel.com>
Date: Fri, 27 Jun 2025 19:40:57 +0800
From: kernel test robot <lkp@...el.com>
To: Bartosz Golaszewski <brgl@...ev.pl>,
Ahmad Fatoum <a.fatoum@...gutronix.de>,
Kent Gibson <warthog618@...il.com>,
Jan Lübbe <jlu@...gutronix.de>,
Marek Vasut <marex@...x.de>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Linus Walleij <linus.walleij@...aro.org>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 8/9] gpio: sysfs: allow disabling the legacy parts of
the GPIO sysfs interface
Hi Bartosz,
kernel test robot noticed the following build warnings:
[auto build test WARNING on cb908f3699fb137e28017a8fdf506c35762b3eb6]
url: https://github.com/intel-lab-lkp/linux/commits/Bartosz-Golaszewski/gpio-sysfs-add-a-parallel-class-device-for-each-GPIO-chip-using-device-IDs/20250623-170412
base: cb908f3699fb137e28017a8fdf506c35762b3eb6
patch link: https://lore.kernel.org/r/20250623-gpio-sysfs-chip-export-v2-8-d592793f8964%40linaro.org
patch subject: [PATCH v2 8/9] gpio: sysfs: allow disabling the legacy parts of the GPIO sysfs interface
config: s390-randconfig-002-20250627 (https://download.01.org/0day-ci/archive/20250627/202506271940.T2QaCrba-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project e04c938cc08a90ae60440ce22d072ebc69d67ee8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250627/202506271940.T2QaCrba-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506271940.T2QaCrba-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/gpio/gpiolib-sysfs.c:818:3: error: cannot jump from this goto statement to its label
818 | goto err_free_name;
| ^
drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
820 | char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
| ^
drivers/gpio/gpiolib-sysfs.c:811:3: error: cannot jump from this goto statement to its label
811 | goto err_put_dirent;
| ^
drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
820 | char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
| ^
drivers/gpio/gpiolib-sysfs.c:802:3: error: cannot jump from this goto statement to its label
802 | goto err_put_dirent;
| ^
drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
820 | char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
| ^
drivers/gpio/gpiolib-sysfs.c:747:3: error: cannot jump from this goto statement to its label
747 | goto err_clear_bit;
| ^
drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
820 | char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
| ^
drivers/gpio/gpiolib-sysfs.c:741:3: error: cannot jump from this goto statement to its label
741 | goto err_clear_bit;
| ^
drivers/gpio/gpiolib-sysfs.c:820:8: note: jump bypasses initialization of variable with __attribute__((cleanup))
820 | char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
| ^
>> drivers/gpio/gpiolib-sysfs.c:962:6: warning: unused variable 'err' [-Wunused-variable]
962 | int err;
| ^~~
1 warning and 5 errors generated.
vim +/err +962 drivers/gpio/gpiolib-sysfs.c
65fbd24108991d Bartosz Golaszewski 2025-06-23 798
574194e59098d9 Bartosz Golaszewski 2025-06-23 799 gdev_data = gdev_get_data(gdev);
574194e59098d9 Bartosz Golaszewski 2025-06-23 800 if (!gdev_data) {
574194e59098d9 Bartosz Golaszewski 2025-06-23 801 status = -ENODEV;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 802 goto err_put_dirent;
574194e59098d9 Bartosz Golaszewski 2025-06-23 803 }
574194e59098d9 Bartosz Golaszewski 2025-06-23 804
574194e59098d9 Bartosz Golaszewski 2025-06-23 805 list_add(&desc_data->list, &gdev_data->exported_lines);
574194e59098d9 Bartosz Golaszewski 2025-06-23 806
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 807 desc_data->attr_group.name = kasprintf(GFP_KERNEL, "gpio%u",
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 808 gpio_chip_hwgpio(desc));
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 809 if (!desc_data->attr_group.name) {
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 810 status = -ENOMEM;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 811 goto err_put_dirent;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 812 }
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 813
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 814 desc_data->parent = &gdev_data->cdev_id->kobj;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 815 status = sysfs_create_groups(desc_data->parent,
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 816 desc_data->attr_groups);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 817 if (status)
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 818 goto err_free_name;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 819
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 @820 char *path __free(kfree) = kasprintf(GFP_KERNEL, "gpio%u/value",
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 821 gpio_chip_hwgpio(desc));
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 822 if (!path) {
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 823 status = -ENOMEM;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 824 goto err_remove_groups;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 825 }
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 826
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 827 desc_data->value_chip_node = kernfs_walk_and_get(desc_data->parent->sd,
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 828 path);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 829 if (!desc_data->value_chip_node) {
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 830 status = -ENODEV;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 831 goto err_remove_groups;
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 832 }
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 833
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 834 return 0;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 835
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 836 err_remove_groups:
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 837 sysfs_remove_groups(desc_data->parent, desc_data->attr_groups);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 838 err_free_name:
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 839 kfree(desc_data->attr_group.name);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 840 err_put_dirent:
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 841 #if IS_ENABLED(CONFIG_GPIO_SYSFS_LEGACY)
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 842 sysfs_put(desc_data->value_class_node);
65fbd24108991d Bartosz Golaszewski 2025-06-23 843 err_unregister_device:
574194e59098d9 Bartosz Golaszewski 2025-06-23 844 device_unregister(desc_data->dev);
c43960fbcc514b Johan Hovold 2015-05-04 845 err_free_data:
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 846 #endif /* CONFIG_GPIO_SYSFS_LEGACY */
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23 847 kfree(desc_data);
f4af1671c28854 Bartosz Golaszewski 2024-10-31 848 err_clear_bit:
35b545332b809a Bartosz Golaszewski 2024-01-12 849 clear_bit(FLAG_EXPORT, &desc->flags);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 850 gpiod_dbg(desc, "%s: status %d\n", __func__, status);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 851 return status;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 852 }
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 853 EXPORT_SYMBOL_GPL(gpiod_export);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 854
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 855 #if IS_ENABLED(CONFIG_GPIO_SYSFS_LEGACY)
c43960fbcc514b Johan Hovold 2015-05-04 856 static int match_export(struct device *dev, const void *desc)
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 857 {
c43960fbcc514b Johan Hovold 2015-05-04 858 struct gpiod_data *data = dev_get_drvdata(dev);
c43960fbcc514b Johan Hovold 2015-05-04 859
c43960fbcc514b Johan Hovold 2015-05-04 860 return data->desc == desc;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 861 }
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 862 #endif /* CONFIG_GPIO_SYSFS_LEGACY */
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 863
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 864 /**
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 865 * gpiod_export_link - create a sysfs link to an exported GPIO node
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 866 * @dev: device under which to create symlink
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 867 * @name: name of the symlink
2d9d05192e7d1a Thierry Reding 2017-07-24 868 * @desc: GPIO to create symlink to, already exported
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 869 *
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 870 * Set up a symlink from /sys/.../dev/name to /sys/class/gpio/gpioN
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 871 * node. Caller is responsible for unlinking.
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 872 *
94bd9ce16063a2 Andy Shevchenko 2024-08-28 873 * Returns:
94bd9ce16063a2 Andy Shevchenko 2024-08-28 874 * 0 on success, or negative errno on failure.
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 875 */
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 876 int gpiod_export_link(struct device *dev, const char *name,
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 877 struct gpio_desc *desc)
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 878 {
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 879 #if IS_ENABLED(CONFIG_GPIO_SYSFS_LEGACY)
56d30ec14c1330 Johan Hovold 2015-05-04 880 struct device *cdev;
56d30ec14c1330 Johan Hovold 2015-05-04 881 int ret;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 882
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 883 if (!desc) {
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 884 pr_warn("%s: invalid GPIO\n", __func__);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 885 return -EINVAL;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 886 }
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 887
56d30ec14c1330 Johan Hovold 2015-05-04 888 cdev = class_find_device(&gpio_class, NULL, desc, match_export);
56d30ec14c1330 Johan Hovold 2015-05-04 889 if (!cdev)
56d30ec14c1330 Johan Hovold 2015-05-04 890 return -ENODEV;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 891
56d30ec14c1330 Johan Hovold 2015-05-04 892 ret = sysfs_create_link(&dev->kobj, &cdev->kobj, name);
56d30ec14c1330 Johan Hovold 2015-05-04 893 put_device(cdev);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 894
56d30ec14c1330 Johan Hovold 2015-05-04 895 return ret;
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 896 #else
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 897 return -EOPNOTSUPP;
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 898 #endif /* CONFIG_GPIO_SYSFS_LEGACY */
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 899 }
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 900 EXPORT_SYMBOL_GPL(gpiod_export_link);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 901
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 902 /**
31963eb039b7d5 Amitesh Singh 2016-09-08 903 * gpiod_unexport - reverse effect of gpiod_export()
2d9d05192e7d1a Thierry Reding 2017-07-24 904 * @desc: GPIO to make unavailable
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 905 *
31963eb039b7d5 Amitesh Singh 2016-09-08 906 * This is implicit on gpiod_free().
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 907 */
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 908 void gpiod_unexport(struct gpio_desc *desc)
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 909 {
574194e59098d9 Bartosz Golaszewski 2025-06-23 910 struct gpiod_data *desc_data = NULL;
574194e59098d9 Bartosz Golaszewski 2025-06-23 911 struct gpiodev_data *gdev_data;
574194e59098d9 Bartosz Golaszewski 2025-06-23 912 struct gpio_device *gdev;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 913
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 914 if (!desc) {
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 915 pr_warn("%s: invalid GPIO\n", __func__);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 916 return;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 917 }
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 918
f4af1671c28854 Bartosz Golaszewski 2024-10-31 919 scoped_guard(mutex, &sysfs_lock) {
72eba6f66a0017 Johan Hovold 2015-05-04 920 if (!test_bit(FLAG_EXPORT, &desc->flags))
f4af1671c28854 Bartosz Golaszewski 2024-10-31 921 return;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 922
574194e59098d9 Bartosz Golaszewski 2025-06-23 923 gdev = gpiod_to_gpio_device(desc);
574194e59098d9 Bartosz Golaszewski 2025-06-23 924 gdev_data = gdev_get_data(gdev);
574194e59098d9 Bartosz Golaszewski 2025-06-23 925 if (!gdev_data)
574194e59098d9 Bartosz Golaszewski 2025-06-23 926 return;
574194e59098d9 Bartosz Golaszewski 2025-06-23 927
574194e59098d9 Bartosz Golaszewski 2025-06-23 928 list_for_each_entry(desc_data, &gdev_data->exported_lines, list)
574194e59098d9 Bartosz Golaszewski 2025-06-23 929 if (desc == desc_data->desc)
574194e59098d9 Bartosz Golaszewski 2025-06-23 930 break;
574194e59098d9 Bartosz Golaszewski 2025-06-23 931
574194e59098d9 Bartosz Golaszewski 2025-06-23 932 if (!desc_data)
f4af1671c28854 Bartosz Golaszewski 2024-10-31 933 return;
72eba6f66a0017 Johan Hovold 2015-05-04 934
574194e59098d9 Bartosz Golaszewski 2025-06-23 935 list_del(&desc_data->list);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 936 clear_bit(FLAG_EXPORT, &desc->flags);
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 937 #if IS_ENABLED(CONFIG_GPIO_SYSFS_LEGACY)
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23 938 sysfs_put(desc_data->value_class_node);
574194e59098d9 Bartosz Golaszewski 2025-06-23 939 device_unregister(desc_data->dev);
d6fe296d76af3f Bartosz Golaszewski 2025-06-23 940 #endif /* CONFIG_GPIO_SYSFS_LEGACY */
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 941 sysfs_remove_groups(desc_data->parent, desc_data->attr_groups);
d65a6b43cccca4 Bartosz Golaszewski 2025-06-23 942 kernfs_put(desc_data->value_chip_node);
72eba6f66a0017 Johan Hovold 2015-05-04 943
54d9acd7540995 Johan Hovold 2015-05-04 944 /*
f4af1671c28854 Bartosz Golaszewski 2024-10-31 945 * Release irq after deregistration to prevent race with
f4af1671c28854 Bartosz Golaszewski 2024-10-31 946 * edge_store.
54d9acd7540995 Johan Hovold 2015-05-04 947 */
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23 948 if (desc_data->irq_flags)
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23 949 gpio_sysfs_free_irq(desc_data);
f4af1671c28854 Bartosz Golaszewski 2024-10-31 950 }
72eba6f66a0017 Johan Hovold 2015-05-04 951
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23 952 mutex_destroy(&desc_data->mutex);
d54627a4c4f9a8 Bartosz Golaszewski 2025-06-23 953 kfree(desc_data);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 954 }
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 955 EXPORT_SYMBOL_GPL(gpiod_unexport);
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 956
afbc4f312b5e6e Linus Walleij 2016-02-09 957 int gpiochip_sysfs_register(struct gpio_device *gdev)
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 958 {
fd19792851db77 Bartosz Golaszewski 2025-06-10 959 struct gpiodev_data *data;
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23 960 struct gpio_chip *chip;
513246a34b8dc5 Bartosz Golaszewski 2023-12-21 961 struct device *parent;
e6bb78570f7d53 Antonio Quartulli 2025-06-23 @962 int err;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 963
426577bd8846d6 Johan Hovold 2015-05-04 964 /*
426577bd8846d6 Johan Hovold 2015-05-04 965 * Many systems add gpio chips for SOC support very early,
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 966 * before driver model support is available. In those cases we
426577bd8846d6 Johan Hovold 2015-05-04 967 * register later, in gpiolib_sysfs_init() ... here we just
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 968 * verify that _some_ field of gpio_class got initialized.
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 969 */
6f14c02220c791 Greg Kroah-Hartman 2023-03-31 970 if (!class_is_registered(&gpio_class))
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 971 return 0;
0eb4c6c2671ca0 Alexandre Courbot 2014-07-01 972
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23 973 guard(srcu)(&gdev->srcu);
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23 974
d82b9e0887e69d Bartosz Golaszewski 2024-02-14 975 chip = srcu_dereference(gdev->chip, &gdev->srcu);
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23 976 if (!chip)
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23 977 return -ENODEV;
d83cee3d2bb131 Bartosz Golaszewski 2024-01-23 978
d27c17285eb7eb Bamvor Jian Zhang 2016-02-24 979 /*
d27c17285eb7eb Bamvor Jian Zhang 2016-02-24 980 * For sysfs backward compatibility we need to preserve this
d27c17285eb7eb Bamvor Jian Zhang 2016-02-24 981 * preferred parenting to the gpio_chip parent field, if set.
d27c17285eb7eb Bamvor Jian Zhang 2016-02-24 982 */
d27c17285eb7eb Bamvor Jian Zhang 2016-02-24 983 if (chip->parent)
d27c17285eb7eb Bamvor Jian Zhang 2016-02-24 984 parent = chip->parent;
d27c17285eb7eb Bamvor Jian Zhang 2016-02-24 985 else
d27c17285eb7eb Bamvor Jian Zhang 2016-02-24 986 parent = &gdev->dev;
d27c17285eb7eb Bamvor Jian Zhang 2016-02-24 987
fd19792851db77 Bartosz Golaszewski 2025-06-10 988 data = kmalloc(sizeof(*data), GFP_KERNEL);
fd19792851db77 Bartosz Golaszewski 2025-06-10 989 if (!data)
fd19792851db77 Bartosz Golaszewski 2025-06-10 990 return -ENOMEM;
fd19792851db77 Bartosz Golaszewski 2025-06-10 991
fd19792851db77 Bartosz Golaszewski 2025-06-10 992 data->gdev = gdev;
574194e59098d9 Bartosz Golaszewski 2025-06-23 993 INIT_LIST_HEAD(&data->exported_lines);
3ff74be5c1a72d Johan Hovold 2015-05-04 994
f4af1671c28854 Bartosz Golaszewski 2024-10-31 995 guard(mutex)(&sysfs_lock);
fd19792851db77 Bartosz Golaszewski 2025-06-10 996
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists