Merge changes from sid up to 3.16.7-ckt4-1
svn path=/dists/trunk/linux/; revision=22265
This commit is contained in:
commit
10f7943320
|
@ -68,9 +68,9 @@ class Main(object):
|
|||
self.version = changelog.version.linux_version
|
||||
self.version_source = changelog.version.complete
|
||||
|
||||
local_config = ConfigCoreDump(fp=open("debian/config.defines.dump", "rb"))
|
||||
self.config = ConfigCoreDump(fp=open("debian/config.defines.dump", "rb"))
|
||||
|
||||
self.version_abi = local_config['version', ]['abiname']
|
||||
self.version_abi = self.config['version', ]['abiname']
|
||||
|
||||
def __call__(self):
|
||||
self.dir = tempfile.mkdtemp(prefix='abiupdate')
|
||||
|
@ -99,13 +99,18 @@ class Main(object):
|
|||
return base_out
|
||||
|
||||
def get_abi(self, arch, prefix):
|
||||
filename = "linux-headers-%s-%s_%s_%s.deb" % (self.version_abi, prefix, self.version_source, arch)
|
||||
try:
|
||||
version_abi = (self.config['version',]['abiname_base'] + '-' +
|
||||
self.config['abi', arch]['abiname'])
|
||||
except KeyError:
|
||||
version_abi = self.version_abi
|
||||
filename = "linux-headers-%s-%s_%s_%s.deb" % (version_abi, prefix, self.version_source, arch)
|
||||
f = self.retrieve_package(self.url, filename, arch)
|
||||
d = self.extract_package(f, "linux-headers-%s_%s" % (prefix, arch))
|
||||
f1 = d + "/usr/src/linux-headers-%s-%s/Module.symvers" % (self.version_abi, prefix)
|
||||
f1 = d + "/usr/src/linux-headers-%s-%s/Module.symvers" % (version_abi, prefix)
|
||||
s = Symbols(open(f1))
|
||||
shutil.rmtree(d)
|
||||
return s
|
||||
return version_abi, s
|
||||
|
||||
def get_config(self):
|
||||
filename = "linux-support-%s_%s_all.deb" % (self.version_abi, self.version_source)
|
||||
|
@ -129,8 +134,8 @@ class Main(object):
|
|||
f_out.write(r)
|
||||
return filename_out
|
||||
|
||||
def save_abi(self, symbols, arch, featureset, flavour):
|
||||
dir = "debian/abi/%s" % self.version_abi
|
||||
def save_abi(self, version_abi, symbols, arch, featureset, flavour):
|
||||
dir = "debian/abi/%s" % version_abi
|
||||
if not os.path.exists(dir):
|
||||
os.makedirs(dir)
|
||||
out = "%s/%s_%s_%s" % (dir, arch, featureset, flavour)
|
||||
|
@ -170,8 +175,8 @@ class Main(object):
|
|||
else:
|
||||
localversion = featureset + '-' + flavour
|
||||
|
||||
abi = self.get_abi(arch, localversion)
|
||||
self.save_abi(abi, arch, featureset, flavour)
|
||||
version_abi, abi = self.get_abi(arch, localversion)
|
||||
self.save_abi(version_abi, abi, arch, featureset, flavour)
|
||||
self.log("Ok.\n")
|
||||
except HTTPError as e:
|
||||
self.log("Failed to retrieve %s: %s\n" % (e.filename, e))
|
||||
|
|
|
@ -45,13 +45,11 @@ class CheckAbi(object):
|
|||
|
||||
self.filename_new = "%s/Module.symvers" % dir
|
||||
|
||||
upstream_version = self.config['version',]['upstream']
|
||||
try:
|
||||
version_abi = (upstream_version + '-' +
|
||||
version_abi = (self.config['version',]['abiname_base'] + '-' +
|
||||
self.config['abi', arch]['abiname'])
|
||||
except KeyError:
|
||||
version_abi = (upstream_version + '-' +
|
||||
self.config['abi', ]['abiname'])
|
||||
version_abi = self.config['version',]['abiname']
|
||||
self.filename_ref = "debian/abi/%s/%s_%s_%s" % (version_abi, arch, featureset, flavour)
|
||||
|
||||
def __call__(self, out):
|
||||
|
@ -175,6 +173,8 @@ class CheckImage(object):
|
|||
self.dir = dir
|
||||
self.arch, self.featureset, self.flavour = arch, featureset, flavour
|
||||
|
||||
self.changelog = Changelog(version=VersionLinux)[0]
|
||||
|
||||
self.config_entry_base = config.merge('base', arch, featureset, flavour)
|
||||
self.config_entry_build = config.merge('build', arch, featureset, flavour)
|
||||
self.config_entry_image = config.merge('image', arch, featureset, flavour)
|
||||
|
@ -214,7 +214,20 @@ class CheckImage(object):
|
|||
out.write('Image too large (%d > %d)! Refusing to continue.\n' % (size, value))
|
||||
return 1
|
||||
|
||||
out.write('Image fits (%d <= %d). Continuing.\n' % (size, value))
|
||||
# 1% overhead is desirable in order to cope with growth
|
||||
# through the lifetime of a stable release. Warn if this is
|
||||
# not the case.
|
||||
usage = (float(size)/value) * 100.0
|
||||
out.write('Image size %d/%d, using %.2f%%. ' % (size, value, usage))
|
||||
if size > value:
|
||||
sys.write('Too large. Refusing to continue.\n')
|
||||
return 1
|
||||
elif usage >= 99.0:
|
||||
out.write('Under 1%% space in %s. ' % self.changelog.distribution)
|
||||
else:
|
||||
out.write('Image fits. ')
|
||||
out.write('Continuing.\n')
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
|
|
|
@ -479,6 +479,7 @@ class Gencontrol(Base):
|
|||
}
|
||||
self.config['version', ] = {'source': self.version.complete,
|
||||
'upstream': self.version.linux_upstream,
|
||||
'abiname_base': self.abiname_version,
|
||||
'abiname': (self.abiname_version +
|
||||
self.abiname_part)}
|
||||
|
||||
|
|
|
@ -112,6 +112,309 @@ linux (3.17~rc5-1~exp1) experimental; urgency=medium
|
|||
|
||||
-- maximilian attems <maks@debian.org> Thu, 18 Sep 2014 23:50:00 +0200
|
||||
|
||||
linux (3.16.7-ckt4-1) unstable; urgency=medium
|
||||
|
||||
* New upstream stable update:
|
||||
http://kernel.ubuntu.com/stable/ChangeLog-3.16.7-ckt3
|
||||
- [x86] kvm: use alternatives for VMCALL vs. VMMCALL if kernel text is
|
||||
read-only
|
||||
- [sparc*] Fix constraints on swab helpers.
|
||||
- inetdevice: fixed signed integer overflow
|
||||
- ieee802154: fix error handling in ieee802154fake_probe()
|
||||
- bonding: fix curr_active_slave/carrier with loadbalance arp monitoring
|
||||
(regression in 3.14)
|
||||
- pptp: fix stack info leak in pptp_getname()
|
||||
- ipx: fix locking regression in ipx_sendmsg and ipx_recvmsg
|
||||
- net/mlx4_en: Add VXLAN ndo calls to the PF net device ops too
|
||||
(regression in 3.15)
|
||||
- net/mlx4_en: Advertize encapsulation offloads features only when VXLAN
|
||||
tunnel is set (regression in 3.15)
|
||||
- target: Don't call TFO->write_pending if data_length == 0
|
||||
- vhost-scsi: Take configfs group dependency during VHOST_SCSI_SET_ENDPOINT
|
||||
- iser-target: Handle DEVICE_REMOVAL event on network portal listener
|
||||
correctly
|
||||
- ASoC: dpcm: Fix race between FE/BE updates and trigger
|
||||
- mac80211: Fix regression that triggers a kernel BUG with CCMP
|
||||
(regression in 3.13)
|
||||
- rt2x00: do not align payload on modern H/W
|
||||
- bitops: Fix shift overflow in GENMASK macros
|
||||
- [x86] Require exact match for 'noxsave' command line option
|
||||
- [x86] drm/i915: Kick fbdev before vgacon (regression in 3.16)
|
||||
- can: dev: avoid calling kfree_skb() from interrupt context
|
||||
- [x86] mm: Set NX across entire PMD at boot
|
||||
- of: Fix crash if an earlycon driver is not found
|
||||
- btrfs: fix lockups from btrfs_clear_path_blocking
|
||||
- [i386/686-pae,armhf/armmp-lpae] PCI: Support 64-bit bridge windows if we
|
||||
have 64-bit dma_addr_t (regression in 3.14)
|
||||
- ACPI / PM: Ignore wakeup setting if the ACPI companion can't wake up
|
||||
(regression in 3.13)
|
||||
- drm/radeon: fix endian swapping in vbios fetch for tdp table
|
||||
- Bluetooth: Fix endian and alignment issue with ath3k version handling
|
||||
- nfs: Don't busy-wait on SIGKILL in __nfs_iocounter_wait
|
||||
- [armhf] 8109/1: mm: Modify pte_write and pmd_write logic for LPAE
|
||||
- aio: fix incorrect dirty pages accouting when truncating AIO ring buffer
|
||||
(regression in 3.12)
|
||||
- [armel,armhf] mvebu: add missing of_node_put() call in coherency.c
|
||||
(regression in 3.16)
|
||||
- iio: Fix IIO_EVENT_CODE_EXTRACT_DIR bit mask
|
||||
- spi: Fix mapping from vmalloc-ed buffer to scatter list
|
||||
- SUNRPC: Fix locking around callback channel reply receive
|
||||
- nfsd: Fix slot wake up race in the nfsv4.1 callback code
|
||||
- bnx2fc: do not add shared skbs to the fcoe_rx_list
|
||||
- Revert "xhci: clear root port wake on bits if controller isn't wake-up
|
||||
capable" (regression in 3.16)
|
||||
- usb: xhci: rework root port wake bits if controller isn't allowed to
|
||||
wakeup
|
||||
- ixgbe: Correctly disable VLAN filter in promiscuous mode
|
||||
(regression in 3.16)
|
||||
- ixgbe: fix use after free adapter->state test in ixgbe_remove/ixgbe_probe
|
||||
(regression in 3.15)
|
||||
- ALSA: hda - Limit 40bit DMA for AMD HDMI controllers
|
||||
- PCI/MSI: Add device flag indicating that 64-bit MSIs don't work
|
||||
- gpu/radeon: Set flag to indicate broken 64-bit MSI
|
||||
- sound/radeon: Move 64-bit MSI quirk from arch to driver
|
||||
- [powerpc*] pseries: Honor the generic "no_64bit_msi" flag
|
||||
- [mips*] fix EVA & non-SMP non-FPU FP context signal handling
|
||||
(regression in 3.15)
|
||||
- [x86] drm/i915: Ignore SURFLIVE and flip counter when the GPU gets reset
|
||||
(regression in 3.16)
|
||||
- [powerpc*] 32 bit getcpu VDSO function uses 64 bit instructions
|
||||
- [armhf] 8222/1: mvebu: enable strex backoff delay
|
||||
- [armel,armhf] 8226/1: cacheflush: get rid of restarting block
|
||||
- btrfs: zero out left over bytes after processing compression streams
|
||||
- [armhf] net: sun4i-emac: fix memory leak on bad packet
|
||||
- [armhf] i2c: omap: fix NACK and Arbitration Lost irq handling
|
||||
- [media] s2255drv: fix payload size for JPG, MJPEG (regression in 3.15)
|
||||
- nouveau: move the hotplug ignore to correct place. (regression in 3.16.4)
|
||||
- mm: frontswap: invalidate expired data on a dup-store failure
|
||||
- mm/vmpressure.c: fix race in vmpressure_work_fn()
|
||||
- xen-netfront: Remove BUGs on paged skb data which crosses a page boundary
|
||||
- drivers/input/evdev.c: don't kfree() a vmalloc address
|
||||
(regression in 3.13)
|
||||
- mm: fix anon_vma_clone() error treatment (regression in 3.12)
|
||||
- ip_tunnel: the lack of vti_link_ops' dellink() cause kernel panic
|
||||
- vxlan: Fix race condition between vxlan_sock_add and vxlan_sock_release
|
||||
- bond: Check length of IFLA_BOND_ARP_IP_TARGET attributes
|
||||
- gre: Set inner mac header in gro complete (regression in 3.16.7-ckt1)
|
||||
- [mips*] bpf: Fix broken BPF_MOD
|
||||
http://kernel.ubuntu.com/stable/ChangeLog-3.16.7-ckt4
|
||||
- [x86] drm/i915: don't warn if backlight unexpectedly enabled
|
||||
(Closes: #757805)
|
||||
- [x86] drm/i915/dp: only use training pattern 3 on platforms that
|
||||
support it (regression in 3.15)
|
||||
- btrfs: don't go readonly on existing qgroup items
|
||||
- writeback: fix a subtle race condition in I_DIRTY clearing
|
||||
- [s390*] KVM: flush CPU on load control
|
||||
- UBI: Fix double free after do_sync_erase()
|
||||
- [x86] Drivers: hv: util: make struct hv_do_fcopy match Hyper-V host
|
||||
messages (regression for amd64 in 3.16.7)
|
||||
- Drivers: hv: vmbus: Fix a race condition when unregistering a device
|
||||
- misc: genwqe: check for error from get_user_pages_fast()
|
||||
- drbd: merge_bvec_fn: properly remap bvm->bi_bdev
|
||||
- PCI: Restore detection of read-only BARs
|
||||
- scsi: correct return values for .eh_abort_handler implementations
|
||||
- genhd: check for int overflow in disk_expand_part_tbl()
|
||||
- Btrfs: make sure we wait on logged extents when fsycning two subvols
|
||||
- Btrfs: make sure logged extents complete in the current transaction V3
|
||||
- Btrfs: do not move em to modified list when unpinning
|
||||
- [armhf] mvebu: disable I/O coherency on non-SMP situations on
|
||||
Armada 370/375/38x/XP
|
||||
- nfs41: fix nfs4_proc_layoutget error handling
|
||||
- USB: cdc-acm: check for valid interfaces
|
||||
- HID: i2c-hid: fix race condition reading reports
|
||||
- [armhf] mfd: twl4030-power: Fix regression with missing compatible flag
|
||||
(regression in 3.16)
|
||||
- [armhf] serial: samsung: wait for transfer completion before clock
|
||||
disable
|
||||
- n_tty: Fix read_buf race condition, increment read_head after pushing
|
||||
data (regression in 3.12)
|
||||
- dm cache: only use overwrite optimisation for promotion when in
|
||||
writeback mode
|
||||
- dm cache: dirty flag was mistakenly being cleared when promoting via
|
||||
overwrite
|
||||
- dm bufio: fix memleak when using a dm_buffer's inline bio
|
||||
- iwlwifi: dvm: fix flush support for old firmware (regression in
|
||||
3.16.7-ckt1)
|
||||
- iwlwifi: mvm: update values for Smart Fifo (regression in 3.14)
|
||||
- iommu/vt-d: Fix an off-by-one bug in __domain_mapping()
|
||||
- dm crypt: use memzero_explicit for on-stack buffer
|
||||
- mnt: Implicitly add MNT_NODEV on remount when it was implicitly added by
|
||||
mount (regression in 3.16.3)
|
||||
- umount: Disallow unprivileged mount force
|
||||
- md/raid5: fetch_block must fetch all the blocks handle_stripe_dirtying
|
||||
wants.
|
||||
- [x86] drm/i915: Only warn the first time we attempt to mmio whilst
|
||||
suspended (regression in 3.15)
|
||||
- drm/vmwgfx: Fix error printout on signals pending
|
||||
- drm/radeon: check the right ring in radeon_evict_flags()
|
||||
- swiotlb-xen: pass dev_addr to xen_dma_unmap_page and
|
||||
xen_dma_sync_single_for_cpu
|
||||
- [armhf/armmp] swiotlb-xen: remove BUG_ON in xen_bus_to_phys
|
||||
- swiotlb-xen: call xen_dma_sync_single_for_device when appropriate
|
||||
- swiotlb-xen: pass dev_addr to swiotlb_tbl_unmap_single
|
||||
- [powerpc] book3s: Fix partial invalidation of TLBs in MCE code.
|
||||
- [armhf] clocksource: arch_timer: Fix code to use physical timers when
|
||||
requested (regression in 3.11)
|
||||
- userns: Prevent evasion of group negative permissions through a userns
|
||||
(CVE-2014-8989):
|
||||
+ Don't allow setgroups until a gid mapping has been setablished
|
||||
+ Don't allow unprivileged creation of gid mappings
|
||||
+ Add a knob to disable setgroups on a per user namespace basis
|
||||
+ Allow setting gid_maps without privilege when setgroups is disabled
|
||||
- KEYS: Fix stale key registration at error path
|
||||
- blk-mq: Fix a use-after-free
|
||||
- blk-mq: Fix a race between bt_clear_tag() and bt_get()
|
||||
- nfsd4: fix xdr4 count of server in fs_location4 (regression in 3.16)
|
||||
- [x86] drm/i915: Don't complain about stolen conflicts on gen3
|
||||
(regression in 3.12)
|
||||
- [x86] kvm: Clear paravirt_enabled on KVM guests for espfix32's benefit
|
||||
(CVE-2014-8134)
|
||||
- blk-mq: Fix uninitialized kobject at CPU hotplugging
|
||||
- ncpfs: return proper error from NCP_IOC_SETROOT ioctl
|
||||
- [armhf] rtc: omap: fix clock-source configuration (regression in 3.16)
|
||||
- exit: pidns: alloc_pid() leaks pid_namespace if child_reaper is exiting
|
||||
- [amd64] switch_to(): Load TLS descriptors before switching DS and ES
|
||||
(CVE-2014-9419)
|
||||
- [x86] KVM: nVMX: Disable unrestricted mode if ept=0 (regression in 3.13)
|
||||
- [x86] KVM: em_ret_far overrides cpl (follow-up to CVE-2014-3647 fix)
|
||||
- pstore-ram: Fix hangs by using write-combine mappings
|
||||
- HID: i2c-hid: prevent buffer overflow in early IRQ
|
||||
- mac80211: fix multicast LED blinking and counter (regression in
|
||||
3.16.7-ckt2)
|
||||
- cfg80211: avoid mem leak on driver hint set
|
||||
- nl80211: check matches array length before acessing it
|
||||
- cfg80211: don't WARN about two consecutive Country IE hint
|
||||
(regression in 3.14)
|
||||
- tracing/sched: Check preempt_count() for current when reading task->state
|
||||
(regression in 3.13)
|
||||
- [x86] tls: Validate TLS entries to protect espfix (CVE-2014-8133)
|
||||
- [x86] tls: Disallow unusual TLS segments
|
||||
- isofs: Fix infinite looping over CE entries (CVE-2014-9420)
|
||||
- mac80211: free management frame keys when removing station
|
||||
- ceph: do_sync is never initialized (regression in 3.12)
|
||||
- mnt: Fix a memory stomp in umount (regression in 3.14)
|
||||
- ocfs2: fix journal commit deadlock
|
||||
- md/bitmap: always wait for writes on unplug.
|
||||
- [armhf] mmc: omap_hsmmc: Fix UHS card with DDR50 support (regression in
|
||||
3.16)
|
||||
- [x86] mmc: sdhci-pci-o2micro: Fix Dell E5440 issue (regression in 3.14)
|
||||
- dm space map metadata: fix sm_bootstrap_get_nr_blocks()
|
||||
- dm thin: fix a race in thin_dtr
|
||||
- eCryptfs: Force RO mount when encrypted view is enabled
|
||||
- eCryptfs: Remove buggy and unnecessary write in file name decode routine
|
||||
- tcm_loop: Fix wrong I_T nexus association
|
||||
- Btrfs: fix fs corruption on transaction abort if device supports discard
|
||||
- [x86] perf/intel/uncore: Make sure only uncore events are collected
|
||||
- perf: Fix events installation during moving group
|
||||
- iscsi,iser-target: Initiate termination only once (regression in 3.16.4)
|
||||
- iser-target: Fix flush + disconnect completion handling
|
||||
- iser-target: Parallelize CM connection establishment
|
||||
- iser-target: Fix connected_handler + teardown flow race
|
||||
- iser-target: Handle ADDR_CHANGE event for listener cm_id
|
||||
- iser-target: Fix implicit termination of connections
|
||||
- iser-target: Allocate PI contexts dynamically
|
||||
- iser-target: Fix NULL dereference in SW mode DIF
|
||||
- iscsi,iser-target: Expose supported protection ops according to t10_pi
|
||||
- genirq: Prevent proc race against freeing of irq descriptors
|
||||
- [powerpc] powernv: Switch off MMU before entering nap/sleep/rvwinkle mode
|
||||
- [x86] storvsc: ring buffer failures may result in I/O freeze
|
||||
- iscsi-target: Fail connection on short sendmsg writes
|
||||
- [x86] drm/i915: Invalidate media caches on gen7
|
||||
- [x86] drm/i915: Force the CS stall for invalidate flushes
|
||||
- dm thin: fix inability to discard blocks when in out-of-data-space mode
|
||||
- dm thin: fix missing out-of-data-space to write mode transition if blocks
|
||||
are released
|
||||
- dm: fix missed error code if .end_io isn't implemented by target_type
|
||||
- [armhf] i2c: mv64xxx: rework offload support to fix several problems
|
||||
(regression in 3.12)
|
||||
- [x86] tls: Don't validate lm in set_thread_area() after all
|
||||
- ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC
|
||||
- tick/powerclamp: Remove tick_nohz_idle abuse
|
||||
- audit: don't attempt to lookup PIDs when changing PID filtering audit
|
||||
rules (regression in 3.15)
|
||||
- audit: use supplied gfp_mask from audit_buffer in
|
||||
kauditd_send_multicast_skb (regression in 3.16)
|
||||
- [arm64] kernel: fix __cpu_suspend mm switch on warm-boot
|
||||
- audit: restore AUDIT_LOGINUID unset ABI (regression in 3.10)
|
||||
- Btrfs: fix loop writing of async reclaim
|
||||
- isofs: Fix unchecked printing of ER records (CVE-2014-9584)
|
||||
- crypto: af_alg - fix backlog handling
|
||||
- udf: Check path length when reading symlink
|
||||
- udf: Verify i_size when loading inode
|
||||
- udf: Verify symlink size before loading it
|
||||
- udf: Check component length before reading it
|
||||
- [x86] platform/chrome: chromeos_laptop - Add support for Acer C720
|
||||
(Closes: #774209)
|
||||
- batman-adv: Calculate extra tail size based on queued fragments
|
||||
(Closes: #774155) (CVE-2014-9428)
|
||||
- vfs: move d_rcu from overlapping d_child to overlapping d_alias
|
||||
- vfs: deal with deadlock in d_walk() (CVE-2014-8559)
|
||||
- KEYS: close race between key lookup and freeing (CVE-2014-9529)
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* [sh4] Build with gcc-4.8 (Closes: #772602)
|
||||
* Fix inconsistent ABI name generation in
|
||||
debian/bin/{abiupdate,buildcheck,gencontrol}.py (Closes: #773233)
|
||||
* iov: Revert unwanted ABI 'fix' in 3.16.7-ckt2-1
|
||||
* [armel,armhf] thread_info: Fix ABI change in 3.16.7-ckt3
|
||||
* PCI: Fix ABI change in 3.16.7-ckt3
|
||||
* Ignore some ABI changes that don't appear to affect OOT modules:
|
||||
- Removal of __add_pages(), __remove_pages(), of_device_is_stdout_path(),
|
||||
clk_divider_ro_ops, tick_nohz_idle_enter, tick_nohz_idle_exit
|
||||
- Changes to ASoC functions
|
||||
* [arm64] Enable PSTORE as built-in and EFI_VARS_PSTORE as module;
|
||||
ensure efivars and efi-pstore are loaded on EFI systems (Closes: #773309)
|
||||
* hwmon: Enable SENSORS_NCT6683 as module (Closes: #774372)
|
||||
* udeb: Add i2c-designware-{core,platform} to i2c-modules and i2c-hid to
|
||||
input-modules (Closes: #772578)
|
||||
* [x86] ACPI / video: Run _BCL before deciding registering backlight
|
||||
(regression in 3.16) (Closes: #762285)
|
||||
* [amd64] Enable EFI_MIXED to support Bay Trail systems
|
||||
* efi: Expose underlying UEFI firmware platform size to userland, to
|
||||
support installation on Bay Trail systems (Closes: #775191)
|
||||
* vfs: Changes for compatibility with CVE-2014-8559 fix:
|
||||
- aufs: move d_rcu from overlapping d_child to overlapping d_alias
|
||||
- vfs: Avoid ABI change for dentry union changes
|
||||
* [powerpc/powerpc{,-smp}] video/fb: Change FB_RADEON back to module
|
||||
(Closes: #748398) (thanks to John Paul Adrian Glaubitz for thoroughly
|
||||
testing this change)
|
||||
* userns: Fix ABI change in 3.16.7-ckt4
|
||||
* netfilter: conntrack: disable generic tracking for known protocols
|
||||
(CVE-2014-8160)
|
||||
* [amd64] vdso: Fix the vdso address randomization algorithm (CVE-2014-9585)
|
||||
|
||||
[ Ian Campbell ]
|
||||
* [armhf] Enable support for support OMAP5432 uEVM by enabling:
|
||||
TI_SOC_THERMAL, MFD_PALMAS, REGULATOR_PALMAS, REGULATOR_PBIAS,
|
||||
REGULATOR_TI_ABB, PINCTRL_PALMAS, GPIO_PALMAS, RTC_DRV_PALMAS,
|
||||
OMAP5_DSS_HDMI, DISPLAY_ENCODER_TPD12S015, DISPLAY_CONNECTOR_HDMI,
|
||||
USB_DWC3_OMAP, EXTCON_PALMAS, TI_EMIF and DDR.
|
||||
Based on a patch from Chen Baozi (Closes: #772953)
|
||||
* [armel] Change configuration to reduce kernel image size
|
||||
- Warn if image size leaves less than 1% spare capacity in the flash. This
|
||||
allows some slack for growth over the lifetime of a stable release.
|
||||
- [/kirkwood] Disable RD_LZO and RD_LZ4
|
||||
- [/kirkwood] mm: Disable KSM
|
||||
- [/kirkwood] Disable CHECKPOINT_RESTORE
|
||||
- [/kirkwood] Disable ZSMALLOC
|
||||
- [/kirkwood] Disable CRYPTO_FIPS
|
||||
- [/kirkwood] Disable NET_MPLS_GSO
|
||||
- [/kirkwood] Disable NETLINK_MMAP
|
||||
- [/kirkwood] Disable PROFILING
|
||||
- [/kirkwood] Disable BPF_JIT
|
||||
- [/kirkwood] Disable KPROBES
|
||||
- [/ixp4xx,orion5x]: Disable RD_LZO
|
||||
- [/ixp4xx,orion5x]: Disable PROFILING
|
||||
- [/orion5x]: Make SERIO and dependants modular
|
||||
* [arhmf] Add device-tree for LinkSprite pcDuino V3. Patch from Karsten
|
||||
Merker (Closes: #774067)
|
||||
* [xen] More netback fixes (including reintroducing support for
|
||||
feature-rx-notify, which was regressed by the fix to #767261).
|
||||
* Disable TSO in mv643xx_eth driver by default again, since previous fix
|
||||
appears to not work on all platforms (Closes: #764162).
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Fri, 16 Jan 2015 00:15:12 +0000
|
||||
|
||||
linux (3.16.7-ckt2-1) unstable; urgency=high
|
||||
|
||||
* New upstream stable update:
|
||||
|
|
|
@ -126,3 +126,8 @@ CONFIG_USB_OHCI_HCD_PLATFORM=m
|
|||
##
|
||||
CONFIG_VIRTIO_MMIO=m
|
||||
|
||||
##
|
||||
## file: fs/pstore/Kconfig
|
||||
##
|
||||
CONFIG_PSTORE=y
|
||||
|
||||
|
|
|
@ -51,3 +51,8 @@ CONFIG_IPV6=m
|
|||
##
|
||||
# CONFIG_NETLINK_MMAP is not set
|
||||
|
||||
##
|
||||
## file: usr/Kconfig
|
||||
##
|
||||
# CONFIG_RD_LZO is not set
|
||||
# CONFIG_RD_LZ4 is not set
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
##
|
||||
## file: arch/Kconfig
|
||||
##
|
||||
# CONFIG_KPROBES is not set
|
||||
|
||||
##
|
||||
## file: arch/arm/Kconfig
|
||||
##
|
||||
|
@ -615,6 +620,13 @@ CONFIG_FLATMEM_MANUAL=y
|
|||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
## end choice
|
||||
# CONFIG_ZSMALLOC is not set
|
||||
|
||||
##
|
||||
## file: net/Kconfig
|
||||
##
|
||||
#. Saves about 3K
|
||||
# CONFIG_BPF_JIT is not set
|
||||
|
||||
##
|
||||
## file: net/atm/Kconfig
|
||||
|
|
|
@ -491,6 +491,15 @@ CONFIG_RTC_DRV_S35390A=y
|
|||
#. Selects PM_DEVFREQ, which will add some built-in code
|
||||
# CONFIG_SCSI_UFSHCD is not set
|
||||
|
||||
##
|
||||
## file: drivers/input/serio/Kconfig
|
||||
##
|
||||
CONFIG_SERIO=m
|
||||
CONFIG_SERIO_SERPORT=m
|
||||
# CONFIG_SERIO_PCIPS2 is not set
|
||||
CONFIG_SERIO_LIBPS2=m
|
||||
# CONFIG_SERIO_RAW is not set
|
||||
|
||||
##
|
||||
## file: drivers/ssb/Kconfig
|
||||
##
|
||||
|
|
|
@ -197,6 +197,7 @@ CONFIG_GPIO_GENERIC_PLATFORM=m
|
|||
CONFIG_GPIO_PCA953X=m
|
||||
CONFIG_GPIO_TWL4030=y
|
||||
CONFIG_GPIO_TWL6040=y
|
||||
CONFIG_GPIO_PALMAS=y
|
||||
|
||||
##
|
||||
## file: drivers/gpu/drm/Kconfig
|
||||
|
@ -395,6 +396,11 @@ CONFIG_RADIO_WL128X=m
|
|||
##
|
||||
CONFIG_IR_GPIO_CIR=m
|
||||
|
||||
##
|
||||
## drivers/memory/Kconfig
|
||||
##
|
||||
CONFIG_TI_EMIF=m
|
||||
|
||||
##
|
||||
## file: drivers/mfd/Kconfig
|
||||
##
|
||||
|
@ -406,6 +412,7 @@ CONFIG_MFD_MC13XXX_I2C=m
|
|||
CONFIG_MFD_SEC_CORE=y
|
||||
CONFIG_MFD_TI_AM335X_TSCADC=m
|
||||
CONFIG_TWL6040_CORE=y
|
||||
CONFIG_MFD_PALMAS=y
|
||||
|
||||
##
|
||||
## file: drivers/misc/Kconfig
|
||||
|
@ -624,7 +631,7 @@ CONFIG_PCI_TEGRA=y
|
|||
##
|
||||
CONFIG_OMAP_CONTROL_PHY=m
|
||||
CONFIG_OMAP_USB2=m
|
||||
CONFIG_TI_PIPE3=m
|
||||
CONFIG_TI_PIPE3=y
|
||||
CONFIG_TWL4030_USB=m
|
||||
CONFIG_PHY_EXYNOS5250_SATA=m
|
||||
CONFIG_PHY_SUN4I_USB=m
|
||||
|
@ -636,6 +643,7 @@ CONFIG_PHY_EXYNOS5_USBDRD=m
|
|||
##
|
||||
CONFIG_PINCTRL_AS3722=y
|
||||
CONFIG_PINCTRL_SINGLE=y
|
||||
CONFIG_PINCTRL_PALMAS=y
|
||||
CONFIG_PINCTRL_TEGRA=y
|
||||
CONFIG_PINCTRL_TEGRA124=y
|
||||
|
||||
|
@ -686,6 +694,9 @@ CONFIG_REGULATOR_S2MPS11=m
|
|||
CONFIG_REGULATOR_S5M8767=m
|
||||
CONFIG_REGULATOR_TWL4030=y
|
||||
CONFIG_REGULATOR_VEXPRESS=m
|
||||
CONFIG_REGULATOR_PBIAS=m
|
||||
CONFIG_REGULATOR_TI_ABB=m
|
||||
CONFIG_REGULATOR_PALMAS=y
|
||||
|
||||
##
|
||||
## file: drivers/rtc/Kconfig
|
||||
|
@ -705,6 +716,7 @@ CONFIG_RTC_DRV_MV=y
|
|||
CONFIG_RTC_DRV_MC13XXX=y
|
||||
CONFIG_RTC_DRV_MXC=y
|
||||
CONFIG_RTC_DRV_SNVS=y
|
||||
CONFIG_RTC_DRV_PALMAS=y
|
||||
CONFIG_RTC_DRV_TEGRA=y
|
||||
|
||||
##
|
||||
|
@ -745,6 +757,14 @@ CONFIG_DRM_IMX_HDMI=m
|
|||
##
|
||||
CONFIG_ARMADA_THERMAL=y
|
||||
|
||||
##
|
||||
## file: drivers/thermal/ti-soc-thermal/Kconfig
|
||||
##
|
||||
CONFIG_TI_SOC_THERMAL=m
|
||||
CONFIG_TI_THERMAL=y
|
||||
CONFIG_OMAP4_THERMAL=y
|
||||
CONFIG_OMAP5_THERMAL=y
|
||||
|
||||
##
|
||||
## file: drivers/tty/serial/Kconfig
|
||||
##
|
||||
|
@ -799,6 +819,7 @@ CONFIG_USB_DWC3=m
|
|||
## choice: DWC3 Mode Selection
|
||||
CONFIG_USB_DWC3_HOST=y
|
||||
## end choice
|
||||
CONFIG_USB_DWC3_OMAP=m
|
||||
CONFIG_USB_DWC3_EXYNOS=m
|
||||
# CONFIG_USB_DWC3_PCI is not set
|
||||
|
||||
|
@ -879,8 +900,16 @@ CONFIG_DISPLAY_PANEL_SONY_ACX565AKM=m
|
|||
CONFIG_OMAP2_DSS=m
|
||||
CONFIG_OMAP2_DSS_VENC=y
|
||||
CONFIG_OMAP4_DSS_HDMI=y
|
||||
CONFIG_OMAP5_DSS_HDMI=y
|
||||
CONFIG_OMAP2_DSS_SDI=y
|
||||
|
||||
##
|
||||
## file: drivers/video/fbdev/omap2/displays-new/Kconfig
|
||||
##
|
||||
CONFIG_DISPLAY_PANEL_SONY_ACX565AKM=m
|
||||
CONFIG_DISPLAY_ENCODER_TPD12S015=m
|
||||
CONFIG_DISPLAY_CONNECTOR_HDMI=m
|
||||
|
||||
##
|
||||
## file: drivers/video/fbdev/omap2/omapfb/Kconfig
|
||||
##
|
||||
|
@ -950,3 +979,9 @@ CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
|
|||
## file: sound/soc/tegra/Kconfig
|
||||
##
|
||||
CONFIG_SND_SOC_TEGRA=m
|
||||
|
||||
##
|
||||
## file: drivers/extcon/Kconfig
|
||||
##
|
||||
CONFIG_EXTCON=m
|
||||
CONFIG_EXTCON_PALMAS=m
|
||||
|
|
|
@ -715,6 +715,7 @@ CONFIG_SENSORS_LM95241=m
|
|||
CONFIG_SENSORS_LM95245=m
|
||||
CONFIG_SENSORS_PC87427=m
|
||||
CONFIG_SENSORS_NTC_THERMISTOR=m
|
||||
CONFIG_SENSORS_NCT6683=m
|
||||
CONFIG_SENSORS_NCT6775=m
|
||||
# CONFIG_SENSORS_SHT15 is not set
|
||||
CONFIG_SENSORS_SHT21=m
|
||||
|
@ -2075,7 +2076,7 @@ CONFIG_USB_ZR364XX=m
|
|||
##
|
||||
## file: drivers/memory/Kconfig
|
||||
##
|
||||
# CONFIG_MEMORY is not set
|
||||
CONFIG_MEMORY=y
|
||||
|
||||
##
|
||||
## file: drivers/memstick/Kconfig
|
||||
|
@ -3146,6 +3147,7 @@ CONFIG_IWLWIFI=m
|
|||
CONFIG_IWLDVM=m
|
||||
CONFIG_IWLMVM=m
|
||||
# CONFIG_IWLWIFI_BCAST_FILTERING is not set
|
||||
# CONFIG_IWLWIFI_UAPSD is not set
|
||||
# CONFIG_IWLWIFI_DEBUG is not set
|
||||
# CONFIG_IWLWIFI_DEVICE_TRACING is not set
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ CONFIG_NUMA=y
|
|||
CONFIG_AMD_NUMA=y
|
||||
CONFIG_X86_64_ACPI_NUMA=y
|
||||
CONFIG_NUMA_EMU=y
|
||||
CONFIG_EFI_MIXED=y
|
||||
CONFIG_PCI_MMCONFIG=y
|
||||
CONFIG_ISA_DMA_API=y
|
||||
CONFIG_X86_X32=y
|
||||
|
|
|
@ -91,7 +91,6 @@ CONFIG_FB_VALKYRIE=y
|
|||
CONFIG_FB_CT65550=y
|
||||
CONFIG_FB_IMSTT=y
|
||||
CONFIG_FB_MATROX=y
|
||||
CONFIG_FB_RADEON=y
|
||||
CONFIG_FB_ATY128=y
|
||||
CONFIG_FB_ATY=y
|
||||
CONFIG_FB_SIS=y
|
||||
|
|
|
@ -3,7 +3,6 @@ flavours:
|
|||
sh7751r
|
||||
sh7785lcr
|
||||
kernel-arch: sh
|
||||
compiler: gcc-4.7
|
||||
|
||||
[build]
|
||||
image-file: arch/sh/boot/zImage
|
||||
|
|
|
@ -5,3 +5,4 @@ mmci
|
|||
omap_hsmmc
|
||||
sunxi-mmc
|
||||
dw_mmc-exynos
|
||||
pbias-regulator
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
#include <usb-modules>
|
||||
phy-sun4i-usb
|
||||
dwc3-exynos
|
||||
dwc3-omap
|
||||
ohci-exynos
|
||||
ohci-omap3
|
||||
ehci-exynos
|
||||
ehci-omap
|
||||
ehci-tegra
|
||||
phy-exynos-usb2
|
||||
phy-omap-usb2
|
||||
ci_hdrc_imx
|
||||
phy-mxs-usb
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
i2c-core
|
||||
i2c-algo-bit
|
||||
i2c-designware-platform ?
|
||||
|
|
|
@ -28,3 +28,4 @@ hid-sunplus ?
|
|||
hid-topseed ?
|
||||
synaptics_usb ?
|
||||
wistron_btns ?
|
||||
i2c-hid ?
|
||||
|
|
|
@ -216,7 +216,7 @@ Description: Frame buffer support
|
|||
This package contains Frame buffer drivers for the kernel.
|
||||
|
||||
Package: input-modules
|
||||
Depends: kernel-image, usb-modules
|
||||
Depends: kernel-image, usb-modules, i2c-modules
|
||||
Priority: extra
|
||||
Description: Input devices support
|
||||
This package contains input device drivers for the kernel.
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
From patchwork Sat Nov 1 15:30:20 2014
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: [1/1] net: mv643xx_eth: Make TSO disabled by default
|
||||
From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
|
||||
X-Patchwork-Id: 405792
|
||||
Message-Id: <1414855820-15094-2-git-send-email-ezequiel.garcia@free-electrons.com>
|
||||
To: <netdev@vger.kernel.org>, David Miller <davem@davemloft.net>
|
||||
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
|
||||
Gregory Clement <gregory.clement@free-electrons.com>,
|
||||
Tawfik Bayouk <tawfik@marvell.com>, Lior Amsalem <alior@marvell.com>,
|
||||
Nadav Haklai <nadavh@marvell.com>,
|
||||
Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
|
||||
Date: Sat, 1 Nov 2014 12:30:20 -0300
|
||||
|
||||
Data corruption has been observed to be produced by TSO. For instance,
|
||||
accessing files on a NFS-server with TSO enabled results in different data
|
||||
transferred each time.
|
||||
|
||||
This has been observed only on Kirkwood platforms, i.e. with the mv643xx_eth
|
||||
driver. Same tests on platforms using the mvneta ethernet driver have
|
||||
passed without errors.
|
||||
|
||||
Make TSO disabled by default for now, until we can found a proper fix
|
||||
for the regression.
|
||||
|
||||
Fixes: 3ae8f4e0b98 ('net: mv643xx_eth: Implement software TSO')
|
||||
Reported-by: Slawomir Gajzner <slawomir.gajzner@gmail.com>
|
||||
Reported-by: Julien D'Ascenzio <jdascenzio@yahoo.fr>
|
||||
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
|
||||
---
|
||||
drivers/net/ethernet/marvell/mv643xx_eth.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
|
||||
index b151a94..8b72780 100644
|
||||
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
|
||||
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
|
||||
@@ -3110,11 +3110,11 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
|
||||
dev->watchdog_timeo = 2 * HZ;
|
||||
dev->base_addr = 0;
|
||||
|
||||
- dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO;
|
||||
+ dev->features = NETIF_F_SG | NETIF_F_IP_CSUM;
|
||||
dev->vlan_features = dev->features;
|
||||
|
||||
dev->features |= NETIF_F_RXCSUM;
|
||||
- dev->hw_features = dev->features;
|
||||
+ dev->hw_features = dev->features | NETIF_F_TSO;
|
||||
|
||||
dev->priv_flags |= IFF_UNICAST_FLT;
|
||||
dev->gso_max_segs = MV643XX_MAX_TSO_SEGS;
|
|
@ -0,0 +1,50 @@
|
|||
From e67d8dd0e2c1b8b4573a6a3f05f609be230dfaff Mon Sep 17 00:00:00 2001
|
||||
From: Jan Beulich <JBeulich@suse.com>
|
||||
Date: Tue, 9 Dec 2014 11:47:04 +0000
|
||||
Subject: [PATCH 3/4] netback: don't store invalid vif pointer
|
||||
Origin: https://git.kernel.org/linus/f15650b7f94879667f253bc32de7431c1baf2d6e
|
||||
|
||||
When xenvif_alloc() fails, it returns a non-NULL error indicator. To
|
||||
avoid eventual races, we shouldn't store that into struct backend_info
|
||||
as readers of it only check for NULL.
|
||||
|
||||
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
||||
Acked-by: Ian Campbell <ian.campbell@citrix.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/xen-netback/xenbus.c | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c
|
||||
index 0b4f1c7..cc8f8ba 100644
|
||||
--- a/drivers/net/xen-netback/xenbus.c
|
||||
+++ b/drivers/net/xen-netback/xenbus.c
|
||||
@@ -404,6 +404,7 @@ static int backend_create_xenvif(struct backend_info *be)
|
||||
int err;
|
||||
long handle;
|
||||
struct xenbus_device *dev = be->dev;
|
||||
+ struct xenvif *vif;
|
||||
|
||||
if (be->vif != NULL)
|
||||
return 0;
|
||||
@@ -414,13 +415,13 @@ static int backend_create_xenvif(struct backend_info *be)
|
||||
return (err < 0) ? err : -EINVAL;
|
||||
}
|
||||
|
||||
- be->vif = xenvif_alloc(&dev->dev, dev->otherend_id, handle);
|
||||
- if (IS_ERR(be->vif)) {
|
||||
- err = PTR_ERR(be->vif);
|
||||
- be->vif = NULL;
|
||||
+ vif = xenvif_alloc(&dev->dev, dev->otherend_id, handle);
|
||||
+ if (IS_ERR(vif)) {
|
||||
+ err = PTR_ERR(vif);
|
||||
xenbus_dev_fatal(dev, err, "creating interface");
|
||||
return err;
|
||||
}
|
||||
+ be->vif = vif;
|
||||
|
||||
kobject_uevent(&dev->dev.kobj, KOBJ_ONLINE);
|
||||
return 0;
|
||||
--
|
||||
1.7.10.4
|
||||
|
38
debian/patches/bugfix/all/xen-netback-Disable-NAPI-after-disabling-interrupts.patch
vendored
Normal file
38
debian/patches/bugfix/all/xen-netback-Disable-NAPI-after-disabling-interrupts.patch
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
From bafb73e2d50d3addd0f79e09ea3f2e2950505733 Mon Sep 17 00:00:00 2001
|
||||
From: Zoltan Kiss <zoltan.kiss@linaro.org>
|
||||
Date: Tue, 28 Oct 2014 15:29:30 +0000
|
||||
Subject: [PATCH 1/4] xen-netback: Disable NAPI after disabling interrupts
|
||||
Origin: https://git.kernel.org/linus/8fe78989c3445a221cfcc54964e7e62718883615
|
||||
|
||||
Otherwise the interrupt handler still calls napi_complete. Although it
|
||||
won't schedule NAPI again as either NAPI_STATE_DISABLE or
|
||||
NAPI_STATE_SCHED is set, it is just unnecessary, and it makes more
|
||||
sense to do this way.
|
||||
|
||||
Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org>
|
||||
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
|
||||
Acked-by: Wei Liu <wei.liu2@citrix.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/xen-netback/interface.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c
|
||||
index 21d8db8..ddcb757 100644
|
||||
--- a/drivers/net/xen-netback/interface.c
|
||||
+++ b/drivers/net/xen-netback/interface.c
|
||||
@@ -235,10 +235,10 @@ static void xenvif_down(struct xenvif *vif)
|
||||
|
||||
for (queue_index = 0; queue_index < num_queues; ++queue_index) {
|
||||
queue = &vif->queues[queue_index];
|
||||
- napi_disable(&queue->napi);
|
||||
disable_irq(queue->tx_irq);
|
||||
if (queue->tx_irq != queue->rx_irq)
|
||||
disable_irq(queue->rx_irq);
|
||||
+ napi_disable(&queue->napi);
|
||||
del_timer_sync(&queue->credit_timeout);
|
||||
}
|
||||
}
|
||||
--
|
||||
1.7.10.4
|
||||
|
188
debian/patches/bugfix/all/xen-netback-support-frontends-without-feature-rx-not.patch
vendored
Normal file
188
debian/patches/bugfix/all/xen-netback-support-frontends-without-feature-rx-not.patch
vendored
Normal file
|
@ -0,0 +1,188 @@
|
|||
From 0baa6f7d5b0ed21b28768d151b1d74cb9b88dacf Mon Sep 17 00:00:00 2001
|
||||
From: David Vrabel <david.vrabel@citrix.com>
|
||||
Date: Thu, 18 Dec 2014 11:13:06 +0000
|
||||
Subject: [PATCH 4/4] xen-netback: support frontends without feature-rx-notify
|
||||
again
|
||||
Origin: https://git.kernel.org/linus/26c0e102585d5a4d311f5d6eb7f524d288e7f6b7
|
||||
|
||||
Commit bc96f648df1bbc2729abbb84513cf4f64273a1f1 (xen-netback: make
|
||||
feature-rx-notify mandatory) incorrectly assumed that there were no
|
||||
frontends in use that did not support this feature. But the frontend
|
||||
driver in MiniOS does not and since this is used by (qemu) stubdoms,
|
||||
these stopped working.
|
||||
|
||||
Netback sort of works as-is in this mode except:
|
||||
|
||||
- If there are no Rx requests and the internal Rx queue fills, only
|
||||
the drain timeout will wake the thread. The default drain timeout
|
||||
of 10 s would give unacceptable pauses.
|
||||
|
||||
- If an Rx stall was detected and the internal Rx queue is drained,
|
||||
then the Rx thread would never wake.
|
||||
|
||||
Handle these two cases (when feature-rx-notify is disabled) by:
|
||||
|
||||
- Reducing the drain timeout to 30 ms.
|
||||
|
||||
- Disabling Rx stall detection.
|
||||
|
||||
Reported-by: John <jw@nuclearfallout.net>
|
||||
Tested-by: John <jw@nuclearfallout.net>
|
||||
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
|
||||
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/xen-netback/common.h | 4 +++-
|
||||
drivers/net/xen-netback/interface.c | 4 +++-
|
||||
drivers/net/xen-netback/netback.c | 27 ++++++++++++++-------------
|
||||
drivers/net/xen-netback/xenbus.c | 12 +++++++++---
|
||||
4 files changed, 29 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
|
||||
index 083ecc9..5f1fda4 100644
|
||||
--- a/drivers/net/xen-netback/common.h
|
||||
+++ b/drivers/net/xen-netback/common.h
|
||||
@@ -230,6 +230,8 @@ struct xenvif {
|
||||
*/
|
||||
bool disabled;
|
||||
unsigned long status;
|
||||
+ unsigned long drain_timeout;
|
||||
+ unsigned long stall_timeout;
|
||||
|
||||
/* Queues */
|
||||
struct xenvif_queue *queues;
|
||||
@@ -328,7 +330,7 @@ irqreturn_t xenvif_interrupt(int irq, void *dev_id);
|
||||
extern bool separate_tx_rx_irq;
|
||||
|
||||
extern unsigned int rx_drain_timeout_msecs;
|
||||
-extern unsigned int rx_drain_timeout_jiffies;
|
||||
+extern unsigned int rx_stall_timeout_msecs;
|
||||
extern unsigned int xenvif_max_queues;
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c
|
||||
index ddcb757..af047c2 100644
|
||||
--- a/drivers/net/xen-netback/interface.c
|
||||
+++ b/drivers/net/xen-netback/interface.c
|
||||
@@ -166,7 +166,7 @@ static int xenvif_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
goto drop;
|
||||
|
||||
cb = XENVIF_RX_CB(skb);
|
||||
- cb->expires = jiffies + rx_drain_timeout_jiffies;
|
||||
+ cb->expires = jiffies + vif->drain_timeout;
|
||||
|
||||
xenvif_rx_queue_tail(queue, skb);
|
||||
xenvif_kick_thread(queue);
|
||||
@@ -414,6 +414,8 @@ struct xenvif *xenvif_alloc(struct device *parent, domid_t domid,
|
||||
vif->ip_csum = 1;
|
||||
vif->dev = dev;
|
||||
vif->disabled = false;
|
||||
+ vif->drain_timeout = msecs_to_jiffies(rx_drain_timeout_msecs);
|
||||
+ vif->stall_timeout = msecs_to_jiffies(rx_stall_timeout_msecs);
|
||||
|
||||
/* Start out with no queues. */
|
||||
vif->queues = NULL;
|
||||
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
|
||||
index 6563f07..c39aace 100644
|
||||
--- a/drivers/net/xen-netback/netback.c
|
||||
+++ b/drivers/net/xen-netback/netback.c
|
||||
@@ -60,14 +60,12 @@ module_param(separate_tx_rx_irq, bool, 0644);
|
||||
*/
|
||||
unsigned int rx_drain_timeout_msecs = 10000;
|
||||
module_param(rx_drain_timeout_msecs, uint, 0444);
|
||||
-unsigned int rx_drain_timeout_jiffies;
|
||||
|
||||
/* The length of time before the frontend is considered unresponsive
|
||||
* because it isn't providing Rx slots.
|
||||
*/
|
||||
-static unsigned int rx_stall_timeout_msecs = 60000;
|
||||
+unsigned int rx_stall_timeout_msecs = 60000;
|
||||
module_param(rx_stall_timeout_msecs, uint, 0444);
|
||||
-static unsigned int rx_stall_timeout_jiffies;
|
||||
|
||||
unsigned int xenvif_max_queues;
|
||||
module_param_named(max_queues, xenvif_max_queues, uint, 0644);
|
||||
@@ -2022,7 +2020,7 @@ static bool xenvif_rx_queue_stalled(struct xenvif_queue *queue)
|
||||
return !queue->stalled
|
||||
&& prod - cons < XEN_NETBK_RX_SLOTS_MAX
|
||||
&& time_after(jiffies,
|
||||
- queue->last_rx_time + rx_stall_timeout_jiffies);
|
||||
+ queue->last_rx_time + queue->vif->stall_timeout);
|
||||
}
|
||||
|
||||
static bool xenvif_rx_queue_ready(struct xenvif_queue *queue)
|
||||
@@ -2040,8 +2038,9 @@ static bool xenvif_have_rx_work(struct xenvif_queue *queue)
|
||||
{
|
||||
return (!skb_queue_empty(&queue->rx_queue)
|
||||
&& xenvif_rx_ring_slots_available(queue, XEN_NETBK_RX_SLOTS_MAX))
|
||||
- || xenvif_rx_queue_stalled(queue)
|
||||
- || xenvif_rx_queue_ready(queue)
|
||||
+ || (queue->vif->stall_timeout &&
|
||||
+ (xenvif_rx_queue_stalled(queue)
|
||||
+ || xenvif_rx_queue_ready(queue)))
|
||||
|| kthread_should_stop()
|
||||
|| queue->vif->disabled;
|
||||
}
|
||||
@@ -2094,6 +2093,9 @@ int xenvif_kthread_guest_rx(void *data)
|
||||
struct xenvif_queue *queue = data;
|
||||
struct xenvif *vif = queue->vif;
|
||||
|
||||
+ if (!vif->stall_timeout)
|
||||
+ xenvif_queue_carrier_on(queue);
|
||||
+
|
||||
for (;;) {
|
||||
xenvif_wait_for_rx_work(queue);
|
||||
|
||||
@@ -2120,10 +2122,12 @@ int xenvif_kthread_guest_rx(void *data)
|
||||
* while it's probably not responsive, drop the
|
||||
* carrier so packets are dropped earlier.
|
||||
*/
|
||||
- if (xenvif_rx_queue_stalled(queue))
|
||||
- xenvif_queue_carrier_off(queue);
|
||||
- else if (xenvif_rx_queue_ready(queue))
|
||||
- xenvif_queue_carrier_on(queue);
|
||||
+ if (vif->stall_timeout) {
|
||||
+ if (xenvif_rx_queue_stalled(queue))
|
||||
+ xenvif_queue_carrier_off(queue);
|
||||
+ else if (xenvif_rx_queue_ready(queue))
|
||||
+ xenvif_queue_carrier_on(queue);
|
||||
+ }
|
||||
|
||||
/* Queued packets may have foreign pages from other
|
||||
* domains. These cannot be queued indefinitely as
|
||||
@@ -2194,9 +2198,6 @@ static int __init netback_init(void)
|
||||
if (rc)
|
||||
goto failed_init;
|
||||
|
||||
- rx_drain_timeout_jiffies = msecs_to_jiffies(rx_drain_timeout_msecs);
|
||||
- rx_stall_timeout_jiffies = msecs_to_jiffies(rx_stall_timeout_msecs);
|
||||
-
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
xen_netback_dbg_root = debugfs_create_dir("xen-netback", NULL);
|
||||
if (IS_ERR_OR_NULL(xen_netback_dbg_root))
|
||||
diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c
|
||||
index cc8f8ba..60f7c7d 100644
|
||||
--- a/drivers/net/xen-netback/xenbus.c
|
||||
+++ b/drivers/net/xen-netback/xenbus.c
|
||||
@@ -887,9 +887,15 @@ static int read_xenbus_vif_flags(struct backend_info *be)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (xenbus_scanf(XBT_NIL, dev->otherend,
|
||||
- "feature-rx-notify", "%d", &val) < 0 || val == 0) {
|
||||
- xenbus_dev_fatal(dev, -EINVAL, "feature-rx-notify is mandatory");
|
||||
- return -EINVAL;
|
||||
+ "feature-rx-notify", "%d", &val) < 0)
|
||||
+ val = 0;
|
||||
+ if (!val) {
|
||||
+ /* - Reduce drain timeout to poll more frequently for
|
||||
+ * Rx requests.
|
||||
+ * - Disable Rx stall detection.
|
||||
+ */
|
||||
+ be->vif->drain_timeout = msecs_to_jiffies(30);
|
||||
+ be->vif->stall_timeout = 0;
|
||||
}
|
||||
|
||||
if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-sg",
|
||||
--
|
||||
1.7.10.4
|
||||
|
61
debian/patches/bugfix/x86/acpi-video-run-_bcl-before-deciding-registering-back.patch
vendored
Normal file
61
debian/patches/bugfix/x86/acpi-video-run-_bcl-before-deciding-registering-back.patch
vendored
Normal file
|
@ -0,0 +1,61 @@
|
|||
From: Aaron Lu <aaron.lu@intel.com>
|
||||
Date: Tue, 28 Oct 2014 14:35:59 +0800
|
||||
Subject: ACPI / video: Run _BCL before deciding registering backlight
|
||||
Origin: https://git.kernel.org/linus/dce4ec2e452fddb7542b5fc15d0e6b8531f6d5eb
|
||||
|
||||
The ASUS K53SM's ACPI table queries _OSI("Windows 2012") in the video
|
||||
output device's _BCL and _BCM control method instead of the usual _INI
|
||||
functions of the _SB or PCI host bridge PCI0 devices. This made our
|
||||
video module thought this is a pre-Win8 system when deciding if we
|
||||
should register a backlight interface for it and the end result is that
|
||||
a non-working acpi_video interface is registered and user is unable to
|
||||
control backlight from GUI. Solve this problem by evaluating _BCL control
|
||||
method before doing the decision.
|
||||
|
||||
Note that for some Thinkpad systems, the _BCL is also required to be
|
||||
evaluated for the hotkey event to be generated no matter if we will
|
||||
register an ACPI video backlight interface for it or not. Since the
|
||||
thinkpad_acpi module will do this anyway we didn't add such a thing in
|
||||
the video module previously. But now with this change here, the
|
||||
thinkpad_acpi module is no more necessary for those systems regarding
|
||||
backlight functionality.
|
||||
|
||||
Link: https://bugzilla.kernel.org/show_bug.cgi?id=85051
|
||||
Reported-and-tested-by: Ralf Jung <post+kernel@ralfj.de>
|
||||
Signed-off-by: Aaron Lu <aaron.lu@intel.com>
|
||||
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
||||
---
|
||||
drivers/acpi/video.c | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -1836,6 +1836,19 @@ static void acpi_video_dev_register_back
|
||||
printk(KERN_ERR PREFIX "Create sysfs link\n");
|
||||
}
|
||||
|
||||
+static void acpi_video_run_bcl_for_osi(struct acpi_video_bus *video)
|
||||
+{
|
||||
+ struct acpi_video_device *dev;
|
||||
+ union acpi_object *levels;
|
||||
+
|
||||
+ mutex_lock(&video->device_list_lock);
|
||||
+ list_for_each_entry(dev, &video->video_device_list, entry) {
|
||||
+ if (!acpi_video_device_lcd_query_levels(dev, &levels))
|
||||
+ kfree(levels);
|
||||
+ }
|
||||
+ mutex_unlock(&video->device_list_lock);
|
||||
+}
|
||||
+
|
||||
static int acpi_video_bus_register_backlight(struct acpi_video_bus *video)
|
||||
{
|
||||
struct acpi_video_device *dev;
|
||||
@@ -1843,6 +1856,8 @@ static int acpi_video_bus_register_backl
|
||||
if (video->backlight_registered)
|
||||
return 0;
|
||||
|
||||
+ acpi_video_run_bcl_for_osi(video);
|
||||
+
|
||||
if (!acpi_video_verify_backlight_support())
|
||||
return 0;
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
From: Andy Lutomirski <luto@amacapital.net>
|
||||
Date: Mon, 24 Nov 2014 17:39:06 -0800
|
||||
Subject: x86/asm/traps: Disable tracing and kprobes in fixup_bad_iret and
|
||||
sync_regs
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit?id=7ddc6a2199f1da405a2fb68c40db8899b1a8cd87
|
||||
|
||||
These functions can be executed on the int3 stack, so kprobes
|
||||
are dangerous. Tracing is probably a bad idea, too.
|
||||
|
||||
Fixes: b645af2d5905 ("x86_64, traps: Rework bad_iret")
|
||||
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
|
||||
Cc: <stable@vger.kernel.org> # Backport as far back as it would apply
|
||||
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
Cc: Steven Rostedt <rostedt@goodmis.org>
|
||||
Link: http://lkml.kernel.org/r/50e33d26adca60816f3ba968875801652507d0c4.1416870125.git.luto@amacapital.net
|
||||
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
||||
---
|
||||
arch/x86/kernel/traps.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
|
||||
index de801f2..07ab8e9 100644
|
||||
--- a/arch/x86/kernel/traps.c
|
||||
+++ b/arch/x86/kernel/traps.c
|
||||
@@ -387,7 +387,7 @@ NOKPROBE_SYMBOL(do_int3);
|
||||
* for scheduling or signal handling. The actual stack switch is done in
|
||||
* entry.S
|
||||
*/
|
||||
-asmlinkage __visible struct pt_regs *sync_regs(struct pt_regs *eregs)
|
||||
+asmlinkage __visible notrace struct pt_regs *sync_regs(struct pt_regs *eregs)
|
||||
{
|
||||
struct pt_regs *regs = eregs;
|
||||
/* Did already sync */
|
||||
@@ -413,7 +413,7 @@ struct bad_iret_stack {
|
||||
struct pt_regs regs;
|
||||
};
|
||||
|
||||
-asmlinkage __visible
|
||||
+asmlinkage __visible notrace
|
||||
struct bad_iret_stack *fixup_bad_iret(struct bad_iret_stack *s)
|
||||
{
|
||||
/*
|
||||
@@ -436,6 +436,7 @@ struct bad_iret_stack *fixup_bad_iret(struct bad_iret_stack *s)
|
||||
BUG_ON(!user_mode_vm(&new_stack->regs));
|
||||
return new_stack;
|
||||
}
|
||||
+NOKPROBE_SYMBOL(fixup_bad_iret);
|
||||
#endif
|
||||
|
||||
/*
|
124
debian/patches/bugfix/x86/x86_64-vdso-fix-the-vdso-address-randomization-algor.patch
vendored
Normal file
124
debian/patches/bugfix/x86/x86_64-vdso-fix-the-vdso-address-randomization-algor.patch
vendored
Normal file
|
@ -0,0 +1,124 @@
|
|||
From: Andy Lutomirski <luto@amacapital.net>
|
||||
Date: Fri, 19 Dec 2014 16:04:11 -0800
|
||||
Subject: x86_64, vdso: Fix the vdso address randomization algorithm
|
||||
Origin: https://git.kernel.org/linus/394f56fe480140877304d342dec46d50dc823d46
|
||||
|
||||
The theory behind vdso randomization is that it's mapped at a random
|
||||
offset above the top of the stack. To avoid wasting a page of
|
||||
memory for an extra page table, the vdso isn't supposed to extend
|
||||
past the lowest PMD into which it can fit. Other than that, the
|
||||
address should be a uniformly distributed address that meets all of
|
||||
the alignment requirements.
|
||||
|
||||
The current algorithm is buggy: the vdso has about a 50% probability
|
||||
of being at the very end of a PMD. The current algorithm also has a
|
||||
decent chance of failing outright due to incorrect handling of the
|
||||
case where the top of the stack is near the top of its PMD.
|
||||
|
||||
This fixes the implementation. The paxtest estimate of vdso
|
||||
"randomisation" improves from 11 bits to 18 bits. (Disclaimer: I
|
||||
don't know what the paxtest code is actually calculating.)
|
||||
|
||||
It's worth noting that this algorithm is inherently biased: the vdso
|
||||
is more likely to end up near the end of its PMD than near the
|
||||
beginning. Ideally we would either nix the PMD sharing requirement
|
||||
or jointly randomize the vdso and the stack to reduce the bias.
|
||||
|
||||
In the mean time, this is a considerable improvement with basically
|
||||
no risk of compatibility issues, since the allowed outputs of the
|
||||
algorithm are unchanged.
|
||||
|
||||
As an easy test, doing this:
|
||||
|
||||
for i in `seq 10000`
|
||||
do grep -P vdso /proc/self/maps |cut -d- -f1
|
||||
done |sort |uniq -d
|
||||
|
||||
used to produce lots of output (1445 lines on my most recent run).
|
||||
A tiny subset looks like this:
|
||||
|
||||
7fffdfffe000
|
||||
7fffe01fe000
|
||||
7fffe05fe000
|
||||
7fffe07fe000
|
||||
7fffe09fe000
|
||||
7fffe0bfe000
|
||||
7fffe0dfe000
|
||||
|
||||
Note the suspicious fe000 endings. With the fix, I get a much more
|
||||
palatable 76 repeated addresses.
|
||||
|
||||
Reviewed-by: Kees Cook <keescook@chromium.org>
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
|
||||
---
|
||||
arch/x86/vdso/vma.c | 45 +++++++++++++++++++++++++++++----------------
|
||||
1 file changed, 29 insertions(+), 16 deletions(-)
|
||||
|
||||
--- a/arch/x86/vdso/vma.c
|
||||
+++ b/arch/x86/vdso/vma.c
|
||||
@@ -54,12 +54,17 @@ subsys_initcall(init_vdso);
|
||||
|
||||
struct linux_binprm;
|
||||
|
||||
-/* Put the vdso above the (randomized) stack with another randomized offset.
|
||||
- This way there is no hole in the middle of address space.
|
||||
- To save memory make sure it is still in the same PTE as the stack top.
|
||||
- This doesn't give that many random bits.
|
||||
-
|
||||
- Only used for the 64-bit and x32 vdsos. */
|
||||
+/*
|
||||
+ * Put the vdso above the (randomized) stack with another randomized
|
||||
+ * offset. This way there is no hole in the middle of address space.
|
||||
+ * To save memory make sure it is still in the same PTE as the stack
|
||||
+ * top. This doesn't give that many random bits.
|
||||
+ *
|
||||
+ * Note that this algorithm is imperfect: the distribution of the vdso
|
||||
+ * start address within a PMD is biased toward the end.
|
||||
+ *
|
||||
+ * Only used for the 64-bit and x32 vdsos.
|
||||
+ */
|
||||
static unsigned long vdso_addr(unsigned long start, unsigned len)
|
||||
{
|
||||
#ifdef CONFIG_X86_32
|
||||
@@ -67,22 +72,30 @@ static unsigned long vdso_addr(unsigned
|
||||
#else
|
||||
unsigned long addr, end;
|
||||
unsigned offset;
|
||||
- end = (start + PMD_SIZE - 1) & PMD_MASK;
|
||||
+
|
||||
+ /*
|
||||
+ * Round up the start address. It can start out unaligned as a result
|
||||
+ * of stack start randomization.
|
||||
+ */
|
||||
+ start = PAGE_ALIGN(start);
|
||||
+
|
||||
+ /* Round the lowest possible end address up to a PMD boundary. */
|
||||
+ end = (start + len + PMD_SIZE - 1) & PMD_MASK;
|
||||
if (end >= TASK_SIZE_MAX)
|
||||
end = TASK_SIZE_MAX;
|
||||
end -= len;
|
||||
- /* This loses some more bits than a modulo, but is cheaper */
|
||||
- offset = get_random_int() & (PTRS_PER_PTE - 1);
|
||||
- addr = start + (offset << PAGE_SHIFT);
|
||||
- if (addr >= end)
|
||||
- addr = end;
|
||||
+
|
||||
+ if (end > start) {
|
||||
+ offset = get_random_int() % (((end - start) >> PAGE_SHIFT) + 1);
|
||||
+ addr = start + (offset << PAGE_SHIFT);
|
||||
+ } else {
|
||||
+ addr = start;
|
||||
+ }
|
||||
|
||||
/*
|
||||
- * page-align it here so that get_unmapped_area doesn't
|
||||
- * align it wrongfully again to the next page. addr can come in 4K
|
||||
- * unaligned here as a result of stack start randomization.
|
||||
+ * Forcibly align the final address in case we have a hardware
|
||||
+ * issue that requires alignment for performance reasons.
|
||||
*/
|
||||
- addr = PAGE_ALIGN(addr);
|
||||
addr = align_vdso_addr(addr);
|
||||
|
||||
return addr;
|
|
@ -15,7 +15,7 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
|
|||
---
|
||||
--- a/kernel/fork.c
|
||||
+++ b/kernel/fork.c
|
||||
@@ -83,6 +83,11 @@
|
||||
@@ -86,6 +86,11 @@
|
||||
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/events/task.h>
|
||||
|
@ -27,7 +27,7 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
|
|||
|
||||
/*
|
||||
* Protected counters by write_lock_irq(&tasklist_lock)
|
||||
@@ -1144,6 +1149,10 @@ static struct task_struct *copy_process(
|
||||
@@ -1195,6 +1200,10 @@ static struct task_struct *copy_process(
|
||||
if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS))
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
|
@ -38,7 +38,7 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
|
|||
/*
|
||||
* Thread groups must share signals as well, and detached threads
|
||||
* can only be started up within the thread group.
|
||||
@@ -1831,6 +1840,12 @@ SYSCALL_DEFINE1(unshare, unsigned long,
|
||||
@@ -1890,6 +1899,12 @@ SYSCALL_DEFINE1(unshare, unsigned long,
|
||||
if (unshare_flags & CLONE_NEWNS)
|
||||
unshare_flags |= CLONE_FS;
|
||||
|
||||
|
@ -53,7 +53,7 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
|
|||
goto bad_unshare_out;
|
||||
--- a/kernel/sysctl.c
|
||||
+++ b/kernel/sysctl.c
|
||||
@@ -104,6 +104,9 @@ extern int core_uses_pid;
|
||||
@@ -103,6 +103,9 @@ extern int core_uses_pid;
|
||||
extern char core_pattern[];
|
||||
extern unsigned int core_pipe_limit;
|
||||
#endif
|
||||
|
@ -63,7 +63,7 @@ Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
|
|||
extern int pid_max;
|
||||
extern int pid_max_min, pid_max_max;
|
||||
extern int percpu_pagelist_fraction;
|
||||
@@ -482,6 +485,15 @@ static struct ctl_table kern_table[] = {
|
||||
@@ -490,6 +493,15 @@ static struct ctl_table kern_table[] = {
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
|
|
|
@ -5,7 +5,7 @@ Forwarded: not-needed
|
|||
|
||||
--- a/.gitignore
|
||||
+++ b/.gitignore
|
||||
@@ -46,11 +46,6 @@
|
||||
@@ -47,17 +47,6 @@
|
||||
/Module.markers
|
||||
|
||||
#
|
||||
|
@ -14,6 +14,12 @@ Forwarded: not-needed
|
|||
-/debian/
|
||||
-
|
||||
-#
|
||||
# git files that we don't want to ignore even it they are dot-files
|
||||
-# git files that we don't want to ignore even it they are dot-files
|
||||
-#
|
||||
-!.gitignore
|
||||
-!.mailmap
|
||||
-
|
||||
-#
|
||||
# Generated include files
|
||||
#
|
||||
!.gitignore
|
||||
include/config
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Subject: x86/efi: Autoload efi-pstore
|
||||
Date: Wed, 24 Dec 2014 17:44:06 +0100
|
||||
Bug-Debian: https://bugs.debian.org/703363
|
||||
Bug-Debian: https://bugs.debian.org/773309
|
||||
Forwarded: no
|
||||
|
||||
efi-pstore should be auto-loaded on EFI systems, same as efivars.
|
||||
|
||||
--- a/drivers/firmware/efi/efi-pstore.c
|
||||
+++ b/drivers/firmware/efi/efi-pstore.c
|
||||
@@ -400,3 +400,4 @@ module_exit(efivars_pstore_exit);
|
||||
|
||||
MODULE_DESCRIPTION("EFI variable backend for pstore");
|
||||
MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS("platform:efivars");
|
|
@ -1,25 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Subject: x86/efi: Autoload efivars
|
||||
Date: Mon, 18 Mar 2013 22:59:14 +0000
|
||||
Bug-Debian: https://bugs.debian.org/703363
|
||||
Forwarded: no
|
||||
|
||||
efivars is generally useful to have on EFI systems, and in some cases
|
||||
it may be impossible to load it after a kernel upgrade in order to
|
||||
complete a boot loader update. efi-pstore is similarly useful though
|
||||
less critical. At the same time we don't want to waste memory on
|
||||
non-EFI systems by making them built-in.
|
||||
|
||||
Instead, give them module aliases as if they are platform drivers, and
|
||||
register a corresponding platform device whenever EFI runtime services
|
||||
are available. This should trigger udev to load them.
|
||||
|
||||
[bwh: Most of this went upstream in 3.17-rc4, just not the efi-pstore bit.]
|
||||
---
|
||||
--- a/drivers/firmware/efi/efi-pstore.c
|
||||
+++ b/drivers/firmware/efi/efi-pstore.c
|
||||
@@ -250,3 +250,4 @@ module_exit(efivars_pstore_exit);
|
||||
|
||||
MODULE_DESCRIPTION("EFI variable backend for pstore");
|
||||
MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS("platform:efivars");
|
49
debian/patches/features/all/efi-expose-underlying-uefi-firmware-platform-size-to.patch
vendored
Normal file
49
debian/patches/features/all/efi-expose-underlying-uefi-firmware-platform-size-to.patch
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
From: Steve McIntyre <steve@einval.com>
|
||||
Date: Fri, 9 Jan 2015 15:29:53 +0000
|
||||
Subject: efi: Expose underlying UEFI firmware platform size to userland
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git//commit?id=2859dff97e54db4795b8b7d9606cb8efcec722ff
|
||||
|
||||
In some cases (e.g. Intel Bay Trail machines), the kernel will happily
|
||||
run in 64-bit even if the underlying UEFI firmware platform is
|
||||
32-bit. That's great, but it's difficult for userland utilities like
|
||||
grub-install to do the right thing in such a situation.
|
||||
|
||||
The kernel already knows about the size of the firmware via
|
||||
efi_enabled(EFI_64BIT). Add an extra sysfs interface
|
||||
/sys/firmware/efi/fw_platform_size to expose that information to
|
||||
userland for low-level utilities to use.
|
||||
|
||||
Signed-off-by: Steve McIntyre <steve@einval.com>
|
||||
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
|
||||
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
||||
---
|
||||
drivers/firmware/efi/efi.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
--- a/drivers/firmware/efi/efi.c
|
||||
+++ b/drivers/firmware/efi/efi.c
|
||||
@@ -90,15 +90,24 @@ EFI_ATTR_SHOW(fw_vendor);
|
||||
EFI_ATTR_SHOW(runtime);
|
||||
EFI_ATTR_SHOW(config_table);
|
||||
|
||||
+static ssize_t fw_platform_size_show(struct kobject *kobj,
|
||||
+ struct kobj_attribute *attr, char *buf)
|
||||
+{
|
||||
+ return sprintf(buf, "%d\n", efi_enabled(EFI_64BIT) ? 64 : 32);
|
||||
+}
|
||||
+
|
||||
static struct kobj_attribute efi_attr_fw_vendor = __ATTR_RO(fw_vendor);
|
||||
static struct kobj_attribute efi_attr_runtime = __ATTR_RO(runtime);
|
||||
static struct kobj_attribute efi_attr_config_table = __ATTR_RO(config_table);
|
||||
+static struct kobj_attribute efi_attr_fw_platform_size =
|
||||
+ __ATTR_RO(fw_platform_size);
|
||||
|
||||
static struct attribute *efi_subsys_attrs[] = {
|
||||
&efi_attr_systab.attr,
|
||||
&efi_attr_fw_vendor.attr,
|
||||
&efi_attr_runtime.attr,
|
||||
&efi_attr_config_table.attr,
|
||||
+ &efi_attr_fw_platform_size.attr,
|
||||
NULL,
|
||||
};
|
||||
|
74
debian/patches/features/arm/dts-sun7i-pcduino3-Relicense-the-device-tree-under-GPLv2-X11.patch
vendored
Normal file
74
debian/patches/features/arm/dts-sun7i-pcduino3-Relicense-the-device-tree-under-GPLv2-X11.patch
vendored
Normal file
|
@ -0,0 +1,74 @@
|
|||
From ca4ee84ccac71eb05fe3bedff9283cf52d4b4aa7 Mon Sep 17 00:00:00 2001
|
||||
From: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
Date: Tue, 2 Sep 2014 19:25:26 +0200
|
||||
Subject: ARM: sun7i: pcduino3: Relicense the device tree under GPLv2/X11
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/patch/?id=ca4ee84ccac71eb05fe3bedff9283cf52d4b4aa7
|
||||
|
||||
The current GPL only licensing on the DTSI makes it very impractical for other
|
||||
software components licensed under another license.
|
||||
|
||||
In order to make it easier for them to reuse our device trees, relicense our
|
||||
device trees under a GPL/X11 dual-license.
|
||||
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
Acked-by: Zoltan HERPAI <wigyori@uid0.hu>
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
|
||||
index 046dfc0..8dca49b 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
|
||||
@@ -2,12 +2,48 @@
|
||||
* Copyright 2014 Zoltan HERPAI
|
||||
* Zoltan HERPAI <wigyori@uid0.hu>
|
||||
*
|
||||
- * The code contained herein is licensed under the GNU General Public
|
||||
- * License. You may obtain a copy of the GNU General Public License
|
||||
- * Version 2 or later at the following locations:
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
*
|
||||
- * http://www.opensource.org/licenses/gpl-license.html
|
||||
- * http://www.gnu.org/copyleft/gpl.html
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public
|
||||
+ * License along with this file; if not, write to the Free
|
||||
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
||||
+ * MA 02110-1301 USA
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
|
@ -42,7 +42,7 @@ bugfix/mips/disable-advansys.patch
|
|||
bugfix/m68k/ethernat-kconfig.patch
|
||||
bugfix/arm64/arm64-add-missing-dts-entry-for-X-Gene-platform.patch
|
||||
bugfix/arm64/arm64-removed-using-of-the-mask-attribute-in-the-dts.patch
|
||||
bugfix/x86/x86-asm-traps-Disable-tracing-and-kprobes-in-fixup_b.patch
|
||||
bugfix/x86/acpi-video-run-_bcl-before-deciding-registering-back.patch
|
||||
|
||||
# Arch features
|
||||
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
|
||||
|
@ -55,6 +55,7 @@ features/arm/dts-sun7i-Add-spi0_pins_a-pinctrl-setting.patch
|
|||
features/arm/dts-sun7i-Add-uart3_pins_b-pinctrl-setting.patch
|
||||
features/arm/dts-sun7i-Add-Banana-Pi-board.patch
|
||||
features/arm/dts-sunxi-Banana-Pi-increase-startup-delay-for-the-GMAC-PHY-regulator.patch
|
||||
features/arm/dts-sun7i-pcduino3-Relicense-the-device-tree-under-GPLv2-X11.patch
|
||||
|
||||
# Miscellaneous bug fixes
|
||||
bugfix/all/misc-bmp085-Enable-building-as-a-module.patch
|
||||
|
@ -64,9 +65,16 @@ debian/i2o-disable-i2o_ext_adaptec-on-64bit.patch
|
|||
bugfix/all/aic94xx-remove-broken-fallback-for-missing-ctrl-a.patch
|
||||
bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
|
||||
bugfix/all/revert-drivers-net-disable-ufo-through-virtio-in-macvtap-and-tun.patch
|
||||
bugfix/all/xen-netback-Disable-NAPI-after-disabling-interrupts.patch
|
||||
bugfix/all/netback-don-t-store-invalid-vif-pointer.patch
|
||||
bugfix/all/xen-netback-support-frontends-without-feature-rx-not.patch
|
||||
bugfix/all/net-mv643xx-disable-tso-by-default.patch
|
||||
|
||||
# Miscellaneous features
|
||||
features/all/efi-autoload-efivars.patch
|
||||
features/all/efi-autoload-efi-pstore.patch
|
||||
features/all/mmc_block-increase-max_devices.patch
|
||||
features/all/of-add-optional-options-parameter-to-of_find_node_by.patch
|
||||
features/all/of-support-passing-console-options-with-stdout-path.patch
|
||||
features/all/efi-expose-underlying-uefi-firmware-platform-size-to.patch
|
||||
|
||||
bugfix/x86/x86_64-vdso-fix-the-vdso-address-randomization-algor.patch
|
||||
|
|
Loading…
Reference in New Issue