rpms/kernel-xen/devel linux-2.6-audit-new-msg-types.patch, NONE, 1.1 linux-2.6-debunk-i2c.patch, NONE, 1.1 linux-2.6-net-fix-iptables.patch, NONE, 1.1 linux-2.6-net-slab-corruption.patch, NONE, 1.1 linux-2.6-net-wireless-features.patch, NONE, 1.1 linux-2.6-selinux-mprotect-checks.patch, NONE, 1.1 linux-2.6-snd-powermac.patch, NONE, 1.1 linux-2.6-suspend-memhotplug-oops.patch, NONE, 1.1 linux-2.6-x86_64-add-ppoll-pselect.patch, NONE, 1.1 linux-2.6-x86_64-generic-sigsuspend.patch, NONE, 1.1 linux-2.6-x86_64-tif-restore-sigmask.patch, NONE, 1.1 .cvsignore, 1.10, 1.11 kernel-xen.spec, 1.33, 1.34 linux-2.6-crashdump-common.patch, 1.4, 1.5 linux-2.6-xen-merge.patch, 1.6, 1.7 sources, 1.10, 1.11 linux-2.6-acpi-thinkpad-c2c3.patch, 1.3, NONE
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Tue Jan 31 21:26:20 UTC 2006
Author: quintela
Update of /cvs/dist/rpms/kernel-xen/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv15600
Modified Files:
.cvsignore kernel-xen.spec linux-2.6-crashdump-common.patch
linux-2.6-xen-merge.patch sources
Added Files:
linux-2.6-audit-new-msg-types.patch linux-2.6-debunk-i2c.patch
linux-2.6-net-fix-iptables.patch
linux-2.6-net-slab-corruption.patch
linux-2.6-net-wireless-features.patch
linux-2.6-selinux-mprotect-checks.patch
linux-2.6-snd-powermac.patch
linux-2.6-suspend-memhotplug-oops.patch
linux-2.6-x86_64-add-ppoll-pselect.patch
linux-2.6-x86_64-generic-sigsuspend.patch
linux-2.6-x86_64-tif-restore-sigmask.patch
Removed Files:
linux-2.6-acpi-thinkpad-c2c3.patch
Log Message:
merged with rawhide 1.1884
linux-2.6-audit-new-msg-types.patch:
include/linux/audit.h | 19 +++++++++++++++----
kernel/audit.c | 2 ++
security/selinux/nlmsgtab.c | 6 ++++--
3 files changed, 21 insertions(+), 6 deletions(-)
--- NEW FILE linux-2.6-audit-new-msg-types.patch ---
--- a/include/linux/audit.h
+++ b/include/linux/audit.h
@@ -33,11 +33,20 @@
* 1200 - 1299 messages internal to the audit daemon
* 1300 - 1399 audit event messages
* 1400 - 1499 SE Linux use
- * 1500 - 1999 future use
- * 2000 is for otherwise unclassified kernel audit messages
+ * 1500 - 1599 kernel LSPP events
+ * 1600 - 1699 kernel crypto events
+ * 1700 - 1999 future kernel use (maybe integrity labels and related events)
+ * 2000 is for otherwise unclassified kernel audit messages (legacy)
+ * 2001 - 2099 unused (kernel)
+ * 2100 - 2199 user space anomaly records
+ * 2200 - 2299 user space actions taken in response to anomalies
+ * 2300 - 2399 user space generated LSPP events
+ * 2400 - 2499 user space crypto events
+ * 2500 - 2999 future user space (maybe integrity labels and related events)
*
- * Messages from 1000-1199 are bi-directional. 1200-1299 are exclusively user
- * space. Anything over that is kernel --> user space communication.
+ * Messages from 1000-1199 are bi-directional. 1200-1299 & 2100 - 2999 are
+ * exclusively user space. 1300-2099 is kernel --> user space
+ * communication.
*/
#define AUDIT_GET 1000 /* Get status */
#define AUDIT_SET 1001 /* Set status (enable/disable/auditd) */
@@ -54,6 +63,8 @@
#define AUDIT_FIRST_USER_MSG 1100 /* Userspace messages mostly uninteresting to kernel */
#define AUDIT_USER_AVC 1107 /* We filter this differently */
#define AUDIT_LAST_USER_MSG 1199
+#define AUDIT_FIRST_USER_MSG2 2100 /* More user space messages */
+#define AUDIT_LAST_USER_MSG2 2999
#define AUDIT_DAEMON_START 1200 /* Daemon startup record */
#define AUDIT_DAEMON_END 1201 /* Daemon normal stop record */
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -367,6 +367,7 @@ static int audit_netlink_ok(kernel_cap_t
break;
case AUDIT_USER:
case AUDIT_FIRST_USER_MSG...AUDIT_LAST_USER_MSG:
+ case AUDIT_FIRST_USER_MSG2...AUDIT_LAST_USER_MSG2:
if (!cap_raised(eff_cap, CAP_AUDIT_WRITE))
err = -EPERM;
break;
@@ -447,6 +448,7 @@ static int audit_receive_msg(struct sk_b
break;
case AUDIT_USER:
case AUDIT_FIRST_USER_MSG...AUDIT_LAST_USER_MSG:
+ case AUDIT_FIRST_USER_MSG2...AUDIT_LAST_USER_MSG2:
if (!audit_enabled && msg_type != AUDIT_USER_AVC)
return 0;
--- a/security/selinux/nlmsgtab.c
+++ b/security/selinux/nlmsgtab.c
@@ -145,8 +145,10 @@ int selinux_nlmsg_lookup(u16 sclass, u16
break;
case SECCLASS_NETLINK_AUDIT_SOCKET:
- if (nlmsg_type >= AUDIT_FIRST_USER_MSG &&
- nlmsg_type <= AUDIT_LAST_USER_MSG) {
+ if ((nlmsg_type >= AUDIT_FIRST_USER_MSG &&
+ nlmsg_type <= AUDIT_LAST_USER_MSG) ||
+ (nlmsg_type >= AUDIT_FIRST_USER_MSG2 &&
+ nlmsg_type <= AUDIT_LAST_USER_MSG2)) {
*perm = NETLINK_AUDIT_SOCKET__NLMSG_RELAY;
} else {
err = nlmsg_perm(nlmsg_type, perm, nlmsg_audit_perms,
linux-2.6-debunk-i2c.patch:
drivers/i2c/i2c-core.c | 15 +++++++++++++++
include/linux/i2c.h | 3 +++
2 files changed, 18 insertions(+)
--- NEW FILE linux-2.6-debunk-i2c.patch ---
>From benh at kernel.crashing.org Sun Jan 8 20:19:08 2006
From: Benjamin Herrenschmidt <benh at kernel.crashing.org>
To: Greg KH <greg at kroah.com>
Cc: Jean Delvare <khali at linux-fr.org>, Adrian Bunk <bunk at stusta.de>
Date: Mon, 09 Jan 2006 15:19:18 +1100
Message-Id: <1136780358.14374.2.camel at localhost.localdomain>
Subject: I2C: Resurrect i2c_smbus_write_i2c_block_data.
From: Jean Delvare <khali at linux-fr.org>
Signed-off-by: Jean Delvare <khali at linux-fr.org>
---
drivers/i2c/i2c-core.c | 15 +++++++++++++++
include/linux/i2c.h | 3 +++
2 files changed, 18 insertions(+)
--- gregkh-2.6.orig/drivers/i2c/i2c-core.c
+++ gregkh-2.6/drivers/i2c/i2c-core.c
@@ -946,6 +946,20 @@ s32 i2c_smbus_read_i2c_block_data(struct
}
}
+s32 i2c_smbus_write_i2c_block_data(struct i2c_client *client, u8 command,
+ u8 length, u8 *values)
+{
+ union i2c_smbus_data data;
+
+ if (length > I2C_SMBUS_BLOCK_MAX)
+ length = I2C_SMBUS_BLOCK_MAX;
+ data.block[0] = length;
+ memcpy(data.block + 1, values, length);
+ return i2c_smbus_xfer(client->adapter, client->addr, client->flags,
+ I2C_SMBUS_WRITE, command,
+ I2C_SMBUS_I2C_BLOCK_DATA, &data);
+}
+
/* Simulate a SMBus command using the i2c protocol
No checking of parameters is done! */
static s32 i2c_smbus_xfer_emulated(struct i2c_adapter * adapter, u16 addr,
@@ -1150,6 +1164,7 @@ EXPORT_SYMBOL(i2c_smbus_read_word_data);
EXPORT_SYMBOL(i2c_smbus_write_word_data);
EXPORT_SYMBOL(i2c_smbus_write_block_data);
EXPORT_SYMBOL(i2c_smbus_read_i2c_block_data);
+EXPORT_SYMBOL(i2c_smbus_write_i2c_block_data);
MODULE_AUTHOR("Simon G. Vogl <simon at tk.uni-linz.ac.at>");
MODULE_DESCRIPTION("I2C-Bus main module");
--- gregkh-2.6.orig/include/linux/i2c.h
+++ gregkh-2.6/include/linux/i2c.h
@@ -100,6 +100,9 @@ extern s32 i2c_smbus_write_block_data(st
/* Returns the number of read bytes */
extern s32 i2c_smbus_read_i2c_block_data(struct i2c_client * client,
u8 command, u8 *values);
+extern s32 i2c_smbus_write_i2c_block_data(struct i2c_client * client,
+ u8 command, u8 length,
+ u8 *values);
/*
* A driver is capable of handling one or more physical devices present on
linux-2.6-net-fix-iptables.patch:
x_tables.h | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletion(-)
--- NEW FILE linux-2.6-net-fix-iptables.patch ---
[NETFILTER] x_tables: Fix XT_ALIGN() macro on [at least] ppc32
To keep backwards compatibility with old iptables userspace programs,
the new XT_ALIGN macro always has to return the same value as IPT_ALIGN,
IP6T_ALIGN or ARPT_ALIGN in previous kernels.
However, in those kernels the macro was defined in dependency to the
respective layer3 specifi data structures, which we can no longer do with
x_tables.
The fix is an ugly kludge, but it has been tested to solve the problem. Yet
another reason to move away from the current {ip,ip6,arp,eb}tables like
data structures.
Signed-off-by: Harald Welte <laforge at netfilter.org>
---
commit 470faeb379560fe877b685ca69be6a7e4f0e91ed
tree 5732ecd9bcab28469805752514e5c57ba26189a1
parent 44718bbfa186d58477163418d37df173aa2dd079
author Harald Welte <laforge at netfilter.org> Fri, 20 Jan 2006 01:44:24 +0100
committer Harald Welte <laforge at netfilter.org> Fri, 20 Jan 2006 01:44:24 +0100
include/linux/netfilter/x_tables.h | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h
index 472f048..65f9cd8 100644
--- a/include/linux/netfilter/x_tables.h
+++ b/include/linux/netfilter/x_tables.h
@@ -19,8 +19,22 @@ struct xt_get_revision
/* For standard target */
#define XT_RETURN (-NF_REPEAT - 1)
-#define XT_ALIGN(s) (((s) + (__alignof__(u_int64_t)-1)) & ~(__alignof__(u_int64_t)-1))
+/* this is a dummy structure to find out the alignment requirement for a struct
+ * containing all the fundamental data types that are used in ipt_entry, ip6t_entry
+ * and arpt_entry. This sucks, and it is a hack. It will be my personal pleasure
+ * to remove it -HW */
+struct _xt_align
+{
+ u_int8_t u8;
+ u_int16_t u16;
+ u_int32_t u32;
+ u_int64_t u64;
+};
+
+#define XT_ALIGN(s) (((s) + (__alignof__(struct _xt_align)-1)) \
+ & ~(__alignof__(struct _xt_align)-1))
+
/* Standard return verdict, or do jump. */
#define XT_STANDARD_TARGET ""
/* Error verdict. */
linux-2.6-net-slab-corruption.patch:
skbuff.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
--- NEW FILE linux-2.6-net-slab-corruption.patch ---
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -135,13 +135,15 @@ void skb_under_panic(struct sk_buff *skb
struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
int fclone)
{
+ kmem_cache_t *cache;
struct skb_shared_info *shinfo;
struct sk_buff *skb;
u8 *data;
+ cache = fclone ? skbuff_fclone_cache : skbuff_head_cache;
+
/* Get the HEAD */
- skb = kmem_cache_alloc(fclone ? skbuff_fclone_cache : skbuff_head_cache,
- gfp_mask & ~__GFP_DMA);
+ skb = kmem_cache_alloc(cache, gfp_mask & ~__GFP_DMA);
if (!skb)
goto out;
@@ -180,7 +182,7 @@ struct sk_buff *__alloc_skb(unsigned int
out:
return skb;
nodata:
- kmem_cache_free(skbuff_head_cache, skb);
+ kmem_cache_free(cache, skb);
skb = NULL;
goto out;
}
linux-2.6-net-wireless-features.patch:
a/drivers/net/wireless/ipw2200.c | 5
drivers/net/wireless/airo.c | 276 ++++++++++++++++++++++++++++++++++++++-
2 files changed, 278 insertions(+), 3 deletions(-)
--- NEW FILE linux-2.6-net-wireless-features.patch ---
Subject: [2.6.15 patch] wireless/airo: add IWENCODEEXT and IWAUTH support
From: Dan Williams <dcbw at redhat.com>
To: breed at users.sourceforge.net
Cc: netdev at vger.kernel.org, "John W. Linville" <linville at tuxdriver.com>,
jgarzik at pobox.com, networkmanager-list at gnome.org
Date: Mon, 30 Jan 2006 11:58:00 -0500
Message-Id: <1138640281.12551.5.camel at dhcp83-115.boston.redhat.com>
This patch adds IWENCODEEXT and IWAUTH support to the airo driver for
WEP and unencrypted operation. No WPA though. It allows the driver to
operate more willingly with wpa_supplicant and NetworkManager.
Signed-off-by: Dan Williams <dcbw at redhat.com>
--- a/drivers/net/wireless/airo.c 2006-01-30 10:14:23.000000000 -0500
+++ b/drivers/net/wireless/airo.c 2006-01-30 11:05:15.000000000 -0500
@@ -5802,11 +5802,13 @@ static int airo_set_wap(struct net_devic
Cmd cmd;
Resp rsp;
APListRid APList_rid;
- static const unsigned char bcast[ETH_ALEN] = { 255, 255, 255, 255, 255, 255 };
+ static const u8 any[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
+ static const u8 off[ETH_ALEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
if (awrq->sa_family != ARPHRD_ETHER)
return -EINVAL;
- else if (!memcmp(bcast, awrq->sa_data, ETH_ALEN)) {
+ else if (!memcmp(any, awrq->sa_data, ETH_ALEN) ||
+ !memcmp(off, awrq->sa_data, ETH_ALEN)) {
memset(&cmd, 0, sizeof(cmd));
cmd.cmd=CMD_LOSE_SYNC;
if (down_interruptible(&local->sem))
@@ -6297,6 +6299,267 @@ static int airo_get_encode(struct net_de
/*------------------------------------------------------------------*/
/*
+ * Wireless Handler : set extended Encryption parameters
+ */
+static int airo_set_encodeext(struct net_device *dev,
+ struct iw_request_info *info,
+ union iwreq_data *wrqu,
+ char *extra)
+{
+ struct airo_info *local = dev->priv;
+ struct iw_point *encoding = &wrqu->encoding;
+ struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
+ CapabilityRid cap_rid; /* Card capability info */
+ int perm = ( encoding->flags & IW_ENCODE_TEMP ? 0 : 1 );
+ u16 currentAuthType = local->config.authType;
+ int idx, key_len, alg = ext->alg; /* Check encryption mode */
+ wep_key_t key;
+
+ /* Is WEP supported ? */
+ readCapabilityRid(local, &cap_rid, 1);
+ /* Older firmware doesn't support this...
+ if(!(cap_rid.softCap & 2)) {
+ return -EOPNOTSUPP;
+ } */
+ readConfigRid(local, 1);
+
+ /* Determine and validate the key index */
+ idx = encoding->flags & IW_ENCODE_INDEX;
+ if (idx) {
+ if (idx < 1 || idx > ((cap_rid.softCap & 0x80) ? 4:1))
+ return -EINVAL;
+ idx--;
+ } else
+ idx = get_wep_key(local, 0xffff);
+
+ if (encoding->flags & IW_ENCODE_DISABLED)
+ alg = IW_ENCODE_ALG_NONE;
+
+ /* Just setting the transmit key? */
+ if (ext->ext_flags & IW_ENCODE_EXT_SET_TX_KEY) {
+ set_wep_key(local, idx, NULL, 0, perm, 1);
+ } else {
+ /* Set the requested key first */
+ memset(key.key, 0, MAX_KEY_SIZE);
+ switch (alg) {
+ case IW_ENCODE_ALG_NONE:
+ key.len = 0;
+ break;
+ case IW_ENCODE_ALG_WEP:
+ if (ext->key_len > MIN_KEY_SIZE) {
+ key.len = MAX_KEY_SIZE;
+ } else if (ext->key_len > 0) {
+ key.len = MIN_KEY_SIZE;
+ } else {
+ return -EINVAL;
+ }
+ key_len = min (ext->key_len, key.len);
+ memcpy(key.key, ext->key, key_len);
+ break;
+ default:
+ return -EINVAL;
+ }
+ /* Send the key to the card */
+ set_wep_key(local, idx, key.key, key.len, perm, 1);
+ }
+
+ /* Read the flags */
+ if(encoding->flags & IW_ENCODE_DISABLED)
+ local->config.authType = AUTH_OPEN; // disable encryption
+ if(encoding->flags & IW_ENCODE_RESTRICTED)
+ local->config.authType = AUTH_SHAREDKEY; // Only Both
+ if(encoding->flags & IW_ENCODE_OPEN)
+ local->config.authType = AUTH_ENCRYPT; // Only Wep
+ /* Commit the changes to flags if needed */
+ if (local->config.authType != currentAuthType)
+ set_bit (FLAG_COMMIT, &local->flags);
+
+ return -EINPROGRESS;
+}
+
+
+/*------------------------------------------------------------------*/
+/*
+ * Wireless Handler : get extended Encryption parameters
+ */
+static int airo_get_encodeext(struct net_device *dev,
+ struct iw_request_info *info,
+ union iwreq_data *wrqu,
+ char *extra)
+{
+ struct airo_info *local = dev->priv;
+ struct iw_point *encoding = &wrqu->encoding;
+ struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
+ CapabilityRid cap_rid; /* Card capability info */
+ int idx, max_key_len;
+
+ /* Is it supported ? */
+ readCapabilityRid(local, &cap_rid, 1);
+ if(!(cap_rid.softCap & 2)) {
+ return -EOPNOTSUPP;
+ }
+ readConfigRid(local, 1);
+
+ max_key_len = encoding->length - sizeof(*ext);
+ if (max_key_len < 0)
+ return -EINVAL;
+
+ idx = encoding->flags & IW_ENCODE_INDEX;
+ if (idx) {
+ if (idx < 1 || idx > ((cap_rid.softCap & 0x80) ? 4:1))
+ return -EINVAL;
+ idx--;
+ } else
+ idx = get_wep_key(local, 0xffff);
+
+ encoding->flags = idx + 1;
+ memset(ext, 0, sizeof(*ext));
+
+ /* Check encryption mode */
+ switch(local->config.authType) {
+ case AUTH_ENCRYPT:
+ encoding->flags = IW_ENCODE_ALG_WEP | IW_ENCODE_ENABLED;
+ break;
+ case AUTH_SHAREDKEY:
+ encoding->flags = IW_ENCODE_ALG_WEP | IW_ENCODE_ENABLED;
+ break;
+ default:
+ case AUTH_OPEN:
+ encoding->flags = IW_ENCODE_ALG_NONE | IW_ENCODE_DISABLED;
+ break;
+ }
+ /* We can't return the key, so set the proper flag and return zero */
+ encoding->flags |= IW_ENCODE_NOKEY;
+ memset(extra, 0, 16);
+
+ /* Copy the key to the user buffer */
+ ext->key_len = get_wep_key(local, idx);
+ if (ext->key_len > 16) {
+ ext->key_len=0;
+ }
+
+ return 0;
+}
+
+
+/*------------------------------------------------------------------*/
+/*
+ * Wireless Handler : set extended authentication parameters
+ */
+static int airo_set_auth(struct net_device *dev,
+ struct iw_request_info *info,
+ union iwreq_data *wrqu, char *extra)
+{
+ struct airo_info *local = dev->priv;
+ struct iw_param *param = &wrqu->param;
+ u16 currentAuthType = local->config.authType;
+
+ switch (param->flags & IW_AUTH_INDEX) {
+ case IW_AUTH_WPA_VERSION:
+ case IW_AUTH_CIPHER_PAIRWISE:
+ case IW_AUTH_CIPHER_GROUP:
+ case IW_AUTH_KEY_MGMT:
+ case IW_AUTH_RX_UNENCRYPTED_EAPOL:
+ case IW_AUTH_PRIVACY_INVOKED:
+ /*
+ * airo does not use these parameters
+ */
+ break;
+
+ case IW_AUTH_DROP_UNENCRYPTED:
+ if (param->value) {
+ /* Only change auth type if unencrypted */
+ if (currentAuthType == AUTH_OPEN)
+ local->config.authType = AUTH_ENCRYPT;
+ } else {
+ local->config.authType = AUTH_OPEN;
+ }
+
+ /* Commit the changes to flags if needed */
+ if (local->config.authType != currentAuthType)
+ set_bit (FLAG_COMMIT, &local->flags);
+ break;
+
+ case IW_AUTH_80211_AUTH_ALG: {
+ /* FIXME: What about AUTH_OPEN? This API seems to
+ * disallow setting our auth to AUTH_OPEN.
+ */
+ if (param->value & IW_AUTH_ALG_SHARED_KEY) {
+ local->config.authType = AUTH_SHAREDKEY;
+ } else if (param->value & IW_AUTH_ALG_OPEN_SYSTEM) {
+ local->config.authType = AUTH_ENCRYPT;
+ } else
+ return -EINVAL;
+ break;
+
+ /* Commit the changes to flags if needed */
+ if (local->config.authType != currentAuthType)
+ set_bit (FLAG_COMMIT, &local->flags);
+ }
+
+ case IW_AUTH_WPA_ENABLED:
+ /* Silently accept disable of WPA */
+ if (param->value > 0)
+ return -EOPNOTSUPP;
+ break;
+
+ default:
+ return -EOPNOTSUPP;
+ }
+ return -EINPROGRESS;
+}
+
+
+/*------------------------------------------------------------------*/
+/*
+ * Wireless Handler : get extended authentication parameters
+ */
+static int airo_get_auth(struct net_device *dev,
+ struct iw_request_info *info,
+ union iwreq_data *wrqu, char *extra)
+{
+ struct airo_info *local = dev->priv;
+ struct iw_param *param = &wrqu->param;
+ u16 currentAuthType = local->config.authType;
+
+ switch (param->flags & IW_AUTH_INDEX) {
+ case IW_AUTH_DROP_UNENCRYPTED:
+ switch (currentAuthType) {
+ case AUTH_SHAREDKEY:
+ case AUTH_ENCRYPT:
+ param->value = 1;
+ break;
+ default:
+ param->value = 0;
+ break;
+ }
+ break;
+
+ case IW_AUTH_80211_AUTH_ALG:
+ switch (currentAuthType) {
+ case AUTH_SHAREDKEY:
+ param->value = IW_AUTH_ALG_SHARED_KEY;
+ break;
+ case AUTH_ENCRYPT:
+ default:
+ param->value = IW_AUTH_ALG_OPEN_SYSTEM;
+ break;
+ }
+ break;
+
+ case IW_AUTH_WPA_ENABLED:
+ param->value = 0;
+ break;
+
+ default:
+ return -EOPNOTSUPP;
+ }
+ return 0;
+}
+
+
+/*------------------------------------------------------------------*/
+/*
* Wireless Handler : set Tx-Power
*/
static int airo_set_txpow(struct net_device *dev,
@@ -7051,6 +7314,15 @@ static const iw_handler airo_handler[]
(iw_handler) airo_get_encode, /* SIOCGIWENCODE */
(iw_handler) airo_set_power, /* SIOCSIWPOWER */
(iw_handler) airo_get_power, /* SIOCGIWPOWER */
+ (iw_handler) NULL, /* -- hole -- */
+ (iw_handler) NULL, /* -- hole -- */
+ (iw_handler) NULL, /* SIOCSIWGENIE */
+ (iw_handler) NULL, /* SIOCGIWGENIE */
+ (iw_handler) airo_set_auth, /* SIOCSIWAUTH */
+ (iw_handler) airo_get_auth, /* SIOCGIWAUTH */
+ (iw_handler) airo_set_encodeext, /* SIOCSIWENCODEEXT */
+ (iw_handler) airo_get_encodeext, /* SIOCGIWENCODEEXT */
+ (iw_handler) NULL, /* SIOCSIWPMKSA */
};
/* Note : don't describe AIROIDIFC and AIROOLDIDIFC in here.
Subject: [2.6.15 PATCH] wireless/ipw2200: support WE-18 WPA enc_capa
From: Dan Williams <dcbw at redhat.com>
To: netdev at vger.kernel.org
Cc: rml at novell.com, jgarzik at pobox.com,
"John W. Linville" <linville at tuxdriver.com>
Date: Mon, 30 Jan 2006 13:58:56 -0500
Message-Id: <1138647537.5393.6.camel at dhcp83-115.boston.redhat.com>
This patch allows ipw2100 driver to advertise the WPA-related encryption
options that it does really support. It's necessary to work correctly
with NetworkManager and other programs that actually check driver & card
capabilities.
Signed-off-by: Dan Williams <dcbw at redhat.com>
--- a/drivers/net/wireless/ipw2200.c 2006-01-30 13:52:58.000000000 -0500
+++ a/drivers/net/wireless/ipw2200.c 2006-01-30 13:54:04.000000000 -0500
@@ -8383,7 +8383,7 @@
/* Set the Wireless Extension versions */
range->we_version_compiled = WIRELESS_EXT;
- range->we_version_source = 16;
+ range->we_version_source = 18;
i = 0;
if (priv->ieee->mode & (IEEE_B | IEEE_G)) {
@@ -8415,6 +8415,9 @@
IW_EVENT_CAPA_MASK(SIOCGIWAP));
range->event_capa[1] = IW_EVENT_CAPA_K_1;
+ range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 |
+ IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP;
+
IPW_DEBUG_WX("GET Range\n");
return 0;
}
linux-2.6-selinux-mprotect-checks.patch:
devel-akpm/security/selinux/hooks.c | 50 +++++++++++++++---------------------
linux-2.6/security/selinux/hooks.c | 4 +-
2 files changed, 23 insertions(+), 31 deletions(-)
--- NEW FILE linux-2.6-selinux-mprotect-checks.patch ---
From: Stephen Smalley <sds at tycho.nsa.gov>
Fix the SELinux mprotect checks on executable mappings so that they are not
re-applied when the mapping is already executable as well as cleaning up
the code. This avoids a situation where e.g. an application is prevented
from removing PROT_WRITE on an already executable mapping previously
authorized via execmem permission due to an execmod denial.
Signed-off-by: Stephen Smalley <sds at tycho.nsa.gov>
Acked-by: James Morris <jmorris at namei.org>
Signed-off-by: Andrew Morton <akpm at osdl.org>
---
security/selinux/hooks.c | 50 +++++++++++++++----------------------
1 files changed, 21 insertions(+), 29 deletions(-)
diff -puN security/selinux/hooks.c~selinux-fix-and-cleanup-mprotect-checks security/selinux/hooks.c
--- devel/security/selinux/hooks.c~selinux-fix-and-cleanup-mprotect-checks 2006-01-23 16:41:27.000000000 -0800
+++ devel-akpm/security/selinux/hooks.c 2006-01-23 16:41:27.000000000 -0800
@@ -2452,35 +2452,27 @@ static int selinux_file_mprotect(struct
prot = reqprot;
#ifndef CONFIG_PPC32
- if ((prot & PROT_EXEC) && !(vma->vm_flags & VM_EXECUTABLE) &&
- (vma->vm_start >= vma->vm_mm->start_brk &&
- vma->vm_end <= vma->vm_mm->brk)) {
- /*
- * We are making an executable mapping in the brk region.
- * This has an additional execheap check.
- */
- rc = task_has_perm(current, current, PROCESS__EXECHEAP);
- if (rc)
- return rc;
- }
- if (vma->vm_file != NULL && vma->anon_vma != NULL && (prot & PROT_EXEC)) {
- /*
- * We are making executable a file mapping that has
- * had some COW done. Since pages might have been written,
- * check ability to execute the possibly modified content.
- * This typically should only occur for text relocations.
- */
- int rc = file_has_perm(current, vma->vm_file, FILE__EXECMOD);
- if (rc)
- return rc;
- }
- if (!vma->vm_file && (prot & PROT_EXEC) &&
- vma->vm_start <= vma->vm_mm->start_stack &&
- vma->vm_end >= vma->vm_mm->start_stack) {
- /* Attempt to make the process stack executable.
- * This has an additional execstack check.
- */
- rc = task_has_perm(current, current, PROCESS__EXECSTACK);
+ if ((prot & PROT_EXEC) && !(vma->vm_flags & VM_EXEC)) {
+ rc = 0;
+ if (vma->vm_start >= vma->vm_mm->start_brk &&
+ vma->vm_end <= vma->vm_mm->brk) {
+ rc = task_has_perm(current, current,
+ PROCESS__EXECHEAP);
+ } else if (!vma->vm_file &&
+ vma->vm_start <= vma->vm_mm->start_stack &&
+ vma->vm_end >= vma->vm_mm->start_stack) {
+ rc = task_has_perm(current, current, PROCESS__EXECSTACK);
+ } else if (vma->vm_file && vma->anon_vma) {
+ /*
+ * We are making executable a file mapping that has
+ * had some COW done. Since pages might have been
+ * written, check ability to execute the possibly
+ * modified content. This typically should only
+ * occur for text relocations.
+ */
+ rc = file_has_perm(current, vma->vm_file,
+ FILE__EXECMOD);
+ }
if (rc)
return rc;
}
_
Index: linux-2.6/security/selinux/hooks.c
===================================================================
RCS file: /nfshome/pal/CVS/linux-2.6/security/selinux/hooks.c,v
retrieving revision 1.178
diff -u -p -r1.178 hooks.c
--- linux-2.6/security/selinux/hooks.c 19 Jan 2006 21:04:27 -0000 1.178
+++ linux-2.6/security/selinux/hooks.c 26 Jan 2006 19:16:22 -0000
@@ -2366,7 +2366,7 @@ static int selinux_file_ioctl(struct fil
static int file_map_prot_check(struct file *file, unsigned long prot, int shared)
{
-#ifndef CONFIG_PPC32
+#if !defined(CONFIG_PPC32) && !defined(CONFIG_IA64)
if ((prot & PROT_EXEC) && (!file || (!shared && (prot & PROT_WRITE)))) {
/*
* We are making executable an anonymous mapping or a
@@ -2424,7 +2424,7 @@ static int selinux_file_mprotect(struct
if (selinux_checkreqprot)
prot = reqprot;
-#ifndef CONFIG_PPC32
+#if !defined(CONFIG_PPC32) && !defined(CONFIG_IA64)
if ((prot & PROT_EXEC) && !(vma->vm_flags & VM_EXEC)) {
rc = 0;
if (vma->vm_start >= vma->vm_mm->start_brk &&
linux-2.6-snd-powermac.patch:
oss/dmasound/tas_common.h | 16 ++++++++--------
ppc/pmac.c | 3 ++-
ppc/tumbler.c | 19 ++++++++++---------
3 files changed, 20 insertions(+), 18 deletions(-)
--- NEW FILE linux-2.6-snd-powermac.patch ---
Ok, here's another version that uses the proper wrapper in the i2c
layer, that was removed but is coming back...
Index: linux-work/sound/ppc/tumbler.c
===================================================================
--- linux-work.orig/sound/ppc/tumbler.c 2006-01-09 10:29:54.000000000 +1100
+++ linux-work/sound/ppc/tumbler.c 2006-01-09 10:30:14.000000000 +1100
@@ -239,8 +238,8 @@ static int tumbler_set_master_volume(pma
block[4] = (right_vol >> 8) & 0xff;
block[5] = (right_vol >> 0) & 0xff;
- if (i2c_smbus_write_block_data(mix->i2c.client, TAS_REG_VOL,
- 6, block) < 0) {
+ if (i2c_smbus_write_i2c_block_data(mix->i2c.client, TAS_REG_VOL, 6,
+ block) < 0) {
snd_printk("failed to set volume \n");
return -EINVAL;
}
@@ -340,8 +339,8 @@ static int tumbler_set_drc(pmac_tumbler_
val[1] = 0;
}
- if (i2c_smbus_write_block_data(mix->i2c.client, TAS_REG_DRC,
- 2, val) < 0) {
+ if (i2c_smbus_write_i2c_block_data(mix->i2c.client, TAS_REG_DRC,
+ 2, val) < 0) {
snd_printk("failed to set DRC\n");
return -EINVAL;
}
@@ -376,8 +375,8 @@ static int snapper_set_drc(pmac_tumbler_
val[4] = 0x60;
val[5] = 0xa0;
- if (i2c_smbus_write_block_data(mix->i2c.client, TAS_REG_DRC,
- 6, val) < 0) {
+ if (i2c_smbus_write_i2c_block_data(mix->i2c.client, TAS_REG_DRC,
+ 6, val) < 0) {
snd_printk("failed to set DRC\n");
return -EINVAL;
}
@@ -481,8 +480,8 @@ static int tumbler_set_mono_volume(pmac_
vol = info->table[vol];
for (i = 0; i < info->bytes; i++)
block[i] = (vol >> ((info->bytes - i - 1) * 8)) & 0xff;
- if (i2c_smbus_write_block_data(mix->i2c.client, info->reg,
- info->bytes, block) < 0) {
+ if (i2c_smbus_write_i2c_block_data(mix->i2c.client, info->reg,
+ info->bytes, block) < 0) {
snd_printk("failed to set mono volume %d\n", info->index);
return -EINVAL;
}
@@ -611,7 +610,8 @@ static int snapper_set_mix_vol1(pmac_tum
for (j = 0; j < 3; j++)
block[i * 3 + j] = (vol >> ((2 - j) * 8)) & 0xff;
}
- if (i2c_smbus_write_block_data(mix->i2c.client, reg, 9, block) < 0) {
+ if (i2c_smbus_write_i2c_block_data(mix->i2c.client, reg,
+ 9, block) < 0) {
snd_printk("failed to set mono volume %d\n", reg);
return -EINVAL;
}
Index: linux-work/sound/ppc/pmac.c
===================================================================
--- linux-work.orig/sound/ppc/pmac.c 2006-01-09 10:29:54.000000000 +1100
+++ linux-work/sound/ppc/pmac.c 2006-01-09 10:30:14.000000000 +1100
@@ -74,7 +74,7 @@ static int snd_pmac_dbdma_alloc(pmac_t *
static void snd_pmac_dbdma_free(pmac_t *chip, pmac_dbdma_t *rec)
{
- if (rec) {
+ if (rec->space) {
unsigned int rsize = sizeof(struct dbdma_cmd) * (rec->size + 1);
dma_free_coherent(&chip->pdev->dev, rsize, rec->space, rec->dma_base);
@@ -895,6 +895,7 @@ static int __init snd_pmac_detect(pmac_t
chip->can_capture = 1;
chip->num_freqs = ARRAY_SIZE(awacs_freqs);
chip->freq_table = awacs_freqs;
+ chip->pdev = NULL;
chip->control_mask = MASK_IEPC | MASK_IEE | 0x11; /* default */
Index: linux-work/sound/oss/dmasound/tas_common.h
===================================================================
--- linux-work.orig/sound/oss/dmasound/tas_common.h 2006-01-09 10:29:54.000000000 +1100
+++ linux-work/sound/oss/dmasound/tas_common.h 2006-01-09 10:31:09.000000000 +1100
@@ -178,10 +178,10 @@ tas_write_register( struct tas_data_t *s
if (write_mode & WRITE_SHADOW)
memcpy(self->shadow[reg_num],data,reg_width);
if (write_mode & WRITE_HW) {
- rc=i2c_smbus_write_block_data(self->client,
- reg_num,
- reg_width,
- data);
+ rc=i2c_smbus_write_i2c_block_data(self->client,
+ reg_num,
+ reg_width,
+ data);
if (rc < 0) {
printk("tas: I2C block write failed \n");
return rc;
@@ -199,10 +199,10 @@ tas_sync_register( struct tas_data_t *se
if (reg_width==0 || self==NULL)
return -EINVAL;
- rc=i2c_smbus_write_block_data(self->client,
- reg_num,
- reg_width,
- self->shadow[reg_num]);
+ rc=i2c_smbus_write_i2c_block_data(self->client,
+ reg_num,
+ reg_width,
+ self->shadow[reg_num]);
if (rc < 0) {
printk("tas: I2C block write failed \n");
return rc;
linux-2.6-suspend-memhotplug-oops.patch:
page_alloc.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE linux-2.6-suspend-memhotplug-oops.patch ---
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=178339
pageset_cpuup_callback() is marked __meminit, but software suspend
needs it. Unfortunatly, if you don't have CONFIG_MEMORY_HOTPLUG set,
the __meminit translates to __init, resulting in this...
Freezing cpus ...
int3: 0000 [1] SMP
last sysfs file: /power/state
CPU 0
Modules linked in: radeon drm ipv6 ppdev autofs4 rfcomm l2cap sunrpc
ip_conntrack_netbios_ns ipt_REJECT xt_state ip_conntrack nfnetlink xt_tcpudp
iptable_filter ip_tables x_tables video battery ac lp parport_pc parport nvram
hci_usb bluetooth ehci_hcd ohci1394 ieee1394 uhci_hcd snd_hda_intel saa7134
snd_hda_codec video_buf snd_seq_dummy compat_ioctl32 v4l2_common v4l1_compat
snd_seq_oss snd_seq_midi_event ir_kbd_i2c snd_seq e100 snd_seq_device ir_common
snd_pcm_oss snd_mixer_oss mii videodev snd_pcm snd_timer snd i2c_i801 hw_random
soundcore i2c_core snd_page_alloc dm_snapshot dm_zero dm_mirror dm_mod ext3 jbd
ahci libata sd_mod scsi_mod
Pid: 3373, comm: pm-suspend Not tainted 2.6.15-1.1872_FC5 #1
RIP: 0010:[<ffffffff80558435>] <ffffffff80558435>{pageset_cpuup_callback+1}
RSP: 0018:ffff81002802fdb0 EFLAGS: 00000286
RAX: 0000000000000001 RBX: ffffffff803c8560 RCX: 0000000000000001
RDX: 0000000000000001 RSI: 0000000000000005 RDI: ffffffff803c8560
RBP: 0000000000000001 R08: ffffffff8053cae8 R09: 0000000000000004
R10: 0000000000000002 R11: 0000000000000004 R12: 0000000000000005
R13: 0000000000000003 R14: 0000000000000003 R15: ffff81002802ff50
FS: 00002aee15c8cd30(0000) GS:ffffffff8051a000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00002aee19023000 CR3: 00000000292a1000 CR4: 00000000000006e0
Process pm-suspend (pid: 3373, threadinfo ffff81002802e000, task
+ffff810026b38040)
Stack: ffffffff80341296 0000000000000001 0000000000000001 0000000000000003
ffffffff8014b803 ffff81002802fe38 ffffffff80146641 0000000000000296
0000000000000296 0000000000000000
Call Trace: <ffffffff80341296>{notifier_call_chain+28}
<ffffffff8014b803>{cpu_down+96} <ffffffff80146641>{remove_wait_queue+17}
<ffffffff80255149>{vt_waitactive+150}
<ffffffff801535e3>{disable_nonboot_cpus+82}
<ffffffff80150625>{enter_state+161} <ffffffff80150825>{state_store+113}
<ffffffff801bf5c3>{sysfs_write_file+201}
+<ffffffff80180d38>{vfs_write+206}
<ffffffff801812ea>{sys_write+69} <ffffffff8010a906>{system_call+126}
Code: cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
Signed-off-by: Dave Jones <davej at redhat.com>
--- linux-2.6.15.noarch/mm/page_alloc.c~ 2006-01-27 15:40:35.000000000 -0500
+++ linux-2.6.15.noarch/mm/page_alloc.c 2006-01-27 15:40:40.000000000 -0500
@@ -1939,7 +1939,7 @@ static inline void free_zone_pagesets(in
}
}
-static int __meminit pageset_cpuup_callback(struct notifier_block *nfb,
+static int pageset_cpuup_callback(struct notifier_block *nfb,
unsigned long action,
void *hcpu)
{
linux-2.6-x86_64-add-ppoll-pselect.patch:
arch/x86_64/ia32/ia32entry.S | 2 ++
include/asm-x86_64/ia32_unistd.h | 4 +++-
include/asm-x86_64/unistd.h | 6 +++++-
3 files changed, 10 insertions(+), 2 deletions(-)
--- NEW FILE linux-2.6-x86_64-add-ppoll-pselect.patch ---
Add ppoll/pselect syscalls
Signed-off-by: Andi Kleen <ak at suse.de>
Index: linux/include/asm-x86_64/unistd.h
===================================================================
--- linux.orig/include/asm-x86_64/unistd.h
+++ linux/include/asm-x86_64/unistd.h
@@ -599,8 +599,12 @@ __SYSCALL(__NR_readlinkat, sys_readlinka
__SYSCALL(__NR_fchmodat, sys_fchmodat)
#define __NR_faccessat 269
__SYSCALL(__NR_faccessat, sys_faccessat)
+#define __NR_pselect6 270
+__SYSCALL(__NR_pselect6, sys_pselect6)
+#define __NR_ppoll 271
+__SYSCALL(__NR_ppoll, sys_ppoll)
-#define __NR_syscall_max __NR_faccessat
+#define __NR_syscall_max __NR_ppoll
#ifndef __NO_STUBS
Index: linux/arch/x86_64/ia32/ia32entry.S
===================================================================
--- linux.orig/arch/x86_64/ia32/ia32entry.S
+++ linux/arch/x86_64/ia32/ia32entry.S
@@ -685,6 +685,8 @@ ia32_sys_call_table:
.quad sys_readlinkat /* 305 */
.quad sys_fchmodat
.quad sys_faccessat
+ .quad compat_sys_pselect6
+ .quad compat_sys_ppoll
ia32_syscall_end:
.rept IA32_NR_syscalls-(ia32_syscall_end-ia32_sys_call_table)/8
.quad ni_syscall
Index: linux/include/asm-x86_64/ia32_unistd.h
===================================================================
--- linux.orig/include/asm-x86_64/ia32_unistd.h
+++ linux/include/asm-x86_64/ia32_unistd.h
@@ -313,7 +313,9 @@
#define __NR_ia32_readlinkat 305
#define __NR_ia32_fchmodat 306
#define __NR_ia32_faccessat 307
+#define __NR_ia32_pselect6 308
+#define __NR_ia32_ppoll 309
-#define IA32_NR_syscalls 308 /* must be > than biggest syscall! */
+#define IA32_NR_syscalls 310 /* must be > than biggest syscall! */
#endif /* _ASM_X86_64_IA32_UNISTD_H_ */
linux-2.6-x86_64-generic-sigsuspend.patch:
arch/x86_64/kernel/signal.c | 32 --------------------------------
include/asm-x86_64/unistd.h | 1 +
2 files changed, 1 insertion(+), 32 deletions(-)
--- NEW FILE linux-2.6-x86_64-generic-sigsuspend.patch ---
Use generic rt_sigsuspend
Needed for next patch
Signed-off-by: Andi Kleen <ak at suse.de>
Index: linux/arch/x86_64/kernel/signal.c
===================================================================
--- linux.orig/arch/x86_64/kernel/signal.c
+++ linux/arch/x86_64/kernel/signal.c
@@ -40,44 +40,12 @@ int ia32_setup_frame(int sig, struct k_s
sigset_t *set, struct pt_regs * regs);
asmlinkage long
-sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize, struct pt_regs *regs)
-{
- sigset_t saveset, newset;
-
- /* XXX: Don't preclude handling different sized sigset_t's. */
- if (sigsetsize != sizeof(sigset_t))
- return -EINVAL;
-
- if (copy_from_user(&newset, unewset, sizeof(newset)))
- return -EFAULT;
- sigdelsetmask(&newset, ~_BLOCKABLE);
-
- spin_lock_irq(¤t->sighand->siglock);
- saveset = current->blocked;
- current->blocked = newset;
- recalc_sigpending();
- spin_unlock_irq(¤t->sighand->siglock);
-#ifdef DEBUG_SIG
- printk("rt_sigsuspend savset(%lx) newset(%lx) regs(%p) rip(%lx)\n",
- saveset, newset, regs, regs->rip);
-#endif
- regs->rax = -EINTR;
- while (1) {
- current->state = TASK_INTERRUPTIBLE;
- schedule();
- if (do_signal(regs, &saveset))
- return -EINTR;
- }
-}
-
-asmlinkage long
sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss,
struct pt_regs *regs)
{
return do_sigaltstack(uss, uoss, regs->rsp);
}
-
/*
* Do a signal return; undo the signal stack.
*/
Index: linux/include/asm-x86_64/unistd.h
===================================================================
--- linux.orig/include/asm-x86_64/unistd.h
+++ linux/include/asm-x86_64/unistd.h
@@ -639,6 +639,7 @@ do { \
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_TIME
#define __ARCH_WANT_COMPAT_SYS_TIME
+#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#endif
#ifndef __KERNEL_SYSCALLS__
linux-2.6-x86_64-tif-restore-sigmask.patch:
arch/x86_64/ia32/ia32_signal.c | 28 ++++++++-------------
arch/x86_64/kernel/signal.c | 51 ++++++++++++++++++++++++++-------------
include/asm-x86_64/signal.h | 4 ---
include/asm-x86_64/thread_info.h | 2 +
4 files changed, 48 insertions(+), 37 deletions(-)
--- NEW FILE linux-2.6-x86_64-tif-restore-sigmask.patch ---
Implement TIF_RESTORE_SIGMASK
Needed for ppoll/pselect.
Closely follows the i386 patch from David Howells
Signed-off-by: Andi Kleen <ak at suse.de>
Index: linux/arch/x86_64/ia32/ia32_signal.c
===================================================================
--- linux.orig/arch/x86_64/ia32/ia32_signal.c
+++ linux/arch/x86_64/ia32/ia32_signal.c
@@ -115,25 +115,19 @@ int copy_siginfo_from_user32(siginfo_t *
}
asmlinkage long
-sys32_sigsuspend(int history0, int history1, old_sigset_t mask,
- struct pt_regs *regs)
+sys32_sigsuspend(int history0, int history1, old_sigset_t mask)
{
- sigset_t saveset;
-
mask &= _BLOCKABLE;
spin_lock_irq(¤t->sighand->siglock);
- saveset = current->blocked;
+ current->saved_sigmask = current->blocked;
siginitset(¤t->blocked, mask);
recalc_sigpending();
spin_unlock_irq(¤t->sighand->siglock);
- regs->rax = -EINTR;
- while (1) {
- current->state = TASK_INTERRUPTIBLE;
- schedule();
- if (do_signal(regs, &saveset))
- return -EINTR;
- }
+ current->state = TASK_INTERRUPTIBLE;
+ schedule();
+ set_thread_flag(TIF_RESTORE_SIGMASK);
+ return -ERESTARTNOHAND;
}
asmlinkage long
@@ -510,11 +504,11 @@ int ia32_setup_frame(int sig, struct k_s
current->comm, current->pid, frame, regs->rip, frame->pretcode);
#endif
- return 1;
+ return 0;
give_sigsegv:
force_sigsegv(sig, current);
- return 0;
+ return -EFAULT;
}
int ia32_setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
@@ -597,7 +591,7 @@ int ia32_setup_rt_frame(int sig, struct
regs->ss = __USER32_DS;
set_fs(USER_DS);
- regs->eflags &= ~TF_MASK;
+ regs->eflags &= ~TF_MASK;
if (test_thread_flag(TIF_SINGLESTEP))
ptrace_notify(SIGTRAP);
@@ -606,9 +600,9 @@ int ia32_setup_rt_frame(int sig, struct
current->comm, current->pid, frame, regs->rip, frame->pretcode);
#endif
- return 1;
+ return 0;
give_sigsegv:
force_sigsegv(sig, current);
- return 0;
+ return -EFAULT;
}
Index: linux/arch/x86_64/kernel/signal.c
===================================================================
--- linux.orig/arch/x86_64/kernel/signal.c
+++ linux/arch/x86_64/kernel/signal.c
@@ -312,11 +312,11 @@ static int setup_rt_frame(int sig, struc
current->comm, current->pid, frame, regs->rip, frame->pretcode);
#endif
- return 1;
+ return 0;
give_sigsegv:
force_sigsegv(sig, current);
- return 0;
+ return -EFAULT;
}
/*
@@ -379,7 +379,7 @@ handle_signal(unsigned long sig, siginfo
#endif
ret = setup_rt_frame(sig, ka, info, oldset, regs);
- if (ret) {
+ if (ret == 0) {
spin_lock_irq(¤t->sighand->siglock);
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
if (!(ka->sa.sa_flags & SA_NODEFER))
@@ -396,11 +396,12 @@ handle_signal(unsigned long sig, siginfo
* want to handle. Thus you cannot kill init even with a SIGKILL even by
* mistake.
*/
-int do_signal(struct pt_regs *regs, sigset_t *oldset)
+static void do_signal(struct pt_regs *regs)
{
struct k_sigaction ka;
siginfo_t info;
int signr;
+ sigset_t *oldset;
/*
* We want the common case to go fast, which
@@ -409,12 +410,14 @@ int do_signal(struct pt_regs *regs, sigs
* if so.
*/
if (!user_mode(regs))
- return 1;
+ return;
if (try_to_freeze())
goto no_signal;
- if (!oldset)
+ if (!test_thread_flag(TIF_RESTORE_SIGMASK))
+ oldset = ¤t->saved_sigmask;
+ else
oldset = ¤t->blocked;
signr = get_signal_to_deliver(&info, &ka, regs, NULL);
@@ -428,7 +431,14 @@ int do_signal(struct pt_regs *regs, sigs
set_debugreg(current->thread.debugreg7, 7);
/* Whee! Actually deliver the signal. */
- return handle_signal(signr, &info, &ka, oldset, regs);
+ if (handle_signal(signr, &info, &ka, oldset, regs) == 0) {
+ /* a signal was successfully delivered; the saved
+ * sigmask will have been stored in the signal frame,
+ * and will be restored by sigreturn, so we can simply
+ * clear the TIF_RESTORE_SIGMASK flag */
+ clear_thread_flag(TIF_RESTORE_SIGMASK);
+ }
+ return;
}
no_signal:
@@ -436,23 +446,32 @@ int do_signal(struct pt_regs *regs, sigs
if ((long)regs->orig_rax >= 0) {
/* Restart the system call - no handlers present */
long res = regs->rax;
- if (res == -ERESTARTNOHAND ||
- res == -ERESTARTSYS ||
- res == -ERESTARTNOINTR) {
+ switch (res) {
+ case -ERESTARTNOHAND:
+ case -ERESTARTSYS:
+ case -ERESTARTNOINTR:
regs->rax = regs->orig_rax;
regs->rip -= 2;
- }
- if (regs->rax == (unsigned long)-ERESTART_RESTARTBLOCK) {
+ break;
+ case -ERESTART_RESTARTBLOCK:
regs->rax = test_thread_flag(TIF_IA32) ?
__NR_ia32_restart_syscall :
__NR_restart_syscall;
regs->rip -= 2;
+ break;
}
}
- return 0;
+
+ /* if there's no signal to deliver, we just put the saved sigmask
+ back. */
+ if (test_thread_flag(TIF_RESTORE_SIGMASK)) {
+ clear_thread_flag(TIF_RESTORE_SIGMASK);
+ sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL);
+ }
}
-void do_notify_resume(struct pt_regs *regs, sigset_t *oldset, __u32 thread_info_flags)
+void
+do_notify_resume(struct pt_regs *regs, void *unused, __u32 thread_info_flags)
{
#ifdef DEBUG_SIG
printk("do_notify_resume flags:%x rip:%lx rsp:%lx caller:%lx pending:%lx\n",
@@ -466,8 +485,8 @@ void do_notify_resume(struct pt_regs *re
}
/* deal with pending signal delivery */
- if (thread_info_flags & _TIF_SIGPENDING)
- do_signal(regs,oldset);
+ if (thread_info_flags & (_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK))
+ do_signal(regs);
}
void signal_fault(struct pt_regs *regs, void __user *frame, char *where)
Index: linux/include/asm-x86_64/signal.h
===================================================================
--- linux.orig/include/asm-x86_64/signal.h
+++ linux/include/asm-x86_64/signal.h
@@ -24,10 +24,6 @@ typedef struct {
} sigset_t;
-struct pt_regs;
-asmlinkage int do_signal(struct pt_regs *regs, sigset_t *oldset);
-
-
#else
/* Here we must cater to libcs that poke about in kernel headers. */
Index: linux/include/asm-x86_64/thread_info.h
===================================================================
--- linux.orig/include/asm-x86_64/thread_info.h
+++ linux/include/asm-x86_64/thread_info.h
@@ -101,6 +101,7 @@ static inline struct thread_info *stack_
#define TIF_IRET 5 /* force IRET */
#define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */
#define TIF_SECCOMP 8 /* secure computing */
+#define TIF_RESTORE_SIGMASK 9 /* restore signal mask in do_signal */
#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */
#define TIF_IA32 17 /* 32bit process */
#define TIF_FORK 18 /* ret_from_fork */
@@ -115,6 +116,7 @@ static inline struct thread_info *stack_
#define _TIF_IRET (1<<TIF_IRET)
#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT)
#define _TIF_SECCOMP (1<<TIF_SECCOMP)
+#define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK)
#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
#define _TIF_IA32 (1<<TIF_IA32)
#define _TIF_FORK (1<<TIF_FORK)
Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/kernel-xen/devel/.cvsignore,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- .cvsignore 28 Jan 2006 00:13:50 -0000 1.10
+++ .cvsignore 31 Jan 2006 21:26:16 -0000 1.11
@@ -6,3 +6,5 @@
patch-2.6.16-rc1.bz2
patch-2.6.16-rc1-git4.bz2
xen-20060127a.tar.bz2
+
+acpi-release-20060113-2.6.16-rc1.diff.bz2
Index: kernel-xen.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel-xen/devel/kernel-xen.spec,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- kernel-xen.spec 28 Jan 2006 00:13:50 -0000 1.33
+++ kernel-xen.spec 31 Jan 2006 21:26:16 -0000 1.34
@@ -48,8 +48,7 @@
%ifarch i686
%define buildxen %{includexen}
-# broken for now.
-%define buildkdump 0
+%define buildkdump 1
%else
%define buildxen 0
%define buildkdump 0
@@ -219,6 +218,7 @@
Patch1: patch-2.6.16-rc1.bz2
Patch2: patch-2.6.16-rc1-git4.bz2
Patch3: drm.patch
+Patch4: acpi-release-20060113-2.6.16-rc1.diff.bz2
# Patches 100 through 500 are meant for architecture patches
Patch100: linux-2.6-bzimage.patch
@@ -231,9 +231,14 @@
Patch203: linux-2.6.14-intel-cache-build.patch
Patch204: linux-2.6-x86_64-silence-up-apic-errors.patch
Patch205: linux-2.6-edid-check.patch
+Patch206: linux-2.6-x86_64-tif-restore-sigmask.patch
+Patch207: linux-2.6-x86_64-generic-sigsuspend.patch
+Patch208: linux-2.6-x86_64-add-ppoll-pselect.patch
# 300 - 399 ppc(64)
Patch301: linux-2.6.15-cell-numa-init.patch
+Patch302: linux-2.6-debunk-i2c.patch
+Patch303: linux-2.6-snd-powermac.patch
#Patch304: linux-2.6.15-mv643xx-fixes.patch
Patch305: linux-2.6-cell-mambo-drivers.patch
Patch306: linux-2.6-hvc-console.patch
@@ -327,6 +332,7 @@
# NIC driver updates
Patch1301: linux-2.6-net-sundance-ip100A.patch
+Patch1302: linux-2.6-net-wireless-features.patch
# Squashfs
Patch1400: linux-2.6-squashfs.patch
@@ -350,6 +356,7 @@
Patch1700: linux-2.6-ide-tune-locking.patch
Patch1710: linux-2.6-autofs-pathlookup.patch
Patch1720: linux-2.6-selinux-hush.patch
+Patch1721: linux-2.6-selinux-mprotect-checks.patch
Patch1730: linux-2.6-ide-cd-shutup.patch
Patch1740: linux-2.6-block-reduce-stack.patch
Patch1750: linux-2.6-ub.patch
@@ -359,9 +366,13 @@
Patch1790: linux-2.6-softcursor-persistent-alloc.patch
Patch1800: linux-2.6-pwc-powerup-by-default.patch
Patch1810: linux-2.6-smsc-ircc2-pnp.patch
+Patch1820: linux-2.6-audit-new-msg-types.patch
Patch1830: linux-2.6-w1-hush-debug.patch
Patch1840: linux-2.6-x86-hp-reboot.patch
Patch1850: linux-2.6-mv643xx-compile-fix.patch
+Patch1860: linux-2.6-net-fix-iptables.patch
+Patch1870: linux-2.6-net-slab-corruption.patch
+Patch1880: linux-2.6-suspend-memhotplug-oops.patch
# Warn about usage of various obsolete functionality that may go away.
Patch1900: linux-2.6-obsolete-idescsi-warning.patch
@@ -375,9 +386,6 @@
Patch2001: linux-2.6-vm-silence-atomic-alloc-failures.patch
Patch2002: linux-2.6-vm-clear-unreclaimable.patch
-# ACPI patches.
-Patch2100: linux-2.6-acpi-thinkpad-c2c3.patch
-
# Broadcom wireless driver
Patch5000: linux-2.6-softmac-git.patch
Patch5001: linux-2.6-bcm43xx.patch
@@ -595,7 +603,10 @@
# Update to latest upstream.
%patch1 -p1
%patch2 -p1
+# Backout broken DRM changes.
%patch3 -p1 -R
+# Update ACPI
+%patch4 -p1
#
# Patches 10 through 100 are meant for core subsystem upgrades
@@ -629,12 +640,22 @@
%patch204 -p1
# Reboot thru bios on HP laptops.
%patch205 -p1
+# Implement TIF_RESTORE_SIGMASK
+%patch206 -p1
+# Generic sys_rt_sigsuspend()
+%patch207 -p1
+# Add ppoll/pselect syscalls
+%patch208 -p1
#
# ppc64
#
# Arnd says don't call cell_spumem_init() till he fixes it.
%patch301 -p1
+# Revert I2C Bunkage.
+%patch302 -p1
+# Fix I2C handling in snd_powermac
+%patch303 -p1
# Fix the MV643xx Gigabit Ethernet driver
#%patch304 -p1
# Support the IBM Mambo simulator; core as well as disk and network drivers.
@@ -778,6 +799,8 @@
# NIC driver fixes.
# New PCI ID for sundance driver.
%patch1301 -p1
+# Goodies for wireless drivers to make NetworkManager work
+%patch1302 -p1
# Squashfs
%patch1400 -p1
@@ -815,6 +838,8 @@
%patch1710 -p1
# Silence some selinux messages.
%patch1720 -p1
+# Fix the SELinux mprotect checks on executable mappings
+%patch1721 -p1
# Silence noisy CD drive spew
%patch1730 -p1
# Reduce stack usage in block layer
@@ -833,12 +858,20 @@
%patch1800 -p1
# PNP support for smsc-ircc2
%patch1810 -p1
+%patch1820 -p1
# Silence debug messages in w1
%patch1830 -p1
# Reboot through BIOS on HP laptops.
%patch1840 -p1
# Fix compilation for MV643xx Ethernet
%patch1850 -p1
+# Make iptables work again
+%patch1860 -p1
+# Fix netlayer slab corruption
+%patch1870 -p1
+# Fix software suspend on kernels without memory hotplug.
+%patch1880 -p1
+
# Warn about obsolete functionality usage.
%patch1900 -p1
%patch1901 -p1
@@ -855,10 +888,6 @@
# VM oom killer tweaks.
%patch2002 -p1
-# ACPI patches.
-# Blacklist another 'No C2/C3 states' Thinkpad R40e BIOS.
-%patch2100 -p1
-
#
# Patches 5000 to 6000 are reserved for new drivers that are about to
# be merged upstream
@@ -989,7 +1018,10 @@
cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
fi
%if "%{buildkdump}" == "1"
- cp vmlinux $RPM_BUILD_ROOT/%{image_install_path}/vmlinux-$KernelVer
+ if [ `grep CONFIG_CRASH_DUMP=y .config` ]; then
+ cp vmlinux $RPM_BUILD_ROOT/%{image_install_path}/vmlinux-$KernelVer
+ rm -f $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer
+ fi
%endif
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
@@ -1018,7 +1050,7 @@
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
cp arch/%{_arch}/kernel/asm-offsets.s $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/kernel || :
cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
- cp .kernelrelease $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
+ cp .kernelrelease $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
if [ -d arch/%{_arch}/scripts ]; then
cp -a arch/%{_arch}/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
@@ -1346,7 +1378,7 @@
%files kdump
%defattr(-,root,root)
-/%{image_install_path}/vmlinuz-%{KVERREL}kdump
+/%{image_install_path}/vmlinux-%{KVERREL}kdump
/boot/System.map-%{KVERREL}kdump
/boot/config-%{KVERREL}kdump
%dir /lib/modules/%{KVERREL}kdump
@@ -1373,6 +1405,17 @@
%endif
%changelog
+* Tue Jan 31 2006 Juan Quintela <quintela at redhat.com> - 2.6.%{sublevel}-%(R="$Revision$"; RR="${R##: }"; echo ${RR%%?})_FC5%{rhbsys}
+- Merge with rawhide 1884.
+
+* Mon Jan 30 2006 Dave Jones <davej at redhat.com>
+- Dan Williams' goodies for wireless drivers to make NetworkManager
+ work with WEP/WPA on ipw2200, and WEP on airo.
+
+* Fri Jan 27 2006 Dave Jones <davej at redhat.com>
+- New userspace audit message types.
+- Fix software suspend on kernels without memory hotplug. (#178339)
+
* Fri Jan 27 2006 Stephen Tweedie <sct at redhat.com>
- Rebase to linux-2.6-merge.hg cset 19859
- Rebase to HV from xen-unstable.hg cset 8680
@@ -1381,9 +1424,23 @@
* Thu Jan 26 2006 Juan Quintela <quintela at redhat.com>
- "don't edit patches by hand" release.
+* Thu Jan 26 2006 Dave Jones <davej at redhat.com>
+- Fix building of kdump kernels.
+- Fix slab corruption in network layer.
+- Make iptables work again.
+- Update ACPI to latest acpi-git tree.
+- Fix the SELinux mprotect checks on executable mappings. (#178747)
+
* Wed Jan 25 2006 Juan Quintela <quintela at redhat.com>
- merge with rawhide kernel 1.1869.
+* Wed Jan 25 2006 Dave Jones <davej at redhat.com>
+- Disable page allocation debugging again.
+
+* Tue Jan 24 2006 David Woidhouse <dwmw2 at redhat.com>
+- Fix snd_powermac I2C handling
+- Add pselect/ppoll on x86_64
+
* Sun Jan 22 2006 Dave Jones <davej at redhat.com>
- Add missing .kernelrelease to kernel-devel (#178491)
- Make serial /dev nodes get created for pci modems again.
linux-2.6-crashdump-common.patch:
linux-2.6.12/Documentation/sysrq.txt | 8
linux-2.6.12/arch/i386/kernel/nmi.c | 1
linux-2.6.12/arch/i386/kernel/traps.c | 3
linux-2.6.12/arch/i386/mm/init.c | 47 +++++
linux-2.6.12/arch/i386/mm/pgtable.c | 3
linux-2.6.12/arch/ia64/kernel/process.c | 30 ++-
linux-2.6.12/arch/ia64/kernel/traps.c | 6
linux-2.6.12/arch/ia64/mm/contig.c | 3
linux-2.6.12/arch/ia64/mm/discontig.c | 3
linux-2.6.12/arch/ia64/mm/init.c | 90 +++++++++
linux-2.6.12/arch/powerpc/kernel/process.c | 1
linux-2.6.12/arch/powerpc/kernel/traps.c | 3
linux-2.6.12/arch/powerpc/mm/mem.c | 29 +++
linux-2.6.12/arch/s390/kernel/traps.c | 6
linux-2.6.12/arch/x86_64/kernel/process.c | 2
linux-2.6.12/arch/x86_64/kernel/traps.c | 6
linux-2.6.12/arch/x86_64/mm/init.c | 32 +++
linux-2.6.12/drivers/char/sysrq.c | 2
linux-2.6.12/include/asm-generic/crashdump.h | 47 +++++
linux-2.6.12/include/asm-i386/crashdump.h | 123 +++++++++++++
linux-2.6.12/include/asm-i386/kmap_types.h | 4
linux-2.6.12/include/asm-ia64/crashdump.h | 72 +++++++
linux-2.6.12/include/asm-powerpc/crashdump.h | 61 ++++++
linux-2.6.12/include/asm-x86_64/crashdump.h | 86 +++++++++
linux-2.6.12/include/linux/kernel.h | 18 +
linux-2.6.12/kernel/Makefile | 2
linux-2.6.12/kernel/dump.c | 246 +++++++++++++++++++++++++++
linux-2.6.12/kernel/panic.c | 4
linux-2.6.12/kernel/printk.c | 20 ++
linux-2.6.12/kernel/sched.c | 2
linux-2.6.13/arch/x86_64/mm/fault.c | 1
linux-2.6.13/drivers/char/sysrq.c | 5
32 files changed, 952 insertions(+), 14 deletions(-)
Index: linux-2.6-crashdump-common.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel-xen/devel/linux-2.6-crashdump-common.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- linux-2.6-crashdump-common.patch 26 Jan 2006 22:14:33 -0000 1.4
+++ linux-2.6-crashdump-common.patch 31 Jan 2006 21:26:16 -0000 1.5
@@ -397,10 +397,10 @@
/* Values used for system_state */
extern enum system_states {
SYSTEM_BOOTING,
-@@ -182,6 +193,7 @@
- SYSTEM_HALT,
+@@ -197,6 +197,7 @@ extern enum system_states {
SYSTEM_POWER_OFF,
SYSTEM_RESTART,
+ SYSTEM_SUSPEND_DISK,
+ SYSTEM_DUMPING,
} system_state;
linux-2.6-xen-merge.patch:
arch/i386/Kconfig | 81
arch/i386/Makefile | 18
arch/i386/kernel/Makefile | 26
arch/i386/kernel/acpi/Makefile | 4
arch/i386/kernel/cpu/Makefile | 5
arch/i386/kernel/cpu/cpufreq/Kconfig | 2
arch/i386/kernel/cpu/mtrr/Makefile | 7
arch/i386/kernel/smpboot.c | 10
arch/i386/kernel/traps.c | 9
arch/i386/kernel/vmlinux.lds.S | 7
arch/i386/mm/Makefile | 8
arch/i386/pci/Makefile | 5
arch/i386/power/Makefile | 4
arch/um/kernel/physmem.c | 4
arch/x86_64/Kconfig | 43
arch/x86_64/Makefile | 15
arch/x86_64/ia32/Makefile | 18
arch/x86_64/ia32/vsyscall-sigreturn.S | 2
arch/x86_64/kernel/Makefile | 20
arch/x86_64/kernel/i387.c | 5
arch/x86_64/kernel/pci-gart.c | 8
arch/x86_64/kernel/setup64.c | 2
arch/x86_64/mm/Makefile | 10
arch/x86_64/pci/Makefile | 8
b/arch/i386/boot-xen/Makefile | 21
b/arch/i386/kernel/acpi/boot-xen.c | 1157 ++++++++
b/arch/i386/kernel/apic-xen.c | 143 +
b/arch/i386/kernel/cpu/common-xen.c | 659 +++++
b/arch/i386/kernel/cpu/mtrr/main-xen.c | 187 +
b/arch/i386/kernel/early_printk-xen.c | 2
b/arch/i386/kernel/entry-xen.S | 853 ++++++
b/arch/i386/kernel/fixup.c | 95
b/arch/i386/kernel/head-xen.S | 170 +
b/arch/i386/kernel/init_task-xen.c | 49
b/arch/i386/kernel/io_apic-xen.c | 2725 +++++++++++++++++++++
b/arch/i386/kernel/ioport-xen.c | 122
b/arch/i386/kernel/irq-xen.c | 306 ++
b/arch/i386/kernel/ldt-xen.c | 262 ++
b/arch/i386/kernel/microcode-xen.c | 164 +
b/arch/i386/kernel/mpparse-xen.c | 1177 +++++++++
b/arch/i386/kernel/pci-dma-xen.c | 326 ++
b/arch/i386/kernel/process-xen.c | 821 ++++++
b/arch/i386/kernel/quirks-xen.c | 48
b/arch/i386/kernel/setup-xen.c | 1876 ++++++++++++++
b/arch/i386/kernel/smp-xen.c | 617 ++++
b/arch/i386/kernel/smpalts.c | 85
b/arch/i386/kernel/swiotlb.c | 677 +++++
b/arch/i386/kernel/time-xen.c | 1016 +++++++
b/arch/i386/kernel/traps-xen.c | 1103 ++++++++
b/arch/i386/kernel/vsyscall-note-xen.S | 32
b/arch/i386/mach-xen/Makefile | 7
b/arch/i386/mach-xen/setup.c | 37
b/arch/i386/mm/fault-xen.c | 617 ++++
b/arch/i386/mm/highmem-xen.c | 123
b/arch/i386/mm/hypervisor.c | 459 +++
b/arch/i386/mm/init-xen.c | 848 ++++++
b/arch/i386/mm/ioremap-xen.c | 493 +++
b/arch/i386/mm/pgtable-xen.c | 597 ++++
b/arch/i386/pci/irq-xen.c | 1197 +++++++++
b/arch/x86_64/ia32/ia32entry-xen.S | 718 +++++
b/arch/x86_64/ia32/syscall32-xen.c | 128
b/arch/x86_64/ia32/syscall32_syscall-xen.S | 28
b/arch/x86_64/ia32/vsyscall-int80.S | 58
b/arch/x86_64/kernel/apic-xen.c | 187 +
b/arch/x86_64/kernel/e820-xen.c | 744 +++++
b/arch/x86_64/kernel/early_printk-xen.c | 306 ++
b/arch/x86_64/kernel/entry-xen.S | 1160 ++++++++
b/arch/x86_64/kernel/genapic-xen.c | 135 +
b/arch/x86_64/kernel/genapic_xen.c | 162 +
b/arch/x86_64/kernel/head-xen.S | 247 +
b/arch/x86_64/kernel/head64-xen.c | 137 +
b/arch/x86_64/kernel/io_apic-xen.c | 2191 ++++++++++++++++
b/arch/x86_64/kernel/ioport-xen.c | 58
b/arch/x86_64/kernel/irq-xen.c | 157 +
b/arch/x86_64/kernel/ldt-xen.c | 275 ++
b/arch/x86_64/kernel/mpparse-xen.c | 1000 +++++++
b/arch/x86_64/kernel/pci-nommu-xen.c | 99
b/arch/x86_64/kernel/process-xen.c | 798 ++++++
b/arch/x86_64/kernel/setup-xen.c | 1613 ++++++++++++
b/arch/x86_64/kernel/setup64-xen.c | 353 ++
b/arch/x86_64/kernel/smp-xen.c | 592 ++++
b/arch/x86_64/kernel/traps-xen.c | 1010 +++++++
b/arch/x86_64/kernel/vsyscall-xen.c | 239 +
b/arch/x86_64/kernel/x8664_ksyms-xen.c | 181 +
b/arch/x86_64/kernel/xen_entry.S | 41
b/arch/x86_64/mm/fault-xen.c | 601 ++++
b/arch/x86_64/mm/init-xen.c | 1090 ++++++++
b/arch/x86_64/mm/pageattr-xen.c | 375 ++
b/drivers/char/tpm/tpm_xen.c | 525 ++++
b/drivers/xen/Kconfig | 175 +
b/drivers/xen/Makefile | 20
b/drivers/xen/balloon/Makefile | 2
b/drivers/xen/balloon/balloon.c | 563 ++++
b/drivers/xen/blkback/Makefile | 2
b/drivers/xen/blkback/blkback.c | 590 ++++
b/drivers/xen/blkback/common.h | 123
b/drivers/xen/blkback/interface.c | 164 +
b/drivers/xen/blkback/vbd.c | 102
b/drivers/xen/blkback/xenbus.c | 421 +++
b/drivers/xen/blkfront/Kconfig | 6
b/drivers/xen/blkfront/Makefile | 5
b/drivers/xen/blkfront/blkfront.c | 835 ++++++
b/drivers/xen/blkfront/block.h | 162 +
b/drivers/xen/blkfront/vbd.c | 323 ++
b/drivers/xen/blktap/Makefile | 3
b/drivers/xen/blktap/blktap.c | 910 +++++++
b/drivers/xen/blktap/common.h | 110
b/drivers/xen/blktap/interface.c | 146 +
b/drivers/xen/blktap/xenbus.c | 234 +
b/drivers/xen/char/Makefile | 2
b/drivers/xen/char/mem.c | 159 +
b/drivers/xen/console/Makefile | 2
b/drivers/xen/console/console.c | 688 +++++
b/drivers/xen/console/xencons_ring.c | 125
b/drivers/xen/core/Makefile | 9
b/drivers/xen/core/evtchn.c | 820 ++++++
b/drivers/xen/core/gnttab.c | 480 +++
b/drivers/xen/core/reboot.c | 436 +++
b/drivers/xen/core/skbuff.c | 143 +
b/drivers/xen/core/smpboot.c | 439 +++
b/drivers/xen/core/xen_proc.c | 29
b/drivers/xen/evtchn/Makefile | 2
b/drivers/xen/evtchn/evtchn.c | 459 +++
b/drivers/xen/net_driver_util.c | 67
b/drivers/xen/netback/Makefile | 2
b/drivers/xen/netback/common.h | 110
b/drivers/xen/netback/interface.c | 320 ++
b/drivers/xen/netback/loopback.c | 198 +
b/drivers/xen/netback/netback.c | 829 ++++++
b/drivers/xen/netback/xenbus.c | 327 ++
b/drivers/xen/netfront/Kconfig | 6
b/drivers/xen/netfront/Makefile | 4
b/drivers/xen/netfront/netfront.c | 1487 +++++++++++
b/drivers/xen/privcmd/Makefile | 2
b/drivers/xen/privcmd/privcmd.c | 274 ++
b/drivers/xen/tpmback/Makefile | 4
b/drivers/xen/tpmback/common.h | 89
b/drivers/xen/tpmback/interface.c | 200 +
b/drivers/xen/tpmback/tpmback.c | 1109 ++++++++
b/drivers/xen/tpmback/xenbus.c | 328 ++
b/drivers/xen/tpmfront/Makefile | 2
b/drivers/xen/tpmfront/tpmfront.c | 703 +++++
b/drivers/xen/tpmfront/tpmfront.h | 43
b/drivers/xen/util.c | 75
b/drivers/xen/xenbus/Makefile | 8
b/drivers/xen/xenbus/xenbus_client.c | 238 +
b/drivers/xen/xenbus/xenbus_comms.c | 203 +
b/drivers/xen/xenbus/xenbus_comms.h | 50
b/drivers/xen/xenbus/xenbus_dev.c | 238 +
b/drivers/xen/xenbus/xenbus_probe.c | 1015 +++++++
b/drivers/xen/xenbus/xenbus_xs.c | 821 ++++++
b/include/asm-i386/hypercall.h | 328 ++
b/include/asm-i386/hypervisor.h | 180 +
b/include/asm-i386/mach-default/mach_dma_map.h | 85
b/include/asm-i386/mach-default/mach_fixmap.h | 15
b/include/asm-i386/mach-default/mach_io.h | 35
b/include/asm-i386/mach-default/mach_mmu.h | 18
b/include/asm-i386/mach-default/mach_mode.h | 7
b/include/asm-i386/mach-default/mach_page.h | 28
b/include/asm-i386/mach-default/mach_pgtable.h | 45
b/include/asm-i386/mach-default/mach_processor.h | 53
b/include/asm-i386/mach-default/mach_seg.h | 39
b/include/asm-i386/mach-default/mach_setup.h | 50
b/include/asm-i386/mach-default/mach_system.h | 87
b/include/asm-i386/mach-default/mach_tlbflush.h | 59
b/include/asm-i386/mach-xen/irq_vectors.h | 125
b/include/asm-i386/mach-xen/mach_dma_map.h | 47
b/include/asm-i386/mach-xen/mach_fixmap.h | 15
b/include/asm-i386/mach-xen/mach_io.h | 50
b/include/asm-i386/mach-xen/mach_mmu.h | 47
b/include/asm-i386/mach-xen/mach_mode.h | 7
b/include/asm-i386/mach-xen/mach_page.h | 154 +
b/include/asm-i386/mach-xen/mach_pgtable.h | 154 +
b/include/asm-i386/mach-xen/mach_processor.h | 59
b/include/asm-i386/mach-xen/mach_seg.h | 9
b/include/asm-i386/mach-xen/mach_setup.h | 11
b/include/asm-i386/mach-xen/mach_system.h | 157 +
b/include/asm-i386/mach-xen/mach_tlbflush.h | 10
b/include/asm-i386/mach-xen/mach_traps.h | 33
b/include/asm-i386/mach-xen/setup_arch_post.h | 43
b/include/asm-i386/mach-xen/setup_arch_pre.h | 5
b/include/asm-i386/smp_alt.h | 32
b/include/asm-i386/swiotlb.h | 59
b/include/asm-i386/synch_bitops.h | 143 +
b/include/asm-x86_64/arch_hooks.h | 31
b/include/asm-x86_64/hypercall.h | 328 ++
b/include/asm-x86_64/hypervisor.h | 2
b/include/asm-x86_64/mach-xen/asm/nmi.h | 75
b/include/asm-x86_64/synch_bitops.h | 1
b/include/xen/balloon.h | 70
b/include/xen/driver_util.h | 26
b/include/xen/evtchn.h | 123
b/include/xen/foreign_page.h | 40
b/include/xen/gnttab.h | 98
b/include/xen/interface/acm.h | 181 +
b/include/xen/interface/acm_ops.h | 96
b/include/xen/interface/arch-ia64.h | 279 ++
b/include/xen/interface/arch-x86_32.h | 158 +
b/include/xen/interface/arch-x86_64.h | 243 +
b/include/xen/interface/dom0_ops.h | 482 +++
b/include/xen/interface/event_channel.h | 203 +
b/include/xen/interface/grant_table.h | 306 ++
b/include/xen/interface/hvm/hvm_info_table.h | 24
b/include/xen/interface/hvm/ioreq.h | 90
b/include/xen/interface/hvm/vmx_assist.h | 97
b/include/xen/interface/io/blkif.h | 85
b/include/xen/interface/io/console.h | 33
b/include/xen/interface/io/netif.h | 76
b/include/xen/interface/io/ring.h | 270 ++
b/include/xen/interface/io/tpmif.h | 56
b/include/xen/interface/io/vmx_vlapic.h | 58
b/include/xen/interface/io/vmx_vpic.h | 85
b/include/xen/interface/io/xenbus.h | 44
b/include/xen/interface/io/xs_wire.h | 97
b/include/xen/interface/memory.h | 101
b/include/xen/interface/nmi.h | 54
b/include/xen/interface/physdev.h | 70
b/include/xen/interface/sched.h | 60
b/include/xen/interface/sched_ctl.h | 68
b/include/xen/interface/trace.h | 90
b/include/xen/interface/vcpu.h | 64
b/include/xen/interface/version.h | 52
b/include/xen/interface/xen.h | 449 +++
b/include/xen/net_driver_util.h | 56
b/include/xen/public/evtchn.h | 98
b/include/xen/public/privcmd.h | 91
b/include/xen/public/xenstored.h | 89
b/include/xen/tpmfe.h | 33
b/include/xen/xen_proc.h | 23
b/include/xen/xenbus.h | 254 +
b/include/xen/xencons.h | 14
b/scripts/Makefile.xen | 14
drivers/Kconfig | 11
drivers/Makefile | 1
drivers/acpi/Kconfig | 2
drivers/acpi/tables.c | 7
drivers/char/mem.c | 6
drivers/char/tpm/Kconfig | 14
drivers/char/tpm/Makefile | 1
drivers/char/tpm/tpm.c | 47
drivers/char/tpm/tpm.h | 13
drivers/char/tpm/tpm_atmel.c | 110
drivers/char/tpm/tpm_nsc.c | 155 -
drivers/char/tty_io.c | 7
drivers/firmware/Kconfig | 2
drivers/ide/legacy/hd.c | 2
drivers/pci/Kconfig | 1
drivers/serial/Kconfig | 1
drivers/video/fbmon.c | 2
fs/Kconfig | 1
include/asm-i386/agp.h | 15
include/asm-i386/atomic.h | 7
include/asm-i386/bitops.h | 19
include/asm-i386/desc.h | 47
include/asm-i386/dma-mapping.h | 102
include/asm-i386/fixmap.h | 20
include/asm-i386/floppy.h | 43
include/asm-i386/futex.h | 4
include/asm-i386/highmem.h | 5
include/asm-i386/hw_irq.h | 4
include/asm-i386/io.h | 41
include/asm-i386/kmap_types.h | 3
include/asm-i386/mach-default/mach_traps.h | 12
include/asm-i386/mmu.h | 6
include/asm-i386/mmu_context.h | 17
include/asm-i386/page.h | 14
include/asm-i386/pci.h | 31
include/asm-i386/pgalloc.h | 31
include/asm-i386/pgtable-2level.h | 12
include/asm-i386/pgtable-3level.h | 35
include/asm-i386/pgtable.h | 22
include/asm-i386/processor.h | 48
include/asm-i386/ptrace.h | 5
include/asm-i386/rwsem.h | 17
include/asm-i386/scatterlist.h | 9
include/asm-i386/segment.h | 41
include/asm-i386/setup.h | 45
include/asm-i386/smp.h | 5
include/asm-i386/spinlock.h | 43
include/asm-i386/system.h | 138 -
include/asm-i386/tlbflush.h | 55
include/asm-i386/vga.h | 2
include/asm-um/page.h | 2
include/asm-x86_64/bootsetup.h | 10
include/asm-x86_64/desc.h | 36
include/asm-x86_64/dma-mapping.h | 102
include/asm-x86_64/fixmap.h | 21
include/asm-x86_64/floppy.h | 45
include/asm-x86_64/hw_irq.h | 14
include/asm-x86_64/i387.h | 7
include/asm-x86_64/io.h | 49
include/asm-x86_64/ipi.h | 8
include/asm-x86_64/irq.h | 39
include/asm-x86_64/mmu.h | 13
include/asm-x86_64/mmu_context.h | 102
include/asm-x86_64/page.h | 155 +
include/asm-x86_64/pci.h | 26
include/asm-x86_64/pda.h | 5
include/asm-x86_64/pgalloc.h | 156 +
include/asm-x86_64/pgtable.h | 253 +
include/asm-x86_64/processor.h | 38
include/asm-x86_64/segment.h | 9
include/asm-x86_64/smp.h | 10
include/asm-x86_64/swiotlb.h | 18
include/asm-x86_64/system.h | 114
include/asm-x86_64/tlbflush.h | 14
include/asm-x86_64/vga.h | 2
include/asm-x86_64/xor.h | 23
include/linux/gfp.h | 6
include/linux/highmem.h | 6
include/linux/irq.h | 3
include/linux/mm.h | 13
include/linux/skbuff.h | 13
init/Kconfig | 2
kernel/Kconfig.preempt | 1
kernel/irq/manage.c | 92
lib/Kconfig.debug | 2
lib/Makefile | 2
linux-2.6.15.i686/arch/x86_64/kernel/acpi/Makefile | 1
mm/Kconfig | 3
mm/highmem.c | 11
mm/memory.c | 118
mm/mmap.c | 4
mm/page_alloc.c | 6
net/core/dev.c | 50
net/core/skbuff.c | 43
326 files changed, 61776 insertions(+), 819 deletions(-)
Index: linux-2.6-xen-merge.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel-xen/devel/linux-2.6-xen-merge.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- linux-2.6-xen-merge.patch 27 Jan 2006 22:30:20 -0000 1.6
+++ linux-2.6-xen-merge.patch 31 Jan 2006 21:26:16 -0000 1.7
@@ -839,14 +839,13 @@
+obj-y := $(call cherrypickxen, $(obj-y))
+extra-y := $(call cherrypickxen, $(extra-y))
+endif
-diff -r df46ccb05adf -r 328a491adf0b arch/x86_64/kernel/acpi/Makefile
---- a/arch/x86_64/kernel/acpi/Makefile Fri Jan 20 17:49:15 2006 +0800
-+++ b/arch/x86_64/kernel/acpi/Makefile Fri Jan 27 20:45:25 2006 +0100
-@@ -1,3 +1,5 @@ obj-y := boot.o
- obj-y := boot.o
- boot-y := ../../../i386/kernel/acpi/boot.o
- obj-$(CONFIG_ACPI_SLEEP) += sleep.o wakeup.o
-+
+diff -uNp linux-2.6.15.i686/arch/x86_64/kernel/acpi/Makefile.orig linux-2.6.15.i686/arch/x86_64/kernel/acpi/Makefile
+--- linux-2.6.15.i686/arch/x86_64/kernel/acpi/Makefile.orig 2006-01-31 20:40:12.000000000 +0100
++++ linux-2.6.15.i686/arch/x86_64/kernel/acpi/Makefile 2006-01-31 20:42:30.000000000 +0100
+@@ -6,3 +6,4 @@ ifneq ($(CONFIG_ACPI_PROCESSOR),)
+ obj-y += processor.o
+ endif
+
+boot-$(CONFIG_XEN) := ../../../i386/kernel/acpi/boot-xen.o
diff -r df46ccb05adf -r 328a491adf0b arch/x86_64/kernel/i387.c
--- a/arch/x86_64/kernel/i387.c Fri Jan 20 17:49:15 2006 +0800
@@ -6600,12 +6599,7 @@
struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
int fclone)
{
-@@ -180,10 +181,11 @@ out:
- out:
- return skb;
- nodata:
-- kmem_cache_free(skbuff_head_cache, skb);
-+ kmem_cache_free(fclone ? skbuff_fclone_cache : skbuff_head_cache, skb);
+@@ -184,6 +185,7 @@ nodata:
skb = NULL;
goto out;
}
Index: sources
===================================================================
RCS file: /cvs/dist/rpms/kernel-xen/devel/sources,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- sources 28 Jan 2006 00:13:50 -0000 1.10
+++ sources 31 Jan 2006 21:26:17 -0000 1.11
@@ -3,3 +3,6 @@
fbc343e7737654226fd4b5b205378393 patch-2.6.16-rc1.bz2
a247c21e1202f514283ba928d9382353 patch-2.6.16-rc1-git4.bz2
07de3270c9a5c63915a209cd36def02e xen-20060127a.tar.bz2
+
+
+3c236ca700ac76f28c2c4e25682541a4 acpi-release-20060113-2.6.16-rc1.diff.bz2
--- linux-2.6-acpi-thinkpad-c2c3.patch DELETED ---
More information about the fedora-cvs-commits
mailing list