##(see the SpecSpec for an explanation) * '''Launchpad Entry''': UbuntuSpec:other-kernel-o-ubuntu-delta-review * '''Created''': * '''Contributors''': * '''Packages affected''': == Summary == Review of the current Ubuntu Kernel patch delta from upstream. This session will look at the current delta comprised of both patches to the core and the ubuntu specific drivers. The aim is to record what we are carrying, review the reasons for that component(s) to be carried, and recommend replacements, updates, cleanups, upstreaming etc of those components. == Release Note == TBD == Rationale == All patches and drivers carried in the Ubuntu delta are not automatically sync'd with the upstream kernel for various reasons. This places a maintenance burden on the Ubuntu kernel team. These patches and drivers must be regularly reviewed to determine if they are still needed, if they need updating to a later version, or if they are now ready for upstream acceptance. The purpose of this blueprint is to facilitate and record this review for the Oneiric cycle. This review is based on the the initial Natty sync to Oneiric, at the Ubuntu2.6.38-7.39- release. The delta at that point was broken down as below: ||# patches || comment || || 534 || patches on top of the v2.6.38 kernel || || 14 || patches which are now upstream (stable et al) - we hadn't rebased Natty to stable yet when we opened Oneiric || || 106 || SAUCE patches || || 294 || debian commits (configuration updates and build machinary) || || 58 || ubuntu/ driver patches || || 62 || patches added then reverted (eg. 31 applied, then reverted) || == Ubuntu Delta == === Patches now upstream === 1. (drop after v2.6.38) x86, quirk: Fix SB600 revision check 1. (drop after 2.6.38) ahci: AHCI mode SATA patch for Intel Patsburg SATA RAID controller 1. UBUNTU: SAUCE: Apply OPTION_BLACKLIST_SENDSETUP also for ZTE MF626 1. UBUNTU: SAUCE: (drop after 2.6.38) eeepc-wmi: add wlan key found on 1015P 1. UBUNTU: SAUCE: (drop after 2.6.38) eeepc-wmi: reorder keymap 1. UBUNTU: SAUCE: match up ENTRY/END naming for 32/64 bit 1. UBUNTU: SAUCE: Dell All-In-One: Remove need for Dell module alias 1. UBUNTU: SAUCE: Dell WMI: Use sparse keymaps and tidy up code. 1. UBUNTU: SAUCE: Add WMI hotkeys support for another Dell All-In-One series 1. UBUNTU: SAUCE: Add WMI hotkeys support for Dell All-In-One series 1. UBUNTU: SAUCE: (drop after 2.6.38) use %pK for /proc/kallsyms and /proc/modules' 1. UBUNTU: SAUCE: OMAP3630: PM: don't warn the user with a trace in case of PM34XX_ERRATUM 1. winbond: include linux/delay.h for mdelay et al 1. UBUNTU: SAUCE: enable Marvell 9128 PCIe SATA controller === Ubuntu Drivers === 1. AUFS -- union mount support 1. UBUNTU: SAUCE: Fix aufs calling of security_path_mknod 1. UBUNTU: ubuntu: AUFS -- update to 65835da20b77c98fb538c9114fc31f5de1328230 1. UBUNTU: ubuntu: AUFS -- update to b1cee06249dfa0ab30951e7f06490a75c155b620 1. UBUNTU: ubuntu: AUFS -- suppress benign plink warning messages 1. UBUNTU: ubuntu: AUFS -- update to 806051bcbeec27748aae2b7957726a4e63ff308e 1. UBUNTU: ubuntu: AUFS -- update to c5021514085a5d96364e096dbd34cadb2251abfd 1. UBUNTU: ubuntu: AUFS -- include the aufs_types.h file in linux-libc-headers 1. UBUNTU: ubuntu: AUFS -- update to 097bf62d6f49619359d34bf17f242df38562489a 1. UBUNTU: ubuntu: AUFS -- track changes to llseek in v2.6.37-rc1 1. UBUNTU: ubuntu: AUFS -- track changes to work queue initialisation 1. UBUNTU: ubuntu: AUFS -- update to aufs2.1-36-UNRELEASED-20101103 1. UBUNTU: ubuntu: AUFS -- add BOM and automated update script *'''Comments:''' Currently disabled in Oneiric due to build failure: {{{ UBUNTU: [Config] Disable CONFIG_AUFS_FS Build error after rebase to 2.6.39-rc1. Temporarily disable. ubuntu-2.6/ubuntu/aufs/super.c:453:13: error: 'inode_lock' undeclared (first use in this function) }}} 1. compcache - compressed memory swap support 1. UBUNTU: ubuntu: compcache -- follow changes to bd_claim/bd_release 1. UBUNTU: ubuntu: compcache -- version 0.5.3 * '''Comments:''' Can we drop this yet? I believe userspace bits have been updated to support the newer ramzswap driver? * This can now be DROPPED because we have zram in the kernel, need to fix userspace to use the new first. * DROPPED (apw) 1. dm-raid4-5 - software raid support 1. UBUNTU: ubuntu: dm-raid4-5 -- follow changes to bio flags 1. UBUNTU: ubuntu: dm-raid4-5 -- update to compile with 2.6.34-rc4 1. UBUNTU: ubuntu: dm-raid4-5 -- update to compile with 2.6.34-rc2 1. UBUNTU: ubuntu: dm-raid4-5 -- update to compile with 2.6.33 1. UBUNTU: ubuntu: dm-raid4-5: Depend on XOR_BLOCKS 1. UBUNTU: ubuntu: dm-raid-45 -- update to compile with 2.6.32 1. UBUNTU: ubuntu: dm-raid45 -- version 2009.04.24 (2.6.30-rc3) * '''Comments:''' No new updates since Apr 2009. Currently disabled in Oneiric due to build failure. Should we drop this? * http://people.redhat.com/~heinzm/sw/dm/dm-raid45/ {{{ UBUNTU: [Config] Disable CONFIG_DM_RAID45 Build error after rebase to 2.6.39-rc1. Temporarily disable. ubuntu-2.6/ubuntu/dm-raid4-5/dm-raid4-5.c:3286:4: error: implicit declaration of function 'blk_unplug' }}} * '''Updated Info:''' * Module is needed to activate RAID4 and RAID5 configurations with dmraid (package). This reads the meta-data created by BIOS supported soft-RAID implementations and creates device-mapper targets. * Upstream indicated that the dm-raid45 module is seen as deprecated and dm-raid (a RAID 4/5/6 target) would be the replacement. However currently available versions of the user-space application do not support this. The difference between both targets is substantial from the point of table formats. This means to create a mapping with the new target the user-space side has to change substantially. * So currently we will need to go with the old module. 1. fsam7400 - SW RF kill switch for Fujitsu Siemens Amilo M 7400 / Maxdata 7000DX and compatible hardware. 1. UBUNTU: ubuntu: fsam7400: Depend on CHECK_SIGNATURE 1. UBUNTU: ubuntu: fsam7400 -- Cleanup Makefile 1. UBUNTU: UBUNTU: ubuntu: fsam7400 -- kill switch for Fujitsu Siemens Amilo M 7400 * '''Comments:''' No new updates since Nov 2008 (v0.5.2). Leave as is or drop this? * http://www.iragan.com/linux/fsam7400/ 1. iscsitarget - internet connected disk connectivity support 1. UBUNTU: ubuntu: iscsitarget -- follow changes to open_bdev_exclusive 1. UBUNTU: ubuntu: iscsitarget -- convert NIPQUAD to %pI4 1. UBUNTU: ubuntu: iscsitarget -- follow changes to semaphore initialisation 1. UBUNTU: ubuntu: iscsitarget -- re-instate copy_io_context 1. UBUNTU: ubuntu: iscsitarget -- version 1.4.20.2 1. UBUNTU: ubuntu: iscsitarget -- version 1.4.20.1 1. UBUNTU: ubuntu: iscsitarget -- rename daddr inet_sock field 1. UBUNTU: ubuntu: iscsitarget --- version 1.4.19 *'''Comments:''' No new updates since July 2010 (v1.4.20.2). Currently disabled in Oneiric due to build failure. * http://iscsitarget.sourceforge.net/ {{{ UBUNTU: [Config] Disable CONFIG_SCSI_ISCSITARGET Build error after rebase to 2.6.39-rc1. Temporarily disable. ubuntu-2.6/ubuntu/iscsitarget/block-io.c:130:22: error: 'struct request_queue' has no member named 'unplug_fn' }}} 1. ndiswrapper - windows network driver support 1. UBUNTU: ubuntu: ndiswrapper -- fix interaction between __packed and packed 1. UBUNTU: ubuntu: ndiswrapper -- follow removal of the BKL and locked ioctl 1. UBUNTU: ubuntu: ndiswrapper -- update BOM to match actual version 1. UBUNTU: SAUCE: ndiswrapper: Initialize buffer index and check its value 1. UBUNTU: SAUCE: make ndiswrapper available on X86 only 1. UBUNTU: SAUCE: ndiswrapper: convert multicast list to list_head 1. UBUNTU: SAUCE: ndiswrapper: rename usb_buffer_alloc() and usb_buffer_free() 1. UBUNTU: SAUCE: Updated ndiswrapper to 1.56 1. UBUNTU: ubuntu: ndiswrapper -- version 1.55 * '''Comments:''' No new updates since Feb 2010 (v1.56) * http://sourceforge.net/project/showfiles.php?group_id=93482 1. omnibook - HP OmniBook support module 1. UBUNTU: SAUCE: omnibook: fix source file newline 1. UBUNTU: ubuntu: omnibook -- update BOM 1. UBUNTU: SAUCE: Make CONFIG_{OMNIBOOK, AVERATEC_5100P, PACKARDBELL_E5} depend on X86 1. UBUNTU: ubuntu: onmibook -- Added missing BOM file 1. UBUNTU: ubuntu: omnibook -- support Toshiba (HP) netbooks *'''Comments:''' No new updates since Feb 2007. * http://sourceforge.net/projects/omnibook/ 1. rfkill - various rfkill drivers 1. UBUNTU: SAUCE: Make CONFIG_{OMNIBOOK, AVERATEC_5100P, PACKARDBELL_E5} depend on X86 1. UBUNTU: ubuntu: rfkill drivers -- version 1.3 *'''Comments:''' No new updates since March 2008 (v1.3) * http://sourceforge.net/projects/rfswitch/files/ 1. rtl8192se - realtek network controller 1. UBUNTU: SAUCE: rtl8192se: fix source file newline 1. UBUNTU: SAUCE: rtl8192se: fix source file perms 1. UBUNTU: SAUCE: enable rfkill for rtl8192se driver 1. UBUNTU: ubuntu: rtl8192se -- update to version 0017.0507.2010 1. UBUNTU: ubuntu: rtl8192se -- update to version 0015.0127.2010 1. UBUNTU: ubuntu: rtl8192se -- version 2010-0115,0014 *'''Comments:''' Why is this not yet in upstream staging? === Ubuntu Patches (not for upstream) === 1. UBUNTU: (no-up) add support for installed header files to ubuntu directory 1. UBUNTU: (no-up): document the new ## scheme 1. UBUNTU: SAUCE: (no-up) ARM: Resetting power_mode to its original value. 1. UBUNTU: SAUCE: (no-up) Modularize vesafb -- fix initialisation 1. UBUNTU: SAUCE: (no-up) dma-mapping: Remove WARN_ON in dma_free_coherent 1. UBUNTU: SAUCE: (no-up) cdrom -- default to not locking the tray when in use 1. UBUNTU: SAUCE: (no-up) PM report driver and device suspend/resume times. 1. UBUNTU: (no-up) arm -- enable ubuntu/ directory 1. UBUNTU: SAUCE: (no-up) select a v7 CPU for versatile 1. UBUNTU: SAUCE: (no-up) set /proc/acpi/video/*/DOS to 4 by default 1. UBUNTU: SAUCE: (no-up) trace: add trace events for open(), exec() and uselib() 1. UBUNTU: SAUCE: (no-up) raise the default console 'quiet' level to 2 1. UBUNTU: SAUCE: (no-up) disable adding scsi headers to linux-libc-dev 1. UBUNTU: SAUCE: (no-up) nbd: Change default partitions per device to 15 1. UBUNTU: SAUCE: (no-up) swap: Add notify_swap_entry_free callback for compcache 1. UBUNTU: SAUCE: (no-up) hostap: Change initial operation mode to managed (infra) 1. UBUNTU: SAUCE: (no-up) version: Implement version_signature proc file. 1. UBUNTU: SAUCE: (no-up) Modularize vesafb 1. UBUNTU: (no-up) fold down debian for ubuntu-natty 2.6.36 rebase 1. UBUNTU: [Config] Note dropped SAUCE patches from 2.6.36 to 2.6.37 * Marked as '(no-up)' in Oneiric 1. UBUNTU: more dropped patches * Marked as '(no-up)' in Oneiric 1. UBUNTU: Added dropped patch list * Marked as '(no-up)' in Oneiric === Ubuntu Patches (for review) === 1. Andy Whitcroft 1. UBUNTU: SAUCE: drm/i915: Fix pipelined fencing 1. UBUNTU: SAUCE: match up ENTRY/END naming for 32/64 bit 1. UBUNTU: SAUCE: (drop after 2.6.38) Convert net %p usage %pK 1. brcm80211: include linux/slab.h for kfree 1. UBUNTU: SAUCE: x86 fix up jiffies/jiffies_64 handling 1. UBUNTU: SAUCE: fbcon -- fix OOPs triggered by race prevention fixes 1. UBUNTU: SAUCE: fbcon -- fix race between open and removal of framebuffers 1. UBUNTU: SAUCE: hotkey quirks for various Zeptro Znote and Fujitsu Amilo laptops * DROPPED (already) [apw] 1. UBUNTU: SAUCE: Yama: follow changes to generic_permission * already in the upstream yama tree, merge with ubuntu * TITLE UPDATED [apw] 1. UBUNTU: SAUCE: add tracing for user initiated readahead requests 1. UBUNTU: SAUCE: vfs: Add a trace point in the mark_inode_dirty function * should be marked (no up) * MARKED (no-up) [apw] 1. Add support for Intellimouse Mode in ALPS touchpad on Dell E2 series Laptops * upstream has rejected this approach, wanting proper support for the touchpad * http://www.spinics.net/lists/linux-input/msg14242.html * mark (no up) for now * MARKED (no-up) [apw] 1. x86, mce: Make xeon75xx memory driver dependent on PCI 1. x86, mce: Rename cpu_specific_poll to mce_cpu_specific_poll 1. x86, mce: Xeon75xx specific interface to get corrected memory error information * Should be landing upstream * WAITING ON UPSTREAMING, NO ACTION [apw] 1. UBUNTU: SAUCE: fix documentation strings for struct input_keymap_entry * no longer needed * DROPPED [apw] 1. tty: include linux/slab.h for kfree 1. gpio/ml_ioh_gpio: include linux/slab.h for kfree 1. pch_dma: add include/slab.h for kfree * unsure which architecture required these, need to confirm and upstream * not needed for main, armel or powerpc builds * DROPPED [apw] 1. sched: tg->se->load should be initialised to tg->shares * looks like this may have been superceeded or lost, emailed the originator for clarification 1. UBUNTU: [Upstream] add local prefix to oss local change_bits * push upstream * patch cleaned up and shoved upstream * UPSTREAMED [apw] 1. UBUNTU: SAUCE: add option to hand off all kernel parameters to init 1. UBUNTU: SAUCE: khubd -- switch USB product/manufacturer/serial handling to RCU 1. UBUNTU: SAUCE: drm -- stop early access to drm devices * push upstream 1. Revert "mmc: fix all hangs related to mmc/sd card insert/removal during suspend/resume" 1. UBUNTU: SAUCE: vt -- fix handoff numbering to 1..n and add range checks (grub) 1. UBUNTU: SAUCE: vt -- fix handoff numbering to 1..n and add range checks 1. UBUNTU: SAUCE: vt -- allow grub to request automatic vt_handoff 1. UBUNTU: SAUCE: vt -- maintain bootloader screen mode and content until vt switch * merge fixes into primary patches * FIXES MERGED [apw] 1. UBUNTU: SAUCE: ensure root is ready before running usermodehelpers in it 1. UBUNTU: SAUCE: Make populate_rootfs asynchronous 1. UBUNTU: SAUCE: fix build error with CONFIG_BLK_DEV_INITRD=n * squash into "UBUNTU: SAUCE: Make populate_rootfs asynchronous" 1. UBUNTU: SAUCE: acpi battery -- move first lookup asynchronous 1. UBUNTU: SAUCE: async_populate_rootfs: move rootfs init earlier 1. UBUNTU: SAUCE: isapnp_init: make isa PNP scans occur async 1. Brad Figg 1. UBUNTU: SAUCE: Increase the default prealloc buffer for HDA audio devices (non-modem) 1. This is still a nice patch to carry. It helps with audio in a general sense. mark (no-up) on next rebase. We'll carry this indefinitely. 1. Eric Miao 1. UBUNTU: SAUCE: Make CONFIG_{OMNIBOOK, AVERATEC_5100P, PACKARDBELL_E5} depend on X86 {{{ We've disabled the ubuntu/onmibook and ubuntu/rfkill driver's for now in Oneiric. So there's nothing to do for this patch at the moment }}} 1. Henrik Rydberg 1. hid: ntrig: Mask pen switch events 1. hid: ntrig: Support single-touch devices 1. UBUNTU: SAUCE: hid: ntrig: Setup input filtering manually 1. UBUNTU: SAUCE: hid: ntrig: remove sysfs nodes 1. UBUNTU: SAUCE: hid: ntrig: zero-initialize ntrig struct 1. UBUNTU: SAUCE: hid: ntrig: Correct logic for quirks 1. UBUNTU: SAUCE: hid: ntrig: Remove unused device ids {{{ Continue to carry all of the above hid nitrig patches as they have not yet landed upstream }}} 1. John Johansen 1. UBUNTU: SAUCE: Fix aufs calling of security_path_mknod 1. UBUNTU: SAUCE: AppArmor: Fix unpack of network tables. 1. AppArmor: compatibility patch for v5 interface 1. AppArmor: compatibility patch for v5 network controll 1. UBUNTU: SAUCE: Improve Amazon EBS performance for EC2 1. UBUNTU: SAUCE: fix pv-ops for legacy Xen 1. UBUNTU: SAUCE: AppArmor: Allow dfa backward compatibility with broken userspace {{{ basically keep all the patches. Though the AA patches are going to get an update, but that will happen when I finish up and get the pull request together. }}} 1. Kees Cook 1. Yama: fix default relationship to check thread group 1. Yama: use thread group leader when creating match 1. UBUNTU: SAUCE: proc: hide kernel addresses via %pK in /proc//stack * Should be landing upstream 1. nx-emu: fix inverted report of disable_nx 1. UBUNTU: SAUCE: nx-emu: use upstream ASLR when possible 1. mmap randomization for executable mappings on 32-bit 1. nx-emu: standardize boottime message prefix 1. nx-emu: drop exec-shield sysctl, merge with disable_nx 1. i386: NX emulation 1. UBUNTU: SAUCE: fix compilation warning when CONFIG_SECURITY is not set 1. UBUNTU: SAUCE: Yama: verify inode is symlink to avoid bind mounts 1. UBUNTU: SAUCE: Yama: search for PTRACE exceptions via thread group leader 1. UBUNTU: SAUCE: Yama: check PTRACE using thread group leader 1. UBUNTU: SAUCE: security: unconditionally chain to Yama LSM 1. UBUNTU: SAUCE: Yama: add PTRACE exception tracking and interface 1. UBUNTU: SAUCE: security: create task_free security callback 1. UBUNTU: [Upstream] security: Yama LSM 1. Lee Jones 1. UBUNTU: SAUCE: OMAP: DSS2: enable hsclk in dsi_pll_init for OMAP36XX 1. UBUNTU: SAUCE: OMAP: DSS2: check for both cpu type and revision, rather than just revision 1. UBUNTU: SAUCE: ARM: OMAP: Add macros for comparing silicon revision * referred to upstream * these can all be dropped * DROPPED [ogasawara] 1. UBUNTU: Stop ARM boards crashing when CUPS is loaded * definatly needed will not go upstream in this form, should be (no-up) 1. Manoj Iyer 1. Quirk to fix suspend/resume on Lenovo Edge 11,13,14,15 1. UBUNTU: SAUCE: (drop after 2.6.38) add ricoh 0xe823 pci id. 1. UBUNTU: SAUCE: Added quirk to recognize GE0301 3G modem as an interface. {{{ ogasawara, in delta review Manoj Iyer Quirk to fix suspend/resume on Lenovo Edge 11,13,14,15 UBUNTU: SAUCE: (drop after 2.6.38) add ricoh 0xe823 pci id. those two patches can be dropped as they should be in stable already ogasawara, the 3rd one has original author as Timo so I have emailed him to report the status }}} 1. Mathieu J. Poirier 1. UBUNTU: SAUCE: ARM: Adding vdd_sdi regulator supply to OMAP3EVM 1. UBUNTU: ARM: Adding regulator supply for vdds_sdi. {{{ [10:00:49] I took a look at the patches you identified [10:00:59] vdd_sdi, for omap processors. [10:01:49] ogasawara: those patches have been refused upstream. Arnd wanted an change to how the display subsystem was discovering the output, somehting I couldn't do. [10:02:17] ogasawara: I'm sure it was fixed by someone but I don't have the HW anymore. [10:02:43] mpoirier: do you know who has hw now? [10:02:57] ogasawara: no clue - mobile team most likely. [10:03:02] mpoirier: if it was indeed fixed, we could probably drop those patches, but would be good to test and confirm first. [10:03:23] ogasawara: ya, I'd like to test before giving the go ahead. [10:03:55] mpoirier: thanks, I'll make a note to carry them for now and drop only after testing }}} 1. Ricardo Salveti de Araujo 1. UBUNTU: SAUCE: omap3: beaglexm: fix DVI initialization 1. Tim Gardner 1. UBUNTU: SAUCE: Disable building the ACPI debugfs source {{{ mark (no-up) on next rebase. We'll carry this indefinitely. }}} 1. UBUNTU: Sony laptop: Some Sony Vaia laptops do not enable wwan power by default {{{ mark (no-up) on next rebase. We'll carry this indefinitely. }}} 1. Timo Aaltonen 1. UBUNTU: SAUCE: Added quirk to recognize GE0301 3G modem as an interface. * this is a valid patch and should be upstreamed. Keep until it collides. * UPSTREAM == Patches dropped during the Natty rebase cycle == 1. UBUNTU: SAUCE: (no-up) Restore VT fonts on switch * Results in a build failure due to it being a consumer of the BKL == BoF agenda and discussion == {{{ #uds-o #other #kernel-delta-review put your session notes here https://wiki.ubuntu.com/Kernel/Dev/StablePatchFormat On kernel opening, we strip the ubuntu delta removing all of the old patches which so upstream. Ubuntu Drivers - AUFS - need to get this updated - need to review overlayfs - COMPCACHE - We should be able to drop this once the support for the new form is in which is simple. - dm-raid-45 - Seems to _still_ be needed. Needs fixing. - fsam7400 - unknown if these are still needed - disable and see who screams - iscsitarget - likely to be needed, needs fixing - NDISWrapper - is in active use, and working, still needed - omnibook - disable and see who screams - rfkill - disable and see who screams - rtl8192se - why is this not in staging, need to investigate Should pull Apparmour, yama, and NX up as UBUNTU: ubuntu: ACTION [apw] update aufs2 for alpha-1 [apw] review overlayfs [stefan-bader-canonical] dm-raid-45: update and re-enable [leannogasawara] investigate fujitsu system in HEXR, are we able to test and confirm if we really need the fsam7400 delta? [leannogasawara] fix up iscsitarget build failure; ask server team what they need it for and if they can test it. ping server team mailing list.(https://lists.ubuntu.com/mailman/listinfo/ubuntu-server) [leannogasawara] omnibook, rfkill, fsam7400 - disable in O. If no one screams we'll completely yank the code in P [leannogasawara] follow up with OEM about rlt8192se and why we need to carry this and why is this not upstream in staging [leannogasawara] add alpha1 work items for individual developers with patches to review [leannogasawara] ping henrik rydberg about his patches [kees] revert Yama and nx-emu patches [kees] merge new Yama and nx-emu patches with UBUNTU: ubuntu: $name, send pull request [leannogasawara] just drop the easycap FTBS sauce patch }}} == Results == === Compcache === We have been carrying compcache for some time. We now have an official merge of the zram driver which is and updated version of ramzswap which is actually what we have been carrying and using. Investigations showed that our version of ramzswap was no longer functioning currectly failing to load at boot times, it also showed that userspace was actually unable to load the driver (separatly) due to changes in udev. As userspace needed fixing we decided to migrate to zram. This allowed us to drop this driver from the Ubuntu delta. ---- CategorySpec