From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
Tilman Schmidt <tilman@imap.cc>,
"David S. Miller" <davem@davemloft.net>
Subject: [160/205] isdn/gigaset: honor CAPI applications buffer size request
Date: Fri, 30 Jul 2010 10:52:57 -0700 [thread overview]
Message-ID: <20100730175148.493550802@clark.site> (raw)
In-Reply-To: <20100730175238.GA3924@kroah.com>
2.6.34-stable review patch. If anyone has any objections, please let us know.
------------------
From: Tilman Schmidt <tilman@imap.cc>
commit e7752ee280608a24e27f163641121bdc2c68d6af upstream.
Fix the Gigaset CAPI driver to limit the length of a connection's
payload data receive buffers to the corresponding CAPI application's
data buffer size, as some real-life CAPI applications tend to be
rather unhappy if they receive bigger data blocks than requested.
Impact: bugfix
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/isdn/gigaset/asyncdata.c | 44 +++++------------------
drivers/isdn/gigaset/capi.c | 8 ++++
drivers/isdn/gigaset/common.c | 32 ++++-------------
drivers/isdn/gigaset/gigaset.h | 29 +++++++++++----
drivers/isdn/gigaset/i4l.c | 21 +++++++++++
drivers/isdn/gigaset/isocdata.c | 72 +++++++++++++--------------------------
6 files changed, 94 insertions(+), 112 deletions(-)
--- a/drivers/isdn/gigaset/asyncdata.c
+++ b/drivers/isdn/gigaset/asyncdata.c
@@ -126,26 +126,6 @@ static unsigned lock_loop(unsigned numby
return numbytes;
}
-/* set up next receive skb for data mode
- */
-static void new_rcv_skb(struct bc_state *bcs)
-{
- struct cardstate *cs = bcs->cs;
- unsigned short hw_hdr_len = cs->hw_hdr_len;
-
- if (bcs->ignore) {
- bcs->skb = NULL;
- return;
- }
-
- bcs->skb = dev_alloc_skb(SBUFSIZE + hw_hdr_len);
- if (bcs->skb == NULL) {
- dev_warn(cs->dev, "could not allocate new skb\n");
- return;
- }
- skb_reserve(bcs->skb, hw_hdr_len);
-}
-
/* process a block of received bytes in HDLC data mode
* (mstate != MS_LOCKED && !(inputstate & INS_command) && proto2 == L2_HDLC)
* Collect HDLC frames, undoing byte stuffing and watching for DLE escapes.
@@ -159,8 +139,8 @@ static unsigned hdlc_loop(unsigned numby
struct cardstate *cs = inbuf->cs;
struct bc_state *bcs = cs->bcs;
int inputstate = bcs->inputstate;
- __u16 fcs = bcs->fcs;
- struct sk_buff *skb = bcs->skb;
+ __u16 fcs = bcs->rx_fcs;
+ struct sk_buff *skb = bcs->rx_skb;
unsigned char *src = inbuf->data + inbuf->head;
unsigned procbytes = 0;
unsigned char c;
@@ -245,8 +225,7 @@ byte_stuff:
/* prepare reception of next frame */
inputstate &= ~INS_have_data;
- new_rcv_skb(bcs);
- skb = bcs->skb;
+ skb = gigaset_new_rx_skb(bcs);
} else {
/* empty frame (7E 7E) */
#ifdef CONFIG_GIGASET_DEBUG
@@ -255,8 +234,7 @@ byte_stuff:
if (!skb) {
/* skipped (?) */
gigaset_isdn_rcv_err(bcs);
- new_rcv_skb(bcs);
- skb = bcs->skb;
+ skb = gigaset_new_rx_skb(bcs);
}
}
@@ -279,11 +257,11 @@ byte_stuff:
#endif
inputstate |= INS_have_data;
if (skb) {
- if (skb->len == SBUFSIZE) {
+ if (skb->len >= bcs->rx_bufsize) {
dev_warn(cs->dev, "received packet too long\n");
dev_kfree_skb_any(skb);
/* skip remainder of packet */
- bcs->skb = skb = NULL;
+ bcs->rx_skb = skb = NULL;
} else {
*__skb_put(skb, 1) = c;
fcs = crc_ccitt_byte(fcs, c);
@@ -292,7 +270,7 @@ byte_stuff:
}
bcs->inputstate = inputstate;
- bcs->fcs = fcs;
+ bcs->rx_fcs = fcs;
return procbytes;
}
@@ -308,18 +286,18 @@ static unsigned iraw_loop(unsigned numby
struct cardstate *cs = inbuf->cs;
struct bc_state *bcs = cs->bcs;
int inputstate = bcs->inputstate;
- struct sk_buff *skb = bcs->skb;
+ struct sk_buff *skb = bcs->rx_skb;
unsigned char *src = inbuf->data + inbuf->head;
unsigned procbytes = 0;
unsigned char c;
if (!skb) {
/* skip this block */
- new_rcv_skb(bcs);
+ gigaset_new_rx_skb(bcs);
return numbytes;
}
- while (procbytes < numbytes && skb->len < SBUFSIZE) {
+ while (procbytes < numbytes && skb->len < bcs->rx_bufsize) {
c = *src++;
procbytes++;
@@ -343,7 +321,7 @@ static unsigned iraw_loop(unsigned numby
if (inputstate & INS_have_data) {
gigaset_skb_rcvd(bcs, skb);
inputstate &= ~INS_have_data;
- new_rcv_skb(bcs);
+ gigaset_new_rx_skb(bcs);
}
bcs->inputstate = inputstate;
--- a/drivers/isdn/gigaset/capi.c
+++ b/drivers/isdn/gigaset/capi.c
@@ -80,6 +80,7 @@ struct gigaset_capi_appl {
struct list_head ctrlist;
struct gigaset_capi_appl *bcnext;
u16 id;
+ struct capi_register_params rp;
u16 nextMessageNumber;
u32 listenInfoMask;
u32 listenCIPmask;
@@ -956,6 +957,7 @@ static void gigaset_register_appl(struct
return;
}
ap->id = appl;
+ ap->rp = *rp;
list_add(&ap->ctrlist, &iif->appls);
}
@@ -1177,6 +1179,9 @@ static void do_connect_req(struct gigase
}
ap->bcnext = NULL;
bcs->ap = ap;
+ bcs->rx_bufsize = ap->rp.datablklen;
+ dev_kfree_skb(bcs->rx_skb);
+ gigaset_new_rx_skb(bcs);
cmsg->adr.adrPLCI |= (bcs->channel + 1) << 8;
/* build command table */
@@ -1446,6 +1451,9 @@ static void do_connect_resp(struct gigas
CapiCallGivenToOtherApplication);
ap->bcnext = NULL;
bcs->ap = ap;
+ bcs->rx_bufsize = ap->rp.datablklen;
+ dev_kfree_skb(bcs->rx_skb);
+ gigaset_new_rx_skb(bcs);
bcs->chstate |= CHS_NOTIFY_LL;
/* check/encode B channel protocol */
--- a/drivers/isdn/gigaset/common.c
+++ b/drivers/isdn/gigaset/common.c
@@ -399,8 +399,8 @@ static void gigaset_freebcs(struct bc_st
gig_dbg(DEBUG_INIT, "clearing bcs[%d]->at_state", bcs->channel);
clear_at_state(&bcs->at_state);
gig_dbg(DEBUG_INIT, "freeing bcs[%d]->skb", bcs->channel);
- dev_kfree_skb(bcs->skb);
- bcs->skb = NULL;
+ dev_kfree_skb(bcs->rx_skb);
+ bcs->rx_skb = NULL;
for (i = 0; i < AT_NUM; ++i) {
kfree(bcs->commands[i]);
@@ -634,19 +634,10 @@ static struct bc_state *gigaset_initbcs(
bcs->emptycount = 0;
#endif
- gig_dbg(DEBUG_INIT, "allocating bcs[%d]->skb", channel);
- bcs->fcs = PPP_INITFCS;
+ bcs->rx_bufsize = 0;
+ bcs->rx_skb = NULL;
+ bcs->rx_fcs = PPP_INITFCS;
bcs->inputstate = 0;
- if (cs->ignoreframes) {
- bcs->skb = NULL;
- } else {
- bcs->skb = dev_alloc_skb(SBUFSIZE + cs->hw_hdr_len);
- if (bcs->skb != NULL)
- skb_reserve(bcs->skb, cs->hw_hdr_len);
- else
- pr_err("out of memory\n");
- }
-
bcs->channel = channel;
bcs->cs = cs;
@@ -663,11 +654,6 @@ static struct bc_state *gigaset_initbcs(
return bcs;
gig_dbg(DEBUG_INIT, " failed");
-
- gig_dbg(DEBUG_INIT, " freeing bcs[%d]->skb", channel);
- dev_kfree_skb(bcs->skb);
- bcs->skb = NULL;
-
return NULL;
}
@@ -839,14 +825,12 @@ void gigaset_bcs_reinit(struct bc_state
bcs->emptycount = 0;
#endif
- bcs->fcs = PPP_INITFCS;
+ bcs->rx_fcs = PPP_INITFCS;
bcs->chstate = 0;
bcs->ignore = cs->ignoreframes;
- if (bcs->ignore) {
- dev_kfree_skb(bcs->skb);
- bcs->skb = NULL;
- }
+ dev_kfree_skb(bcs->rx_skb);
+ bcs->rx_skb = NULL;
cs->ops->reinitbcshw(bcs);
}
--- a/drivers/isdn/gigaset/gigaset.h
+++ b/drivers/isdn/gigaset/gigaset.h
@@ -45,10 +45,6 @@
#define MAX_EVENTS 64 /* size of event queue */
#define RBUFSIZE 8192
-#define SBUFSIZE 4096 /* sk_buff payload size */
-
-#define TRANSBUFSIZE 768 /* bytes per skb for transparent receive */
-#define MAX_BUF_SIZE (SBUFSIZE - 2) /* Max. size of a data packet from LL */
/* compile time options */
#define GIG_MAJOR 0
@@ -380,8 +376,10 @@ struct bc_state {
struct at_state_t at_state;
- __u16 fcs;
- struct sk_buff *skb;
+ /* receive buffer */
+ unsigned rx_bufsize; /* max size accepted by application */
+ struct sk_buff *rx_skb;
+ __u16 rx_fcs;
int inputstate; /* see INS_XXXX */
int channel;
@@ -801,8 +799,23 @@ static inline void gigaset_bchannel_up(s
gigaset_schedule_event(bcs->cs);
}
-/* handling routines for sk_buff */
-/* ============================= */
+/* set up next receive skb for data mode */
+static inline struct sk_buff *gigaset_new_rx_skb(struct bc_state *bcs)
+{
+ struct cardstate *cs = bcs->cs;
+ unsigned short hw_hdr_len = cs->hw_hdr_len;
+
+ if (bcs->ignore) {
+ bcs->rx_skb = NULL;
+ } else {
+ bcs->rx_skb = dev_alloc_skb(bcs->rx_bufsize + hw_hdr_len);
+ if (bcs->rx_skb == NULL)
+ dev_warn(cs->dev, "could not allocate skb\n");
+ else
+ skb_reserve(bcs->rx_skb, hw_hdr_len);
+ }
+ return bcs->rx_skb;
+}
/* append received bytes to inbuf */
int gigaset_fill_inbuf(struct inbuf_t *inbuf, const unsigned char *src,
--- a/drivers/isdn/gigaset/i4l.c
+++ b/drivers/isdn/gigaset/i4l.c
@@ -16,7 +16,10 @@
#include "gigaset.h"
#include <linux/isdnif.h>
+#define SBUFSIZE 4096 /* sk_buff payload size */
+#define TRANSBUFSIZE 768 /* bytes per skb for transparent receive */
#define HW_HDR_LEN 2 /* Header size used to store ack info */
+#define MAX_BUF_SIZE (SBUFSIZE - HW_HDR_LEN) /* max data packet from LL */
/* == Handling of I4L IO =====================================================*/
@@ -231,6 +234,15 @@ static int command_from_LL(isdn_ctrl *cn
dev_err(cs->dev, "ISDN_CMD_DIAL: channel not free\n");
return -EBUSY;
}
+ switch (bcs->proto2) {
+ case L2_HDLC:
+ bcs->rx_bufsize = SBUFSIZE;
+ break;
+ default: /* assume transparent */
+ bcs->rx_bufsize = TRANSBUFSIZE;
+ }
+ dev_kfree_skb(bcs->rx_skb);
+ gigaset_new_rx_skb(bcs);
commands = kzalloc(AT_NUM*(sizeof *commands), GFP_ATOMIC);
if (!commands) {
@@ -314,6 +326,15 @@ static int command_from_LL(isdn_ctrl *cn
return -EINVAL;
}
bcs = cs->bcs + ch;
+ switch (bcs->proto2) {
+ case L2_HDLC:
+ bcs->rx_bufsize = SBUFSIZE;
+ break;
+ default: /* assume transparent */
+ bcs->rx_bufsize = TRANSBUFSIZE;
+ }
+ dev_kfree_skb(bcs->rx_skb);
+ gigaset_new_rx_skb(bcs);
if (!gigaset_add_event(cs, &bcs->at_state,
EV_ACCEPT, NULL, 0, NULL))
return -ENOMEM;
--- a/drivers/isdn/gigaset/isocdata.c
+++ b/drivers/isdn/gigaset/isocdata.c
@@ -500,19 +500,18 @@ int gigaset_isoc_buildframe(struct bc_st
*/
static inline void hdlc_putbyte(unsigned char c, struct bc_state *bcs)
{
- bcs->fcs = crc_ccitt_byte(bcs->fcs, c);
- if (unlikely(bcs->skb == NULL)) {
+ bcs->rx_fcs = crc_ccitt_byte(bcs->rx_fcs, c);
+ if (bcs->rx_skb == NULL)
/* skipping */
return;
- }
- if (unlikely(bcs->skb->len == SBUFSIZE)) {
+ if (bcs->rx_skb->len >= bcs->rx_bufsize) {
dev_warn(bcs->cs->dev, "received oversized packet discarded\n");
bcs->hw.bas->giants++;
- dev_kfree_skb_any(bcs->skb);
- bcs->skb = NULL;
+ dev_kfree_skb_any(bcs->rx_skb);
+ bcs->rx_skb = NULL;
return;
}
- *__skb_put(bcs->skb, 1) = c;
+ *__skb_put(bcs->rx_skb, 1) = c;
}
/* hdlc_flush
@@ -521,18 +520,13 @@ static inline void hdlc_putbyte(unsigned
static inline void hdlc_flush(struct bc_state *bcs)
{
/* clear skb or allocate new if not skipping */
- if (likely(bcs->skb != NULL))
- skb_trim(bcs->skb, 0);
- else if (!bcs->ignore) {
- bcs->skb = dev_alloc_skb(SBUFSIZE + bcs->cs->hw_hdr_len);
- if (bcs->skb)
- skb_reserve(bcs->skb, bcs->cs->hw_hdr_len);
- else
- dev_err(bcs->cs->dev, "could not allocate skb\n");
- }
+ if (bcs->rx_skb != NULL)
+ skb_trim(bcs->rx_skb, 0);
+ else
+ gigaset_new_rx_skb(bcs);
/* reset packet state */
- bcs->fcs = PPP_INITFCS;
+ bcs->rx_fcs = PPP_INITFCS;
}
/* hdlc_done
@@ -549,7 +543,7 @@ static inline void hdlc_done(struct bc_s
hdlc_flush(bcs);
return;
}
- procskb = bcs->skb;
+ procskb = bcs->rx_skb;
if (procskb == NULL) {
/* previous error */
gig_dbg(DEBUG_ISO, "%s: skb=NULL", __func__);
@@ -560,8 +554,8 @@ static inline void hdlc_done(struct bc_s
bcs->hw.bas->runts++;
dev_kfree_skb_any(procskb);
gigaset_isdn_rcv_err(bcs);
- } else if (bcs->fcs != PPP_GOODFCS) {
- dev_notice(cs->dev, "frame check error (0x%04x)\n", bcs->fcs);
+ } else if (bcs->rx_fcs != PPP_GOODFCS) {
+ dev_notice(cs->dev, "frame check error\n");
bcs->hw.bas->fcserrs++;
dev_kfree_skb_any(procskb);
gigaset_isdn_rcv_err(bcs);
@@ -574,13 +568,8 @@ static inline void hdlc_done(struct bc_s
bcs->hw.bas->goodbytes += len;
gigaset_skb_rcvd(bcs, procskb);
}
-
- bcs->skb = dev_alloc_skb(SBUFSIZE + cs->hw_hdr_len);
- if (bcs->skb)
- skb_reserve(bcs->skb, cs->hw_hdr_len);
- else
- dev_err(cs->dev, "could not allocate skb\n");
- bcs->fcs = PPP_INITFCS;
+ gigaset_new_rx_skb(bcs);
+ bcs->rx_fcs = PPP_INITFCS;
}
/* hdlc_frag
@@ -597,8 +586,8 @@ static inline void hdlc_frag(struct bc_s
dev_notice(bcs->cs->dev, "received partial byte (%d bits)\n", inbits);
bcs->hw.bas->alignerrs++;
gigaset_isdn_rcv_err(bcs);
- __skb_trim(bcs->skb, 0);
- bcs->fcs = PPP_INITFCS;
+ __skb_trim(bcs->rx_skb, 0);
+ bcs->rx_fcs = PPP_INITFCS;
}
/* bit counts lookup table for HDLC bit unstuffing
@@ -847,7 +836,6 @@ static inline void hdlc_unpack(unsigned
static inline void trans_receive(unsigned char *src, unsigned count,
struct bc_state *bcs)
{
- struct cardstate *cs = bcs->cs;
struct sk_buff *skb;
int dobytes;
unsigned char *dst;
@@ -857,17 +845,11 @@ static inline void trans_receive(unsigne
hdlc_flush(bcs);
return;
}
- skb = bcs->skb;
- if (unlikely(skb == NULL)) {
- bcs->skb = skb = dev_alloc_skb(SBUFSIZE + cs->hw_hdr_len);
- if (!skb) {
- dev_err(cs->dev, "could not allocate skb\n");
- return;
- }
- skb_reserve(skb, cs->hw_hdr_len);
- }
+ skb = bcs->rx_skb;
+ if (skb == NULL)
+ skb = gigaset_new_rx_skb(bcs);
bcs->hw.bas->goodbytes += skb->len;
- dobytes = TRANSBUFSIZE - skb->len;
+ dobytes = bcs->rx_bufsize - skb->len;
while (count > 0) {
dst = skb_put(skb, count < dobytes ? count : dobytes);
while (count > 0 && dobytes > 0) {
@@ -879,14 +861,10 @@ static inline void trans_receive(unsigne
dump_bytes(DEBUG_STREAM_DUMP,
"rcv data", skb->data, skb->len);
gigaset_skb_rcvd(bcs, skb);
- bcs->skb = skb =
- dev_alloc_skb(SBUFSIZE + cs->hw_hdr_len);
- if (!skb) {
- dev_err(cs->dev, "could not allocate skb\n");
+ skb = gigaset_new_rx_skb(bcs);
+ if (skb == NULL)
return;
- }
- skb_reserve(skb, cs->hw_hdr_len);
- dobytes = TRANSBUFSIZE;
+ dobytes = bcs->rx_bufsize;
}
}
}
next prev parent reply other threads:[~2010-07-30 18:12 UTC|newest]
Thread overview: 206+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-30 17:52 [000/205] 2.6.34.2-rc1 stable review Greg KH
2010-07-30 17:50 ` [001/205] virtio-pci: disable msi at startup Greg KH
2010-07-30 17:50 ` [002/205] virtio: return ENOMEM on out of memory Greg KH
2010-07-30 17:50 ` [003/205] virtio_net: do not reschedule rx refill forever Greg KH
2010-07-30 17:50 ` [004/205] bridge: fdb cleanup runs too often Greg KH
2010-07-30 17:50 ` [005/205] net/dccp: expansion of error code size Greg KH
2010-07-30 17:50 ` [006/205] gro: Fix bogus gso_size on the first fraglist entry Greg KH
2010-07-30 17:50 ` [007/205] IPv6: fix Mobile IPv6 regression Greg KH
2010-07-30 17:50 ` [008/205] pegasus: fix USB device ID for ETX-US2 Greg KH
2010-07-30 17:50 ` [009/205] r8169: fix random mdio_write failures Greg KH
2010-07-30 17:50 ` [010/205] r8169: fix mdio_read and update mdio_write according to hw specs Greg KH
2010-07-30 17:50 ` [011/205] tcp: tcp_synack_options() fix Greg KH
2010-07-30 17:50 ` [012/205] tcp: use correct net ns in cookie_v4_check() Greg KH
2010-07-30 17:50 ` [013/205] usbnet: Set parent device early for netdev_printk() Greg KH
2010-07-30 17:50 ` [014/205] fix mis-applied upstream commit ac9721f3f54b27a16c7e1afb2481e7ee95a70318 Greg KH
2010-07-30 17:50 ` [015/205] ssb: Handle Netbook devices where the SPROM address is changed Greg KH
2010-07-30 17:50 ` [016/205] hwmon: (k8temp) Bypass core swapping on single-core processors Greg KH
2010-07-30 17:50 ` [017/205] hwmon: (k8temp) Fix temperature reporting for ASB1 processor revisions Greg KH
2010-07-30 17:50 ` [018/205] hwmon: (i5k_amb) Fix sysfs attribute for lockdep Greg KH
2010-07-30 17:50 ` [019/205] hwmon: (k10temp) Do not blacklist known working CPU models Greg KH
2010-07-30 17:50 ` [020/205] hwmon: (coretemp) Properly label the sensors Greg KH
2010-07-30 17:50 ` [021/205] hwmon: (coretemp) Skip duplicate CPU entries Greg KH
2010-07-30 17:50 ` [022/205] hwmon: (it87) Fix in7 on IT8720F Greg KH
2010-07-30 17:50 ` [023/205] cifs: remove bogus first_time check in NTLMv2 session setup code Greg KH
2010-07-30 17:50 ` [024/205] cifs: dont attempt busy-file rename unless its in same directory Greg KH
2010-07-30 17:50 ` [025/205] CIFS: Fix a malicious redirect problem in the DNS lookup code Greg KH
2010-07-30 17:50 ` [026/205] ALSA: hda - Dont check capture source mixer if no ADC is available Greg KH
2010-07-30 17:50 ` [027/205] ALSA: hda - Add Macbook 5,2 quirk Greg KH
2010-07-30 17:50 ` [028/205] ALSA: hda - Restore cleared pin controls on resume Greg KH
2010-07-30 17:50 ` [029/205] cpmac: do not leak struct net_device on phy_connect errors Greg KH
2010-07-30 17:50 ` [030/205] sky2: Restore multicast after restart Greg KH
2010-07-30 17:50 ` [031/205] sky2: enable rx/tx in sky2_phy_reinit() Greg KH
2010-07-30 17:50 ` [032/205] net: fix problem in reading sock TX queue Greg KH
2010-07-30 17:50 ` [033/205] tcp: fix crash in tcp_xmit_retransmit_queue Greg KH
2010-07-30 17:50 ` [034/205] net/core: neighbour update Oops Greg KH
2010-07-30 17:50 ` [035/205] math-emu: correct test for downshifting fraction in _FP_FROM_INT() Greg KH
2010-07-30 17:50 ` [036/205] cmd640: fix kernel oops in test_irq() method Greg KH
2010-07-30 17:50 ` [037/205] NFSv4: Fix an embarassing typo in encode_attrs() Greg KH
2010-07-30 17:50 ` [038/205] NFSv4: Ensure that /proc/self/mountinfo displays the minor version number Greg KH
2010-07-30 17:50 ` [039/205] SUNRPC: Fix a re-entrancy bug in xs_tcp_read_calldir() Greg KH
2010-07-30 17:50 ` [040/205] powerpc/5200: Fix build error in sound code Greg KH
2010-07-30 17:50 ` [041/205] ath9k: Avoid corrupt frames being forwarded to mac80211 Greg KH
2010-07-30 17:50 ` [042/205] hostap: Protect against initialization interrupt Greg KH
2010-07-30 17:51 ` [043/205] TPM: ReadPubEK output struct fix Greg KH
2010-07-30 17:51 ` [044/205] fb: fix colliding defines for fb flags Greg KH
2010-07-30 17:51 ` [045/205] iwlwifi: cancel scan watchdog in iwl_bg_abort_scan Greg KH
2010-07-30 17:51 ` [046/205] mac80211: do not wip out old supported rates Greg KH
2010-07-30 17:51 ` [047/205] Btrfs: fix checks in BTRFS_IOC_CLONE_RANGE Greg KH
2010-07-30 17:51 ` [048/205] ocfs2: No need to zero pages past i_size Greg KH
2010-07-30 17:51 ` [049/205] ocfs2: When zero extending, do it by page Greg KH
2010-07-30 17:51 ` [050/205] p54pci: add Symbol AP-300 minipci adapters pciid Greg KH
2010-07-30 17:51 ` [051/205] perf_events: Fix Intel Westmere event constraints Greg KH
2010-07-30 17:51 ` [052/205] dynamic debug: move ddebug_remove_module() down into free_module() Greg KH
2010-07-30 17:51 ` [053/205] drm/i915: fix hibernation since i915 self-reclaim fixes Greg KH
2010-07-30 17:51 ` [054/205] drm/i915: dont access FW_BLC_SELF on 965G Greg KH
2010-07-30 17:51 ` [055/205] drm/i915: add reclaimable to i915 self-reclaimable page allocations Greg KH
2010-07-30 17:51 ` [056/205] i915: fix lock imbalance on error path Greg KH
2010-07-30 17:51 ` [057/205] drm/i915: Define MI_ARB_STATE bits Greg KH
2010-07-30 17:51 ` [058/205] drm/i915: enable low power render writes on GEN3 hardware Greg KH
2010-07-30 17:51 ` [059/205] drm/i915: Make G4X-style PLL search more permissive Greg KH
2010-07-30 17:51 ` [060/205] drm/radeon/r200: handle more hw tex coord types Greg KH
2010-07-30 17:51 ` [061/205] drm/radeon/r100/r200: fix calculation of compressed cube maps Greg KH
2010-07-30 17:51 ` [062/205] drm/radeon/kms: fix DP after DPMS cycle Greg KH
2010-07-30 17:51 ` [063/205] drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx Greg KH
2010-07-30 17:51 ` [064/205] drm/radeon/kms: fix shared ddc handling Greg KH
2010-07-30 17:51 ` [065/205] drm/radeon/kms: fix shared ddc harder Greg KH
2010-07-30 17:51 ` [066/205] drm/radeon/kms: add quirk for ASUS HD 3600 board Greg KH
2010-07-30 17:51 ` [067/205] drm/radeon/kms: fix possible mis-detection of sideport on rs690/rs740 Greg KH
2010-07-30 17:51 ` [068/205] drm/radeon/kms: fix legacy LVDS dpms sequence Greg KH
2010-07-30 17:51 ` [069/205] drm/radeon/kms: fix legacy tv-out pal mode Greg KH
2010-07-30 17:51 ` [070/205] tpm_tis: fix subsequent suspend failures Greg KH
2010-07-30 17:51 ` [071/205] IPv6: keep route for tentative address Greg KH
2010-07-30 17:51 ` [072/205] IPv6: only notify protocols if address is completely gone Greg KH
2010-07-30 17:51 ` [073/205] ipvs: Add missing locking during connection table hashing and unhashing Greg KH
2010-07-30 17:51 ` [074/205] ipv6: fix NULL reference in proxy neighbor discovery Greg KH
2010-07-30 17:51 ` [075/205] netfilter: ip6t_REJECT: fix a dst leak in ipv6 REJECT Greg KH
2010-07-30 17:51 ` [076/205] SCSI: aacraid: Eliminate use after free Greg KH
2010-07-30 17:51 ` [077/205] md: raid10: Fix null pointer dereference in fix_read_error() Greg KH
2010-07-30 17:51 ` [078/205] amd64-agp: Probe unknown AGP devices the right way Greg KH
2010-07-30 17:51 ` [079/205] amd64_edac: Fix syndrome calculation on K8 Greg KH
2010-07-30 17:51 ` [080/205] perf, x86: Fix incorrect branches event on AMD CPUs Greg KH
2010-07-30 17:51 ` [081/205] ARM: 6205/1: perf: ensure counter delta is treated as unsigned Greg KH
2010-07-30 17:51 ` [082/205] perf: Resurrect flat callchains Greg KH
2010-07-30 17:51 ` [083/205] x86: Send a SIGTRAP for user icebp traps Greg KH
2010-07-30 17:51 ` [084/205] x86: Fix vsyscall on gcc 4.5 with -Os Greg KH
2010-07-30 17:51 ` [085/205] x86, Calgary: Increase max PHB number Greg KH
2010-07-30 17:51 ` [086/205] x86, Calgary: Limit the max PHB number to 256 Greg KH
2010-07-30 17:51 ` [087/205] sched: Prevent compiler from optimising the sched_avg_update() loop Greg KH
2010-07-30 17:51 ` [088/205] ipmi: set schedule_timeout_wait() value back to one Greg KH
2010-07-30 17:51 ` [089/205] sched: Fix over-scheduling bug Greg KH
2010-07-30 17:51 ` [090/205] genirq: Deal with desc->set_type() changing desc->chip Greg KH
2010-07-30 17:51 ` [091/205] cfq: Dont allow queue merges for queues that have no process references Greg KH
2010-07-30 17:51 ` [092/205] sysvfs: fix NULL deref. when allocating new inode Greg KH
2010-07-30 17:51 ` [093/205] serial: cpm_uart: implement the cpm_uart_early_write() function for console poll Greg KH
2010-07-30 17:51 ` [094/205] um: os-linux/mem.c needs sys/stat.h Greg KH
2010-07-30 17:51 ` [095/205] compiler-gcc.h: gcc-4.5 needs noclone and noinline on __naked functions Greg KH
2010-07-30 17:51 ` [096/205] rtc: fix ds1388 time corruption Greg KH
2010-07-30 17:51 ` [097/205] ahci,ata_generic: let ata_generic handle new MBP w/ MCP89 Greg KH
2010-07-30 17:51 ` [098/205] ata_generic: implement ATA_GEN_* flags and force enable DMA on MBP 7,1 Greg KH
2010-07-30 17:51 ` [099/205] ethtool: Fix potential kernel buffer overflow in ETHTOOL_GRXCLSRLALL Greg KH
2010-07-30 17:51 ` [100/205] powerpc: Fix logic error in fixup_irqs Greg KH
2010-07-30 17:51 ` [101/205] powerpc/cpm: Reintroduce global spi_pram struct (fixes build issue) Greg KH
2010-07-30 17:51 ` [102/205] powerpc/cpm1: Fix build with various CONFIG_*_UCODE_PATCH combinations Greg KH
2010-07-30 17:52 ` [103/205] kmemleak: Add support for NO_BOOTMEM configurations Greg KH
2010-07-30 17:52 ` [104/205] sdhci-s3c: add missing remove function Greg KH
2010-07-30 17:52 ` [105/205] virtio_net: fix oom handling on tx Greg KH
2010-07-30 17:52 ` [106/205] virtio: fix oops on OOM Greg KH
2010-07-30 17:52 ` [107/205] edac: mpc85xx: fix MPC85xx dependency Greg KH
2010-07-30 17:52 ` [108/205] ASoC: Remove duplicate AUX definition from WM8776 Greg KH
2010-07-30 17:52 ` [109/205] x86,nobootmem: make alloc_bootmem_node fall back to other node when 32bit numa is used Greg KH
2010-07-30 17:52 ` [110/205] Input: gamecon - reference correct input device in NES mode Greg KH
2010-07-30 17:52 ` [111/205] Input: gamecon - reference correct pad in gc_psx_command() Greg KH
2010-07-30 17:52 ` [112/205] x86: Fix x2apic preenabled system with kexec Greg KH
2010-07-30 17:52 ` [113/205] IPoIB: Fix world-writable child interface control sysfs attributes Greg KH
2010-07-30 17:52 ` [114/205] Input: i8042 - add Gigabyte Spring Peak to dmi_noloop_table Greg KH
2010-07-30 17:52 ` [115/205] Input: twl40300-keypad - fix handling of "all ground" rows Greg KH
2010-07-30 17:52 ` [116/205] ARM: 6201/1: RealView: Do not use outer_sync() on ARM11MPCore boards with L220 Greg KH
2010-07-30 17:52 ` [117/205] ARM: 6211/1: atomic ops: fix register constraints for atomic64_add_unless Greg KH
2010-07-30 17:52 ` [118/205] ARM: 6212/1: atomic ops: add memory constraints to inline asm Greg KH
2010-07-30 17:52 ` [119/205] ARM: 6226/1: fix kprobe bug in ldr instruction emulation Greg KH
2010-07-30 17:52 ` [120/205] x86: Do not try to disable hpet if it hasnt been initialized before Greg KH
2010-07-30 17:52 ` [121/205] x86, pci, mrst: Add extra sanity check in walking the PCI extended cap chain Greg KH
2010-07-30 17:52 ` [122/205] x86: kprobes: fix swapped segment registers in kretprobe Greg KH
2010-07-30 17:52 ` [123/205] x86, i8259: Only register sysdev if we have a real 8259 PIC Greg KH
2010-07-30 17:52 ` [124/205] USB: dont enable remote wakeup by default Greg KH
2010-07-30 17:52 ` [125/205] USB: g_serial: dont set low_latency flag Greg KH
2010-07-30 17:52 ` [126/205] USB: g_serial: fix tty cleanup on unload Greg KH
2010-07-30 17:52 ` [127/205] usb: musb: Fix a bug by making suspend interrupt available in device mode Greg KH
2010-07-30 17:52 ` [128/205] USB: ehci-mxc: bail out on transceiver problems Greg KH
2010-07-30 17:52 ` [129/205] USB: obey the sysfs power/wakeup setting Greg KH
2010-07-30 17:52 ` [130/205] USB: musb_core: make disconnect and suspend interrupts work again Greg KH
2010-07-30 17:52 ` [131/205] USB: MUSB: make non-OMAP platforms build with CONFIG_PM=y Greg KH
2010-07-30 17:52 ` [132/205] USB: option: add support for 1da5:4518 Greg KH
2010-07-30 17:52 ` [133/205] USB: Add PID for Sierra 250U to drivers/usb/serial/sierra.c Greg KH
2010-07-30 17:52 ` [134/205] USB: ftdi_sio: support for Signalyzer tools based on FTDI chips Greg KH
2010-07-30 17:52 ` [135/205] USB: option: Add support for AMOI Skypephone S2 Greg KH
2010-07-30 17:52 ` [136/205] USB: Fix USB3.0 Port Speed Downgrade after port reset Greg KH
2010-07-30 17:52 ` [137/205] USB: adds Artisman USB dongle to list of quirky devices Greg KH
2010-07-30 17:52 ` [138/205] USB: sisusbvga: Fix for USB 3.0 Greg KH
2010-07-30 17:52 ` [139/205] USB: xhci: Set Mult field in endpoint context correctly Greg KH
2010-07-30 17:52 ` [140/205] USB: add quirk for Broadcom BT dongle Greg KH
2010-07-30 17:52 ` [141/205] USB: FTDI: Add support for the RT System VX-7 radio programming cable Greg KH
2010-07-30 17:52 ` [142/205] USB: musb: tusb6010: fix compile error with n8x0_defconfig Greg KH
2010-07-30 17:52 ` [143/205] drm/i915: gen3 page flipping fixes Greg KH
2010-07-30 17:52 ` [144/205] drm/i915: dont queue flips during a flip pending event Greg KH
2010-07-30 17:52 ` [145/205] drm/i915: Hold the spinlock whilst resetting unpin_work along error path Greg KH
2010-07-30 17:52 ` [146/205] drm/i915: handle shared framebuffers when flipping Greg KH
2010-07-30 17:52 ` [147/205] ethtool: Fix potential user buffer overflow for ETHTOOL_{G, S}RXFH Greg KH
2010-07-30 17:52 ` [148/205] KVM: MMU: Remove user access when allowing kernel access to gpte.w=0 page Greg KH
2010-07-30 17:52 ` [149/205] KVM: SVM: Handle MCEs early in the vmexit process Greg KH
2010-07-30 17:52 ` [150/205] KVM: SVM: Implement workaround for Erratum 383 Greg KH
2010-07-30 17:52 ` [151/205] KVM: MMU: invalidate and flush on spte small->large page size change Greg KH
2010-07-30 17:52 ` [152/205] KVM: read apic->irr with ioapic lock held Greg KH
2010-07-30 17:52 ` [153/205] splice: direct_splice_actor() should not use pos in sd Greg KH
2010-07-30 17:52 ` [154/205] splice: check f_mode for seekable file Greg KH
2010-07-30 17:52 ` [155/205] futex: futex_find_get_task remove credentails check Greg KH
2010-07-30 17:52 ` [156/205] PM / x86: Save/restore MISC_ENABLE register Greg KH
2010-07-30 17:52 ` [157/205] PCI/PM: Do not use native PCIe PME by default Greg KH
2010-07-30 17:52 ` [158/205] isdn/capi: make reset_ctr op truly optional Greg KH
2010-07-30 17:52 ` [159/205] isdn/gigaset: remove dummy CAPI method implementations Greg KH
2010-07-30 17:52 ` Greg KH [this message]
2010-07-30 17:52 ` [161/205] isdn/gigaset: correct CAPI voice connection encoding Greg KH
2010-07-30 17:52 ` [162/205] isdn/gigaset: correct CAPI DATA_B3 Delivery Confirmation Greg KH
2010-07-30 17:53 ` [163/205] isdn/gigaset: encode HLC and BC together Greg KH
2010-07-30 17:53 ` [164/205] isdn/gigaset: correct CAPI connection state storage Greg KH
2010-07-30 17:53 ` [165/205] ACPI: skip checking BM_STS if the BIOS doesnt ask for it Greg KH
2010-07-30 17:53 ` [166/205] ACPI / PM: Do not enable GPEs for system wakeup in advance Greg KH
2010-07-30 17:53 ` [167/205] ACPI: Unconditionally set SCI_EN on resume Greg KH
2010-07-30 17:53 ` [168/205] libertas/sdio: 8686: set ECSI bit for 1-bit transfers Greg KH
2010-07-30 17:53 ` [169/205] dm9000: fix "BUG: spinlock recursion" Greg KH
2010-07-30 17:53 ` [170/205] mfd: Remove unneeded and dangerous clearing of clientdata Greg KH
2010-07-30 17:53 ` [171/205] firmware_class: fix memory leak - free allocated pages Greg KH
2010-07-30 17:53 ` [172/205] [CPUFREQ] revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)" Greg KH
2010-07-30 17:53 ` [173/205] V4L/DVB: dvb-core: Fix ULE decapsulation bug Greg KH
2010-07-30 17:53 ` [174/205] V4L/DVB: FusionHDTV: Use quick reads for I2C IR device probing Greg KH
2010-07-30 17:53 ` [175/205] V4L/DVB: budget: Select correct frontends Greg KH
2010-07-30 17:53 ` [176/205] 3c503: Fix IRQ probing Greg KH
2010-07-30 17:53 ` [177/205] mac80211: fix supported rates IE if AP doesnt give us its rates Greg KH
2010-07-30 17:53 ` [178/205] bnx2: Fix hang during rmmod bnx2 Greg KH
2010-07-30 17:53 ` [179/205] xfs: prevent swapext from operating on write-only files Greg KH
2010-07-30 17:53 ` [180/205] V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams Greg KH
2010-07-30 17:53 ` [181/205] V4L/DVB: uvcvideo: Add support for Packard Bell EasyNote MX52 integrated webcam Greg KH
2010-07-30 17:53 ` [182/205] V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16 Greg KH
2010-07-30 17:53 ` [183/205] block: Dont count_vm_events for discard bio in submit_bio Greg KH
2010-07-30 17:53 ` [184/205] iwlagn: verify flow id in compressed BA packet Greg KH
2010-07-30 17:53 ` [185/205] iwlwifi: Recover TX flow stall due to stuck queue Greg KH
2010-07-30 17:53 ` [186/205] iwl3945: enable stuck queue detection on 3945 Greg KH
2010-07-30 17:53 ` [187/205] kbuild: Fix modpost segfault Greg KH
2010-07-30 17:53 ` [188/205] ACPI / ACPICA: Use helper function for computing GPE masks Greg KH
2010-07-30 17:53 ` [189/205] ACPI / ACPICA: Fix low-level GPE manipulation code Greg KH
2010-07-30 17:53 ` [190/205] ACPI / ACPICA: Avoid writing full enable masks to GPE registers Greg KH
2010-07-30 17:53 ` [191/205] ACPI / ACPICA: Fix GPE initialization Greg KH
2010-07-30 17:53 ` [192/205] ACPI / ACPICA: Fix sysfs GPE interface Greg KH
2010-07-30 17:53 ` [193/205] [IA64] Fix spinaphore down_spin() Greg KH
2010-07-30 17:53 ` [194/205] ecryptfs: Bugfix for error related to ecryptfs_hash_buckets Greg KH
2010-07-30 17:53 ` [195/205] pcmcia: do not initialize the present flag too late Greg KH
2010-07-30 17:53 ` [196/205] MIPS: MTX-1: Fix PCI on the MeshCube and related boards Greg KH
2010-07-30 17:53 ` [197/205] HID: usbhid: enable remote wakeup for keyboards Greg KH
2010-07-30 17:53 ` [198/205] ath5k: initialize ah->ah_current_channel Greg KH
2010-07-30 17:53 ` [199/205] Input: RX51 keymap - fix recent compile breakage Greg KH
2010-07-30 17:53 ` [200/205] ocfs2: make xattr extension work with new local alloc reservation Greg KH
2010-07-30 17:53 ` [201/205] ACPI: processor: fix processor_physically_present on UP Greg KH
2010-07-30 17:53 ` [202/205] ALSA: hda - Fix pin-detection of Nvidia HDMI Greg KH
2010-07-30 17:53 ` [203/205] drm/i915: add PANEL_UNLOCK_REGS definition Greg KH
2010-07-30 17:53 ` [204/205] drm/i915: make sure eDP panel is turned on Greg KH
2010-07-30 17:53 ` [205/205] drm/i915: make sure we shut off the panel in eDP configs Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100730175148.493550802@clark.site \
--to=gregkh@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=stable-review@kernel.org \
--cc=stable@kernel.org \
--cc=tilman@imap.cc \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox