The speaker, Bartosz Gowaszewski from Linaro, discussed an issue with certain device drivers in the kernel that allocate memory using DevRes, which can lead to use-after-free bugs. He explained how typical probe functions work without DevRes and how using DevRes can improve code readability and safety. However, he mentioned that some maintainers are cautious about using DevRes due to potential crashes. Bartosz investigated several subsystems in the kernel, such as GPIO, I2C, UART, and SPI, and identified issues with memory management and concurrency. He concluded that the problem lies in allowing drivers to allocate and control the lifetime of the struct device, and suggested using clean-up attributes in combination with reference counting as a possible solution. He also mentioned a patch from Dan Williams that addresses the race condition between user-space access and the remove function in character devices. Bartosz acknowledged the complexity of fixing the issue in subsystems like I2C and expressed doubt that it would be easy to resolve. He proposed that driver developers should not be expected to understand all the intricacies of kernel subsystems and should rely on "magic" interfaces to solve problems. Bartosz also briefly mentioned the possibility of using Rust as a safer alternative to C for kernel development.