From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Jamal Hadi Salim <jhs@mojatatu.com>,
Jiri Pirko <jiri@resnulli.us>,
Cong Wang <xiyou.wangcong@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
syzbot+0a0596220218fcb603a8@syzkaller.appspotmail.com,
syzbot+63bdb6006961d8c917c6@syzkaller.appspotmail.com
Subject: [PATCH 5.4 036/110] net_sched: fix ops->bind_class() implementations
Date: Thu, 30 Jan 2020 19:38:12 +0100 [thread overview]
Message-ID: <20200130183619.629975750@linuxfoundation.org> (raw)
In-Reply-To: <20200130183613.810054545@linuxfoundation.org>
From: Cong Wang <xiyou.wangcong@gmail.com>
[ Upstream commit 2e24cd755552350b94a7617617c6877b8cbcb701 ]
The current implementations of ops->bind_class() are merely
searching for classid and updating class in the struct tcf_result,
without invoking either of cl_ops->bind_tcf() or
cl_ops->unbind_tcf(). This breaks the design of them as qdisc's
like cbq use them to count filters too. This is why syzbot triggered
the warning in cbq_destroy_class().
In order to fix this, we have to call cl_ops->bind_tcf() and
cl_ops->unbind_tcf() like the filter binding path. This patch does
so by refactoring out two helper functions __tcf_bind_filter()
and __tcf_unbind_filter(), which are lockless and accept a Qdisc
pointer, then teaching each implementation to call them correctly.
Note, we merely pass the Qdisc pointer as an opaque pointer to
each filter, they only need to pass it down to the helper
functions without understanding it at all.
Fixes: 07d79fc7d94e ("net_sched: add reverse binding for tc class")
Reported-and-tested-by: syzbot+0a0596220218fcb603a8@syzkaller.appspotmail.com
Reported-and-tested-by: syzbot+63bdb6006961d8c917c6@syzkaller.appspotmail.com
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
include/net/pkt_cls.h | 33 +++++++++++++++++++--------------
include/net/sch_generic.h | 3 ++-
net/sched/cls_basic.c | 11 ++++++++---
net/sched/cls_bpf.c | 11 ++++++++---
net/sched/cls_flower.c | 11 ++++++++---
net/sched/cls_fw.c | 11 ++++++++---
net/sched/cls_matchall.c | 11 ++++++++---
net/sched/cls_route.c | 11 ++++++++---
net/sched/cls_rsvp.h | 11 ++++++++---
net/sched/cls_tcindex.c | 11 ++++++++---
net/sched/cls_u32.c | 11 ++++++++---
net/sched/sch_api.c | 6 ++++--
12 files changed, 97 insertions(+), 44 deletions(-)
--- a/include/net/pkt_cls.h
+++ b/include/net/pkt_cls.h
@@ -141,31 +141,38 @@ __cls_set_class(unsigned long *clp, unsi
return xchg(clp, cl);
}
-static inline unsigned long
-cls_set_class(struct Qdisc *q, unsigned long *clp, unsigned long cl)
+static inline void
+__tcf_bind_filter(struct Qdisc *q, struct tcf_result *r, unsigned long base)
{
- unsigned long old_cl;
+ unsigned long cl;
- sch_tree_lock(q);
- old_cl = __cls_set_class(clp, cl);
- sch_tree_unlock(q);
- return old_cl;
+ cl = q->ops->cl_ops->bind_tcf(q, base, r->classid);
+ cl = __cls_set_class(&r->class, cl);
+ if (cl)
+ q->ops->cl_ops->unbind_tcf(q, cl);
}
static inline void
tcf_bind_filter(struct tcf_proto *tp, struct tcf_result *r, unsigned long base)
{
struct Qdisc *q = tp->chain->block->q;
- unsigned long cl;
/* Check q as it is not set for shared blocks. In that case,
* setting class is not supported.
*/
if (!q)
return;
- cl = q->ops->cl_ops->bind_tcf(q, base, r->classid);
- cl = cls_set_class(q, &r->class, cl);
- if (cl)
+ sch_tree_lock(q);
+ __tcf_bind_filter(q, r, base);
+ sch_tree_unlock(q);
+}
+
+static inline void
+__tcf_unbind_filter(struct Qdisc *q, struct tcf_result *r)
+{
+ unsigned long cl;
+
+ if ((cl = __cls_set_class(&r->class, 0)) != 0)
q->ops->cl_ops->unbind_tcf(q, cl);
}
@@ -173,12 +180,10 @@ static inline void
tcf_unbind_filter(struct tcf_proto *tp, struct tcf_result *r)
{
struct Qdisc *q = tp->chain->block->q;
- unsigned long cl;
if (!q)
return;
- if ((cl = __cls_set_class(&r->class, 0)) != 0)
- q->ops->cl_ops->unbind_tcf(q, cl);
+ __tcf_unbind_filter(q, r);
}
struct tcf_exts {
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -318,7 +318,8 @@ struct tcf_proto_ops {
void *type_data);
void (*hw_del)(struct tcf_proto *tp,
void *type_data);
- void (*bind_class)(void *, u32, unsigned long);
+ void (*bind_class)(void *, u32, unsigned long,
+ void *, unsigned long);
void * (*tmplt_create)(struct net *net,
struct tcf_chain *chain,
struct nlattr **tca,
--- a/net/sched/cls_basic.c
+++ b/net/sched/cls_basic.c
@@ -263,12 +263,17 @@ skip:
}
}
-static void basic_bind_class(void *fh, u32 classid, unsigned long cl)
+static void basic_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+ unsigned long base)
{
struct basic_filter *f = fh;
- if (f && f->res.classid == classid)
- f->res.class = cl;
+ if (f && f->res.classid == classid) {
+ if (cl)
+ __tcf_bind_filter(q, &f->res, base);
+ else
+ __tcf_unbind_filter(q, &f->res);
+ }
}
static int basic_dump(struct net *net, struct tcf_proto *tp, void *fh,
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
@@ -631,12 +631,17 @@ nla_put_failure:
return -1;
}
-static void cls_bpf_bind_class(void *fh, u32 classid, unsigned long cl)
+static void cls_bpf_bind_class(void *fh, u32 classid, unsigned long cl,
+ void *q, unsigned long base)
{
struct cls_bpf_prog *prog = fh;
- if (prog && prog->res.classid == classid)
- prog->res.class = cl;
+ if (prog && prog->res.classid == classid) {
+ if (cl)
+ __tcf_bind_filter(q, &prog->res, base);
+ else
+ __tcf_unbind_filter(q, &prog->res);
+ }
}
static void cls_bpf_walk(struct tcf_proto *tp, struct tcf_walker *arg,
--- a/net/sched/cls_flower.c
+++ b/net/sched/cls_flower.c
@@ -2511,12 +2511,17 @@ nla_put_failure:
return -EMSGSIZE;
}
-static void fl_bind_class(void *fh, u32 classid, unsigned long cl)
+static void fl_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+ unsigned long base)
{
struct cls_fl_filter *f = fh;
- if (f && f->res.classid == classid)
- f->res.class = cl;
+ if (f && f->res.classid == classid) {
+ if (cl)
+ __tcf_bind_filter(q, &f->res, base);
+ else
+ __tcf_unbind_filter(q, &f->res);
+ }
}
static bool fl_delete_empty(struct tcf_proto *tp)
--- a/net/sched/cls_fw.c
+++ b/net/sched/cls_fw.c
@@ -419,12 +419,17 @@ nla_put_failure:
return -1;
}
-static void fw_bind_class(void *fh, u32 classid, unsigned long cl)
+static void fw_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+ unsigned long base)
{
struct fw_filter *f = fh;
- if (f && f->res.classid == classid)
- f->res.class = cl;
+ if (f && f->res.classid == classid) {
+ if (cl)
+ __tcf_bind_filter(q, &f->res, base);
+ else
+ __tcf_unbind_filter(q, &f->res);
+ }
}
static struct tcf_proto_ops cls_fw_ops __read_mostly = {
--- a/net/sched/cls_matchall.c
+++ b/net/sched/cls_matchall.c
@@ -393,12 +393,17 @@ nla_put_failure:
return -1;
}
-static void mall_bind_class(void *fh, u32 classid, unsigned long cl)
+static void mall_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+ unsigned long base)
{
struct cls_mall_head *head = fh;
- if (head && head->res.classid == classid)
- head->res.class = cl;
+ if (head && head->res.classid == classid) {
+ if (cl)
+ __tcf_bind_filter(q, &head->res, base);
+ else
+ __tcf_unbind_filter(q, &head->res);
+ }
}
static struct tcf_proto_ops cls_mall_ops __read_mostly = {
--- a/net/sched/cls_route.c
+++ b/net/sched/cls_route.c
@@ -641,12 +641,17 @@ nla_put_failure:
return -1;
}
-static void route4_bind_class(void *fh, u32 classid, unsigned long cl)
+static void route4_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+ unsigned long base)
{
struct route4_filter *f = fh;
- if (f && f->res.classid == classid)
- f->res.class = cl;
+ if (f && f->res.classid == classid) {
+ if (cl)
+ __tcf_bind_filter(q, &f->res, base);
+ else
+ __tcf_unbind_filter(q, &f->res);
+ }
}
static struct tcf_proto_ops cls_route4_ops __read_mostly = {
--- a/net/sched/cls_rsvp.h
+++ b/net/sched/cls_rsvp.h
@@ -738,12 +738,17 @@ nla_put_failure:
return -1;
}
-static void rsvp_bind_class(void *fh, u32 classid, unsigned long cl)
+static void rsvp_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+ unsigned long base)
{
struct rsvp_filter *f = fh;
- if (f && f->res.classid == classid)
- f->res.class = cl;
+ if (f && f->res.classid == classid) {
+ if (cl)
+ __tcf_bind_filter(q, &f->res, base);
+ else
+ __tcf_unbind_filter(q, &f->res);
+ }
}
static struct tcf_proto_ops RSVP_OPS __read_mostly = {
--- a/net/sched/cls_tcindex.c
+++ b/net/sched/cls_tcindex.c
@@ -654,12 +654,17 @@ nla_put_failure:
return -1;
}
-static void tcindex_bind_class(void *fh, u32 classid, unsigned long cl)
+static void tcindex_bind_class(void *fh, u32 classid, unsigned long cl,
+ void *q, unsigned long base)
{
struct tcindex_filter_result *r = fh;
- if (r && r->res.classid == classid)
- r->res.class = cl;
+ if (r && r->res.classid == classid) {
+ if (cl)
+ __tcf_bind_filter(q, &r->res, base);
+ else
+ __tcf_unbind_filter(q, &r->res);
+ }
}
static struct tcf_proto_ops cls_tcindex_ops __read_mostly = {
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -1255,12 +1255,17 @@ static int u32_reoffload(struct tcf_prot
return 0;
}
-static void u32_bind_class(void *fh, u32 classid, unsigned long cl)
+static void u32_bind_class(void *fh, u32 classid, unsigned long cl, void *q,
+ unsigned long base)
{
struct tc_u_knode *n = fh;
- if (n && n->res.classid == classid)
- n->res.class = cl;
+ if (n && n->res.classid == classid) {
+ if (cl)
+ __tcf_bind_filter(q, &n->res, base);
+ else
+ __tcf_unbind_filter(q, &n->res);
+ }
}
static int u32_dump(struct net *net, struct tcf_proto *tp, void *fh,
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -1891,8 +1891,9 @@ static int tclass_del_notify(struct net
struct tcf_bind_args {
struct tcf_walker w;
- u32 classid;
+ unsigned long base;
unsigned long cl;
+ u32 classid;
};
static int tcf_node_bind(struct tcf_proto *tp, void *n, struct tcf_walker *arg)
@@ -1903,7 +1904,7 @@ static int tcf_node_bind(struct tcf_prot
struct Qdisc *q = tcf_block_q(tp->chain->block);
sch_tree_lock(q);
- tp->ops->bind_class(n, a->classid, a->cl);
+ tp->ops->bind_class(n, a->classid, a->cl, q, a->base);
sch_tree_unlock(q);
}
return 0;
@@ -1936,6 +1937,7 @@ static void tc_bind_tclass(struct Qdisc
arg.w.fn = tcf_node_bind;
arg.classid = clid;
+ arg.base = cl;
arg.cl = new_cl;
tp->ops->walk(tp, &arg.w, true);
}
next prev parent reply other threads:[~2020-01-30 18:52 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-30 18:37 [PATCH 5.4 000/110] 5.4.17-stable review Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 001/110] Bluetooth: btusb: fix non-atomic allocation in completion handler Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 002/110] orinoco_usb: fix interface sanity check Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 003/110] rsi_91x_usb: " Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 004/110] usb: dwc3: pci: add ID for the Intel Comet Lake -V variant Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 005/110] usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186 Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 006/110] USB: serial: ir-usb: add missing endpoint sanity check Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 007/110] USB: serial: ir-usb: fix link-speed handling Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 008/110] USB: serial: ir-usb: fix IrLAP framing Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 009/110] usb: dwc3: turn off VBUS when leaving host mode Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 010/110] usb: typec: wcove: fix "op-sink-microwatt" default that was in mW Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 011/110] usb: typec: fusb302: " Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 012/110] staging: most: net: fix buffer overflow Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 013/110] staging: wlan-ng: ensure error return is actually returned Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 014/110] staging: vt6656: correct packet types for CTS protect, mode Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 015/110] staging: vt6656: use NULLFUCTION stack on mac80211 Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 016/110] staging: vt6656: Fix false Tx excessive retries reporting Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 017/110] serial: 8250_bcm2835aux: Fix line mismatch on driver unbind Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 018/110] serial: imx: fix a race condition in receive path Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 019/110] debugfs: Return -EPERM when locked down Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 020/110] component: do not dereference opaque pointer in debugfs Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 021/110] binder: fix log spam for existing debugfs file creation Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 022/110] mei: hdcp: bind only with i915 on the same PCH Greg Kroah-Hartman
2020-01-30 18:37 ` [PATCH 5.4 023/110] mei: me: add comet point (lake) H device ids Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 024/110] iio: adc: stm32-dfsdm: fix single conversion Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 025/110] iio: st_gyro: Correct data for LSM9DS0 gyro Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 026/110] driver core: Fix test_async_driver_probe if NUMA is disabled Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 027/110] crypto: chelsio - fix writing tfm flags to wrong place Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 028/110] CIFS: Fix task struct use-after-free on reconnect Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 029/110] cifs: set correct max-buffer-size for smb2_ioctl_init() Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 030/110] cifs: Fix memory allocation in __smb2_handle_cancelled_cmd() Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 031/110] ath9k: fix storage endpoint lookup Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 032/110] brcmfmac: fix interface sanity check Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 033/110] rtl8xxxu: " Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 034/110] zd1211rw: fix storage endpoint lookup Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 035/110] net_sched: ematch: reject invalid TCF_EM_SIMPLE Greg Kroah-Hartman
2020-01-30 18:38 ` Greg Kroah-Hartman [this message]
2020-01-30 18:38 ` [PATCH 5.4 037/110] net_sched: walk through all child classes in tc_bind_tclass() Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 038/110] net: socionext: fix possible user-after-free in netsec_process_rx Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 039/110] net: socionext: fix xdp_result initialization " Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 040/110] udp: segment looped gso packets correctly Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 041/110] mlxsw: minimal: Fix an error handling path in mlxsw_m_port_create() Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 042/110] net: include struct nhmsg size in nh nlmsg size Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 043/110] rxrpc: Fix use-after-free in rxrpc_receive_data() Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 044/110] HID: multitouch: Add LG MELF0410 I2C touchscreen support Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 045/110] arc: eznps: fix allmodconfig kconfig warning Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 046/110] HID: Add quirk for Xin-Mo Dual Controller Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 047/110] HID: ite: Add USB id match for Acer SW5-012 keyboard dock Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 048/110] HID: asus: Ignore Asus vendor-page usage-code 0xff events Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 049/110] HID: Add quirk for incorrect input length on Lenovo Y720 Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 050/110] HID: intel-ish-hid: ipc: add CMP device id Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 051/110] HID: wacom: Recognize new MobileStudio Pro PID Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 052/110] ASoC: SOF: fix fault at driver unload after failed probe Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 053/110] ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 054/110] drivers/hid/hid-multitouch.c: fix a possible null pointer access Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 055/110] phy: qcom-qmp: Increase PHY ready timeout Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 056/110] ASoC: fsl_audmix: add missed pm_runtime_disable Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 057/110] ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime() Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 058/110] phy: cpcap-usb: Prevent USB line glitches from waking up modem Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 059/110] HID: intel-ish-hid: ipc: Add Tiger Lake PCI device ID Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 060/110] watchdog: max77620_wdt: fix potential build errors Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 061/110] watchdog: rn5t618_wdt: fix module aliases Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 062/110] watchdog: orion: fix platform_get_irq() complaints Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 063/110] usb: musb: jz4740: Silence error if code is -EPROBE_DEFER Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 064/110] can: tcan4x5x: tcan4x5x_parse_config(): reset device before register access Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 065/110] spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 066/110] net: Google gve: Remove dma_wmb() before ringing doorbell Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 067/110] drivers/net/b44: Change to non-atomic bit operations on pwol_mask Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 068/110] net: wan: sdla: Fix cast from pointer to integer of different size Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 069/110] gpio: max77620: Add missing dependency on GPIOLIB_IRQCHIP Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 070/110] iommu/dma: fix variable cookie set but not used Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 071/110] drm/amd/display: Reduce HDMI pixel encoding if max clock is exceeded Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 072/110] stmmac: debugfs entry name is not be changed when udev rename device name Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 073/110] atm: eni: fix uninitialized variable warning Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 074/110] HID: steam: Fix input device disappearing Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 075/110] extcon-intel-cht-wc: Dont reset USB data connection at probe Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 076/110] ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0 Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 077/110] drm/amdgpu/SRIOV: add navi12 pci id for SRIOV (v2) Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 078/110] libbpf: Fix BTF-defined maps __type macro handling of arrays Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 079/110] staging: mt7621-pci: add quirks for E2 revision using soc_device_attribute Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 080/110] platform/x86: dell-laptop: disable kbd backlight on Inspiron 10xx Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 081/110] PCI: Add DMA alias quirk for Intel VCA NTB Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 082/110] media: dvbsky: add support for eyeTV Geniatech T2 lite Greg Kroah-Hartman
2020-01-30 18:38 ` [PATCH 5.4 083/110] bus: ti-sysc: Handle mstandby quirk and use it for musb Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 084/110] bus: ti-sysc: Use swsup quirks also for am335x musb Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 085/110] spi: pxa2xx: Add support for Intel Comet Lake-H Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 086/110] iommu/amd: Support multiple PCI DMA aliases in device table Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 087/110] iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 088/110] perf/imx_ddr: Add enhanced AXI ID filter support Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 089/110] mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 090/110] ARM: config: aspeed-g5: Enable 8250_DW quirks Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 091/110] ARM: OMAP2+: SmartReflex: add omap_sr_pdata definition Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 092/110] mmc: sdhci-pci: Quirk for AMD SDHC Device 0x7906 Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 093/110] mmc: sdhci-pci: Add support for Intel JSL Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 094/110] bus: ti-sysc: Add module enable quirk for audio AESS Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 095/110] usb-storage: Disable UAS on JMicron SATA enclosure Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 096/110] ALSA: hda/realtek - Move some alc236 pintbls to fallback table Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 097/110] Bluetooth: Allow combination of BDADDR_PROPERTY and INVALID_BDADDR quirks Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 098/110] Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 099/110] bus: ti-sysc: Fix missing force mstandby quirk handling Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 100/110] rsi: fix use-after-free on failed probe and unbind Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 101/110] rsi: fix use-after-free on probe errors Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 102/110] rsi: fix memory leak on failed URB submission Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 103/110] rsi: fix non-atomic allocation in completion handler Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 104/110] crypto: af_alg - Use bh_lock_sock in sk_destruct Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 105/110] crypto: vmx - reject xts inputs that are too short Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 106/110] crypto: caam - do not reset pointer size from MCFGR register Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 107/110] crypto: pcrypt - Fix user-after-free on module unload Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 108/110] KVM: arm64: Write arch.mdcr_el2 changes since last vcpu_load on VHE Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 109/110] Revert "um: Enable CONFIG_CONSTRUCTORS" Greg Kroah-Hartman
2020-01-30 18:39 ` [PATCH 5.4 110/110] power/supply: ingenic-battery: Dont change scale if theres only one Greg Kroah-Hartman
2020-01-31 4:39 ` [PATCH 5.4 000/110] 5.4.17-stable review shuah
2020-01-31 11:03 ` Jon Hunter
2020-01-31 14:42 ` Naresh Kamboju
2020-01-31 17:32 ` Guenter Roeck
2020-01-31 19:44 ` Jeffrin Jose
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=20200130183619.629975750@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=davem@davemloft.net \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=syzbot+0a0596220218fcb603a8@syzkaller.appspotmail.com \
--cc=syzbot+63bdb6006961d8c917c6@syzkaller.appspotmail.com \
--cc=xiyou.wangcong@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).