3.15.1-stable review
Greg Kroah-Hartman
maintainercover 3.15.1-stable review
This is the start of the stable review cycle for the 3.15.1 release. There are 12 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat Jun 14 23:20:28 UTC 2014. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
kernel.org/pub/linux/kernel/v3.0/stable-review/patch-3.15.1-rc1.gz
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 3.15.1-rc1
Andreas Schrägle <[email protected]>
ahci: add PCI ID for Marvell 88SE91A0 SATA Controller
Jérôme Carretero <[email protected]>
ahci: Add Device ID for HighPoint RocketRaid 642L
Alessandro Miceli <[email protected]>
rtl28xxu: add [1b80:d3af] Sveon STV27
Alessandro Miceli <[email protected]>
rtl28xxu: add [1b80:d39d] Sveon STV20
Brian Healy <[email protected]>
rtl28xxu: add 1b80:d395 Peak DVB-T USB
Tomas Winkler <[email protected]>
mei: me: read H_CSR after asserting reset
Tomas Winkler <[email protected]>
mei: me: drop harmful wait optimization
Tomas Winkler <[email protected]>
mei: me: fix hw ready reset flow
Alexei Starovoitov <[email protected]>
PCI/MSI: Fix memory leak in free_msi_irqs()
Andy Lutomirski <[email protected]>
auditsc: audit_krule mask accesses need bounds checking
Al Viro <[email protected]>
lock_parent: don't step on stale ->d_parent of all-but-freed one
Andy Lutomirski <[email protected]>
fs,userns: Change inode_capable to capable_wrt_inode_uidgid
-------------
Diffstat:
Makefile | 4 ++-- drivers/ata/ahci.c | 4 ++++ drivers/media/dvb-core/dvb-usb-ids.h | 2 ++ drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 6 ++++++ drivers/misc/mei/hw-me.c | 25 +++++++++++++++++++------ drivers/pci/msi.c | 2 +- fs/attr.c | 8 ++++---- fs/dcache.c | 4 +++- fs/inode.c | 10 +++++++--- fs/namei.c | 11 ++++++----- fs/xfs/xfs_ioctl.c | 2 +- include/linux/capability.h | 2 +- kernel/auditsc.c | 27 ++++++++++++++++++--------- kernel/capability.c | 20 ++++++++------------ 14 files changed, 82 insertions(+), 45 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/12 fs,userns: Change inode_capable to capable_wrt_inode_uidgid
3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Andy Lutomirski <[email protected]>
commit 23adbe12ef7d3d4195e80800ab36b37bee28cd03 upstream.
The kernel has no concept of capabilities with respect to inodes; inodes exist independently of namespaces. For example, inode_capable(inode, CAP_LINUX_IMMUTABLE) would be nonsense.
This patch changes inode_capable to check for uid and gid mappings and renames it to capable_wrt_inode_uidgid, which should make it more obvious what it does.
Fixes CVE-2014-4014.
--- fs/attr.c | 8 ++++---- fs/inode.c | 10 +++++++--- fs/namei.c | 11 ++++++----- fs/xfs/xfs_ioctl.c | 2 +- include/linux/capability.h | 2 +- kernel/capability.c | 20 ++++++++------------ 6 files changed, 27 insertions(+), 26 deletions(-)
fs/attr.c +4 -4
@@ -50,14 +50,14 @@ int inode_change_ok(const struct inode *if ((ia_valid &ATTR_UID ) && (!uid_eq (current_fsuid (), inode->i_uid) || !uid_eq (attr->ia_uid, inode->i_uid)) && - !inode_capable (inode,CAP_CHOWN )) + !capable_wrt_inode_uidgid (inode,CAP_CHOWN ))return -EPERM ;/* Make sure caller can chgrp. */ if ((ia_valid &ATTR_GID ) && (!uid_eq (current_fsuid (), inode->i_uid) || (!in_group_p (attr->ia_gid) && !gid_eq (attr->ia_gid, inode->i_gid))) && - !inode_capable (inode,CAP_CHOWN )) + !capable_wrt_inode_uidgid (inode,CAP_CHOWN ))return -EPERM ;/* Make sure a caller can chmod. */
@@ -67,7 +67,7 @@ int inode_change_ok(const struct inode */* Also check the setgid bit! */ if (!in_group_p ((ia_valid &ATTR_GID ) ? attr->ia_gid : inode->i_gid) && - !inode_capable (inode,CAP_FSETID )) + !capable_wrt_inode_uidgid (inode,CAP_FSETID )) attr->ia_mode &= ~S_ISGID ; }
@@ -160,7 +160,7 @@ void setattr_copy(struct inode *inode, cumode_t mode = attr->ia_mode;if (!in_group_p (inode->i_gid) && - !inode_capable (inode,CAP_FSETID )) + !capable_wrt_inode_uidgid (inode,CAP_FSETID )) mode &= ~S_ISGID ; inode->i_mode = mode; }
fs/inode.c +7 -3
@@ -1839,14 +1839,18 @@ EXPORT_SYMBOL(inode_init_owner);* inode_owner_or_capable - check current task permissions to inode * @inode: inode being checked * -* Return true if current either has CAP_FOWNER to the inode, or -* owns the file. +* Return true if current either has CAP_FOWNER in a namespace with the +* inode owner uid mapped, or owns the file. */ bool inode_owner_or_capable (const struct inode *inode) { +struct user_namespace *ns; +if (uid_eq (current_fsuid (), inode->i_uid))return true; -if (inode_capable (inode,CAP_FOWNER )) + + ns =current_user_ns (); +if (ns_capable (ns,CAP_FOWNER ) &&kuid_has_mapping (ns, inode->i_uid))return true;return false; }
fs/namei.c +6 -5
@@ -332,10 +332,11 @@ int generic_permission(struct inode *inoif (S_ISDIR (inode->i_mode)) {/* DACs are overridable for directories */ -if (inode_capable (inode,CAP_DAC_OVERRIDE )) +if (capable_wrt_inode_uidgid (inode,CAP_DAC_OVERRIDE ))return 0 ;if (!(mask &MAY_WRITE )) -if (inode_capable (inode,CAP_DAC_READ_SEARCH )) +if (capable_wrt_inode_uidgid (inode, +CAP_DAC_READ_SEARCH ))return 0 ;return -EACCES ; }
@@ -345,7 +346,7 @@ int generic_permission(struct inode *ino* at least one exec bit set. */ if (!(mask &MAY_EXEC ) || (inode->i_mode &S_IXUGO )) -if (inode_capable (inode,CAP_DAC_OVERRIDE )) +if (capable_wrt_inode_uidgid (inode,CAP_DAC_OVERRIDE ))return 0 ;/*
@@ -353,7 +354,7 @@ int generic_permission(struct inode *ino*/ mask &=MAY_READ |MAY_WRITE |MAY_EXEC ;if (mask ==MAY_READ ) -if (inode_capable (inode,CAP_DAC_READ_SEARCH )) +if (capable_wrt_inode_uidgid (inode,CAP_DAC_READ_SEARCH ))return 0 ;return -EACCES ;
@@ -2379,7 +2380,7 @@ static inline int check_sticky(struct inreturn 0 ;if (uid_eq (dir->i_uid, fsuid))return 0 ; -return !inode_capable (inode,CAP_FOWNER ); +return !capable_wrt_inode_uidgid (inode,CAP_FOWNER ); }/*
fs/xfs/xfs_ioctl.c +1 -1
@@ -1215,7 +1215,7 @@ xfs_ioctl_setattr(* cleared upon successful return from chown() */ if ((ip->i_d.di_mode & (S_ISUID |S_ISGID )) && - !inode_capable (VFS_I (ip),CAP_FSETID )) + !capable_wrt_inode_uidgid (VFS_I (ip),CAP_FSETID )) ip->i_d.di_mode &= ~(S_ISUID |S_ISGID );/*
include/linux/capability.h +1 -1
@@ -210,7 +210,7 @@ extern bool has_ns_capability_noaudit(st struct user_namespace *ns, int cap);extern bool capable (int cap);extern bool ns_capable (struct user_namespace *ns,int cap); -extern bool inode_capable (const struct inode *inode,int cap); +extern bool capable_wrt_inode_uidgid (const struct inode *inode,int cap);extern bool file_ns_capable (const struct file *file,struct user_namespace *ns,int cap);/* audit system wants to get cap info from files as well */
kernel/capability.c +8 -12
@@ -424,23 +424,19 @@ bool capable(int cap)EXPORT_SYMBOL (capable);/** -* inode_capable - Check superior capability over inode +* capable_wrt_inode_uidgid - Check nsown_capable and uid and gid mapped * @inode: The inode in question * @cap: The capability in question * -* Return true if the current task has the given superior capability -* targeted at it's own user namespace and that the given inode is owned -* by the current user namespace or a child namespace. -* -* Currently we check to see if an inode is owned by the current -* user namespace by seeing if the inode's owner maps into the -* current user namespace. -* +* Return true if the current task has the given capability targeted at +* its own user namespace and that the given inode's uid and gid are +* mapped into the current user namespace. */ -bool inode_capable (const struct inode *inode,int cap) +bool capable_wrt_inode_uidgid (const struct inode *inode,int cap) {struct user_namespace *ns =current_user_ns (); -return ns_capable (ns, cap) &&kuid_has_mapping (ns, inode->i_uid); +return ns_capable (ns, cap) &&kuid_has_mapping (ns, inode->i_uid) && +kgid_has_mapping (ns, inode->i_gid); } -EXPORT_SYMBOL (inode_capable); +EXPORT_SYMBOL (capable_wrt_inode_uidgid);
Greg Kroah-Hartman
maintainerPATCH 2/12 lock_parent: dont step on stale ->d_parent of all-but-freed one
In reply to Greg Kroah-Hartman3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Al Viro <[email protected]>
commit c2338f2dc7c1e9f6202f370c64ffd7f44f3d4b51 upstream.
Dentry that had been through (or into) __dentry_kill() might be seen by shrink_dentry_list(); that's normal, it'll be taken off the shrink list and freed if __dentry_kill() has already finished. The problem is, its ->d_parent might be pointing to already freed dentry, so lock_parent() needs to be careful.
We need to check that dentry hasn't already gone into __dentry_kill() *and* grab rcu_read_lock() before dropping ->d_lock - the latter makes sure that whatever we see in ->d_parent after dropping ->d_lock it won't be freed until we drop rcu_read_lock().
--- fs/dcache.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
fs/dcache.c +3 -1
@@ -532,10 +532,12 @@ static inline struct dentry *lock_parentstruct dentry *parent = dentry->d_parent;if (IS_ROOT (dentry))return NULL ; +if (unlikely ((int )dentry->d_lockref.count <0 )) +return NULL ;if (likely (spin_trylock (&parent->d_lock)))return parent; -spin_unlock (&dentry->d_lock);rcu_read_lock (); +spin_unlock (&dentry->d_lock); again: parent =ACCESS_ONCE (dentry->d_parent);spin_lock (&parent->d_lock);
Greg Kroah-Hartman
maintainerPATCH 3/12 auditsc: audit_krule mask accesses need bounds checking
In reply to Greg Kroah-Hartman3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Andy Lutomirski <[email protected]>
commit a3c54931199565930d6d84f4c3456f6440aefd41 upstream.
Fixes an easy DoS and possible information disclosure.
This does nothing about the broken state of x32 auditing.
eparis: If the admin has enabled auditd and has specifically loaded audit rules. This bug has been around since before git. Wow...
--- kernel/auditsc.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-)
kernel/auditsc.c +18 -9
@@ -728,6 +728,22 @@ static enum audit_state audit_filter_tasreturn AUDIT_BUILD_CONTEXT ; } +static int audit_in_mask (const struct audit_krule *rule,unsigned long val) +{ +int word, bit; + +if (val >0xffffffff ) +return false; + + word =AUDIT_WORD (val); +if (word >=AUDIT_BITMASK_SIZE ) +return false; + + bit =AUDIT_BIT (val); + +return rule->mask[word] & bit; +} +/* At syscall entry and exit time, this filter is called if the * audit_state is not low enough that auditing cannot take place, but is * also not high enough that we already know we have to write an audit
@@ -745,11 +761,8 @@ static enum audit_state audit_filter_sysrcu_read_lock ();if (!list_empty (list)) { -int word =AUDIT_WORD (ctx->major); -int bit =AUDIT_BIT (ctx->major); -list_for_each_entry_rcu (e, list, list) { -if ((e->rule.mask[word] & bit) == bit && +if (audit_in_mask (&e->rule, ctx->major) &&audit_filter_rules (tsk, &e->rule, ctx,NULL , &state, false)) {rcu_read_unlock ();
@@ -769,20 +782,16 @@ static enum audit_state audit_filter_sysstatic int audit_filter_inode_name (struct task_struct *tsk,struct audit_names *n,struct audit_context *ctx) { -int word, bit;int h =audit_hash_ino ((u32 )n->ino);struct list_head *list = &audit_inode_hash[h];struct audit_entry *e;enum audit_state state; - word =AUDIT_WORD (ctx->major); - bit =AUDIT_BIT (ctx->major); -if (list_empty (list))return 0 ;list_for_each_entry_rcu (e, list, list) { -if ((e->rule.mask[word] & bit) == bit && +if (audit_in_mask (&e->rule, ctx->major) &&audit_filter_rules (tsk, &e->rule, ctx, n, &state, false)) { ctx->current_state = state;return 1 ;
Greg Kroah-Hartman
maintainerPATCH 4/12 PCI/MSI: Fix memory leak in free_msi_irqs()
In reply to Greg Kroah-Hartman3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alexei Starovoitov <[email protected]>
commit b701c0b1fe819a2083fc6ec5332e0e4492b9516d upstream.
free_msi_irqs() is leaking memory, since list_for_each_entry(entry, &dev->msi_list, list) {...} is never executed, because dev->msi_list is made empty by the loop just above this one.
Fix it by relying on zero termination of attribute array like populate_msi_sysfs() does.
--- drivers/pci/msi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/pci/msi.c +1 -1
@@ -414,7 +414,7 @@ static void free_msi_irqs(struct pci_devif (dev->msi_irq_groups) {sysfs_remove_groups (&dev->dev.kobj, dev->msi_irq_groups); msi_attrs = dev->msi_irq_groups[0 ]->attrs; -list_for_each_entry (entry, &dev->msi_list, list) { +while (msi_attrs[count]) { dev_attr =container_of (msi_attrs[count], struct device_attribute, attr);kfree (dev_attr->attr.name);
Greg Kroah-Hartman
maintainerPATCH 5/12 mei: me: fix hw ready reset flow
In reply to Greg Kroah-Hartman3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tomas Winkler <[email protected]>
commit b04ada92ffaabb868497a1fce8e4f6bf74e5488f upstream.
We cleared H_RST for H_CSR on spurious interrupt generated when ME_RDY while cleared and not while ME_RDY is set. The spurious interrupt is not delivered on all platforms in this case the
driver may fail to initialize.
--- drivers/misc/mei/hw-me.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
drivers/misc/mei/hw-me.c +6 -3
@@ -164,6 +164,9 @@ static void mei_me_hw_reset_release(stru hcsr |=H_IG ; hcsr &= ~H_RST ;mei_hcsr_set (hw, hcsr); + +/* complete this write before we set host ready on another CPU */ +mmiowb (); }/** * mei_me_hw_reset - resets fw via mei csr register.
@@ -201,6 +204,7 @@ static int mei_me_hw_reset(struct mei_destatic void mei_me_host_set_ready (struct mei_device *dev) {struct mei_me_hw *hw =to_me_hw (dev); + hw->host_hw_state =mei_hcsr_read (hw); hw->host_hw_state |=H_IE |H_IG |H_RDY ;mei_hcsr_set (hw, hw->host_hw_state); }
@@ -491,14 +495,13 @@ irqreturn_t mei_me_irq_thread_handler(in/* check if we need to start the dev */ if (!mei_host_is_ready (dev)) {if (mei_hw_is_ready (dev)) { +mei_me_hw_reset_release (dev);dev_dbg (&dev->pdev->dev,"we need to start the dev.\n" ); dev->recvd_hw_ready = true;wake_up_interruptible (&dev->wait_hw_ready); }else { - -dev_dbg (&dev->pdev->dev,"Reset Completed.\n" ); -mei_me_hw_reset_release (dev); +dev_dbg (&dev->pdev->dev,"Spurious Interrupt\n" ); } goto end; }
Greg Kroah-Hartman
maintainerPATCH 6/12 mei: me: drop harmful wait optimization
In reply to Greg Kroah-Hartman3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tomas Winkler <[email protected]>
commit 07cd7be3d92eeeae1f92a017f2cfe4fdd9256526 upstream.
It my take time till ME_RDY will be cleared after the reset, so we cannot check the bit before we got the interrupt
--- drivers/misc/mei/hw-me.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/misc/mei/hw-me.c +1 -3
@@ -186,6 +186,7 @@ static int mei_me_hw_reset(struct mei_deelse hcsr &= ~H_IE ; + dev->recvd_hw_ready = false;mei_me_reg_write (hw,H_CSR , hcsr);if (intr_enable == false)
@@ -237,10 +238,7 @@ static bool mei_me_hw_is_ready(struct mestatic int mei_me_hw_ready_wait (struct mei_device *dev) {int err; -if (mei_me_hw_is_ready (dev)) -return 0 ; - dev->recvd_hw_ready = false;mutex_unlock (&dev->device_lock); err = wait_event_interruptible_timeout(dev->wait_hw_ready, dev->recvd_hw_ready,
Greg Kroah-Hartman
maintainerPATCH 7/12 mei: me: read H_CSR after asserting reset
In reply to Greg Kroah-Hartman3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Tomas Winkler <[email protected]>
commit c40765d919d25d2d44d99c4ce39e48808f137e1e upstream.
According the spec the host should read H_CSR again after asserting reset H_RST to ensure that reset was read by the firmware
--- drivers/misc/mei/hw-me.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
drivers/misc/mei/hw-me.c +12 -0
@@ -189,6 +189,18 @@ static int mei_me_hw_reset(struct mei_de dev->recvd_hw_ready = false;mei_me_reg_write (hw,H_CSR , hcsr); +/* +* Host reads the H_CSR once to ensure that the +* posted write to H_CSR completes. +*/ + hcsr =mei_hcsr_read (hw); + +if ((hcsr &H_RST ) ==0 ) +dev_warn (&dev->pdev->dev,"H_RST is not set = 0x%08X" , hcsr); + +if ((hcsr &H_RDY ) ==H_RDY ) +dev_warn (&dev->pdev->dev,"H_RDY is not cleared 0x%08X" , hcsr); +if (intr_enable == false)mei_me_hw_reset_release (dev);
Greg Kroah-Hartman
maintainerPATCH 8/12 rtl28xxu: add 1b80:d395 Peak DVB-T USB
In reply to Greg Kroah-Hartman3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Brian Healy <[email protected]>
commit 9ca24ae4083665bda38da45f4b5dc9bbaf936bc0 upstream.
Add USB ID for Peak DVB-T USB.
--- drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/media/usb/dvb-usb-v2/rtl28xxu.c +2 -0
@@ -1537,6 +1537,8 @@ static const struct usb_device_id rtl28x &rtl2832u_props, "Crypto ReDi PC 50 A", NULL) }, {DVB_USB_DEVICE (USB_VID_KYE ,0x707f , &rtl2832u_props, "Genius TVGo DVB-T03", NULL) }, + { DVB_USB_DEVICE(USB_VID_KWORLD_2, 0xd395, + &rtl2832u_props, "Peak DVB-T USB", NULL) },/* RTL2832P devices: */ { DVB_USB_DEVICE(USB_VID_HANFTEK, 0x0131,
Greg Kroah-Hartman
maintainerPATCH 9/12 rtl28xxu: add [1b80:d39d] Sveon STV20
In reply to Greg Kroah-Hartman3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alessandro Miceli <[email protected]>
commit f27f5b0ee4967babfb8b03511f5e76b79d781014 upstream.
Added Sveon STV20 device based on Realtek RTL2832U and FC0012 tuner
--- drivers/media/dvb-core/dvb-usb-ids.h | 1 + drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 2 ++ 2 files changed, 3 insertions(+)
drivers/media/dvb-core/dvb-usb-ids.h +1 -0
@@ -361,6 +361,7 @@#define USB_PID_FRIIO_WHITE 0x0001#define USB_PID_TVWAY_PLUS 0x0002#define USB_PID_SVEON_STV20 0xe39d +#define USB_PID_SVEON_STV20_RTL2832U 0xd39d#define USB_PID_SVEON_STV22 0xe401#define USB_PID_SVEON_STV22_IT9137 0xe411#define USB_PID_AZUREWAVE_AZ6027 0x3275
drivers/media/usb/dvb-usb-v2/rtl28xxu.c +2 -0
@@ -1539,6 +1539,8 @@ static const struct usb_device_id rtl28x &rtl2832u_props, "Genius TVGo DVB-T03", NULL) }, {DVB_USB_DEVICE (USB_VID_KWORLD_2 ,0xd395 , &rtl2832u_props, "Peak DVB-T USB", NULL) }, + { DVB_USB_DEVICE(USB_VID_KWORLD_2, USB_PID_SVEON_STV20_RTL2832U, + &rtl2832u_props, "Sveon STV20", NULL) },/* RTL2832P devices: */ { DVB_USB_DEVICE(USB_VID_HANFTEK, 0x0131,
Greg Kroah-Hartman
maintainerPATCH 10/12 rtl28xxu: add [1b80:d3af] Sveon STV27
In reply to Greg Kroah-Hartman3.15-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alessandro Miceli <[email protected]>
commit 74a86272f05c3dae40f2d7b17ff09a0608cf3304 upstream.
Added support for Sveon STV27 device (rtl2832u + FC0013 tuner)
--- drivers/media/dvb-core/dvb-usb-ids.h | 1 + drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 2 ++ 2 files changed, 3 insertions(+)
drivers/media/dvb-core/dvb-usb-ids.h +1 -0
@@ -376,4 +376,5 @@#define USB_PID_CTVDIGDUAL_V2 0xe410#define USB_PID_PCTV_2002E 0x025c#define USB_PID_PCTV_2002E_SE 0x025d +#define USB_PID_SVEON_STV27 0xd3af#endif
drivers/media/usb/dvb-usb-v2/rtl28xxu.c +2 -0
@@ -1541,6 +1541,8 @@ static const struct usb_device_id rtl28x &rtl2832u_props, "Peak DVB-T USB", NULL) }, {DVB_USB_DEVICE (USB_VID_KWORLD_2 ,USB_PID_SVEON_STV20_RTL2832U , &rtl2832u_props, "Sveon STV20", NULL) }, + { DVB_USB_DEVICE(USB_VID_KWORLD_2, USB_PID_SVEON_STV27, + &rtl2832u_props, "Sveon STV27", NULL) },/* RTL2832P devices: */ { DVB_USB_DEVICE(USB_VID_HANFTEK, 0x0131,
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 3.15.1 release. There are 12 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat Jun 14 23:20:28 UTC 2014. Anything received after that time might be too late.
Build results:
total: 143 pass: 135 skipped: 5 fail: 3
Failed builds:
powerpc:allmodconfig (binutils 2.23)
powerpc:allmodconfig (binutils 2.24)
unicore32:defconfig
Qemu tests all passed.
Results are as expected.
Details are available at http://server.roeck-us.net:8010/builders.
Guenter
Greg Kroah-Hartman
maintainerQuoted 10 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 3.15.1 release. There are 12 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat Jun 14 23:20:28 UTC 2014. Anything received after that time might be too late.
Quoted 6 lines
Build results:
total: 143 pass: 135 skipped: 5 fail: 3Failed builds:
powerpc:allmodconfig (binutils 2.23)
powerpc:allmodconfig (binutils 2.24)
unicore32:defconfig
Are these powerpc build failures to be expected? I'm guessing that unicore32 just never has built properly, right?
thanks,
greg k-h
Quoted 18 lines · Greg Kroah-Hartman
Quoted 10 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 3.15.1 release. There are 12 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat Jun 14 23:20:28 UTC 2014. Anything received after that time might be too late.
Quoted 6 lines
Build results:
total: 143 pass: 135 skipped: 5 fail: 3Failed builds:
powerpc:allmodconfig (binutils 2.23)
powerpc:allmodconfig (binutils 2.24)
unicore32:defconfig
Quoted 3 lines
Are these powerpc build failures to be expected? I'm guessing that unicore32 just never has built properly, right?
For powerpc, yes. Ben is working on a patch to fix the problem, which turns out to be tricky.
unicore32 - correct, it doesn't build at least since 3.0. The maintainer submitted a set of patches to Linus to fix the problem a couple of weeks ago, but for some reason Linus doesn't accept it. I guess it will be up to Linus and the unicore maintainer to decide the fate of the architecture. I don't want to drop the build; this way people are and will be painfully aware that there is an architecture which did not build for at least 15 releases.
[ Not that score is any better, really, but I have no means to build it. ]
Guenter
At Fri, 13 Jun 2014 08:16:02 -0700,
Quoted 18 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 3.15.1 release. There are 12 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat Jun 14 23:20:28 UTC 2014. Anything received after that time might be too late.
Build results:
total: 143 pass: 135 skipped: 5 fail: 3Failed builds:
powerpc:allmodconfig (binutils 2.23)
powerpc:allmodconfig (binutils 2.24)
unicore32:defconfig
Quoted 4 lines
Qemu tests all passed.
Results are as expected.
Details are available at http://server.roeck-us.net:8010/builders.
3.15.1-rc1, 3.14.8-rc1, 3.10.44-rc1, and 3.4.94-rc1 passed my test.
- Test Cases:
- Build this kernel.
- Boot this kernel.
- Build the latest mainline kernel with this kernel.
- Test Tool:
https://github.com/satoru-takeuchi/test-linux-stable
- Test Result (kernel .config, ktest config and test log):
http://satoru-takeuchi.org/test-linux-stable/results/<version>-<test datetime>.tar.xz
- Build Environment:
- OS: Debian Jessy x86_64
- CPU: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz x 4
- memory: 8GB
- Test Target Environment:
- Debian Jessy x86_64 (KVM guest on the Build Environment)
- # of vCPU: 2
- memory: 2GB
Thanks,
Satoru
Quoted 3 lines
Guenter
Greg Kroah-Hartman
maintainerQuoted 43 lines · Satoru Takeuchi
At Fri, 13 Jun 2014 08:16:02 -0700,
Quoted 18 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 3.15.1 release. There are 12 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Sat Jun 14 23:20:28 UTC 2014. Anything received after that time might be too late.
Build results:
total: 143 pass: 135 skipped: 5 fail: 3Failed builds:
powerpc:allmodconfig (binutils 2.23)
powerpc:allmodconfig (binutils 2.24)
unicore32:defconfigQuoted 4 lines
Qemu tests all passed.
Results are as expected.
Details are available at http://server.roeck-us.net:8010/builders.3.15.1-rc1, 3.14.8-rc1, 3.10.44-rc1, and 3.4.94-rc1 passed my test.
- Test Cases:
- Build this kernel.
- Boot this kernel.
- Build the latest mainline kernel with this kernel.- Test Tool:
https://github.com/satoru-takeuchi/test-linux-stable- Test Result (kernel .config, ktest config and test log):
http://satoru-takeuchi.org/test-linux-stable/results/<version>-<test datetime>.tar.xz- Build Environment:
- OS: Debian Jessyx86_64
- CPU: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz x 4
- memory: 8GB
Quoted 7 lines
- Test Target Environment:
- Debian Jessyx86_64(KVM guest on the Build Environment)
- # of vCPU: 2
- memory: 2GBThanks,
Satoru
Thanks for testing all of these and letting me know.
greg k-h