* Re: linux-next: manual merge of the security tree with the vfs tree
From: Petko Manolov @ 2015-12-31 10:45 UTC (permalink / raw)
To: Al Viro
Cc: Stephen Rothwell, James Morris, linux-next, linux-kernel,
Mimi Zohar
In-Reply-To: <20151231043019.GD9938@ZenIV.linux.org.uk>
On 15-12-31 04:30:19, Al Viro wrote:
> On Thu, Dec 31, 2015 at 03:24:53PM +1100, Stephen Rothwell wrote:
> > Hi James,
> >
> > Today's linux-next merge of the security tree got a conflict in:
> >
> > security/integrity/ima/ima_fs.c
> >
> > between commit:
> >
> > 3bc8f29b149e ("new helper: memdup_user_nul()")
> >
> > from the vfs tree and commit:
> >
> > 38d859f991f3 ("IMA: policy can now be updated multiple times")
> >
> > from the security tree.
> >
> > I fixed it up (hopefully, see below) and can carry the fix as necessary
> > (no action is required).
>
> > + res = mutex_lock_interruptible(&ima_write_mutex);
> > + if (res)
> > + return res;
> >
> > if (datalen >= PAGE_SIZE)
> > datalen = PAGE_SIZE - 1;
> >
> > /* No partial writes. */
> > + result = -EINVAL;
> > if (*ppos != 0)
> > - return -EINVAL;
> > + goto out;
> >
> > - result = -ENOMEM;
> > - data = kmalloc(datalen + 1, GFP_KERNEL);
> > - if (!data)
> > - goto out;
> > -
> > - *(data + datalen) = '\0';
> > -
> > - result = -EFAULT;
> > - if (copy_from_user(data, buf, datalen))
> > + data = memdup_user_nul(buf, datalen);
> > - if (IS_ERR(data))
> > - return PTR_ERR(data);
> > ++ if (IS_ERR(data)) {
> > ++ result = PTR_ERR(data);
> > + goto out;
> > ++ }
>
> Why do it in this order? With or without opencoding memdup_user_nul(),
> what's the point of taking the mutex before copying the data from
> userland? All it achieves is holding it longer, over the area that
> needs no exclusion whatsoever.
I introduced the write mutex when ima_write_policy() stopped being serialized by
other means. Come to think about it the semaphore could be taken right before
copy_from_user() so it is my fault, not Stephen's.
The patch, however, leaves out a bug where free without allocation can occur.
Look at *ppos evaluation. Instead of "goto out" it should be "return -EINVAL;".
This requires the mutex lock to be moved down, though.
cheers,
Petko
^ permalink raw reply
* linux-next: manual merge of the akpm-current tree with the jc_docs tree
From: Stephen Rothwell @ 2015-12-31 10:43 UTC (permalink / raw)
To: Andrew Morton, Jonathan Corbet
Cc: linux-next, linux-kernel, Robert Elliott, Taku Izumi
Hi Andrew,
Today's linux-next merge of the akpm-current tree got a conflict in:
Documentation/kernel-parameters.txt
between commit:
9daacf51b428 ("Documentation/kernel-parameters: update KMG units")
from the jc_docs tree and commit:
f0a906868be1 ("mm/page_alloc.c: introduce kernelcore=mirror option")
from the akpm-current tree.
I fixed it up (see below) and can carry the fix as necessary (no action
is required).
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc Documentation/kernel-parameters.txt
index adf540032a9d,2cfb638d138b..000000000000
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@@ -1710,7 -1696,8 +1714,8 @@@ Such letter suffixes can also be entire
keepinitrd [HW,ARM]
- kernelcore=nn[KMGTPE] [KNL,X86,IA-64,PPC] This parameter
- kernelcore= Format: nn[KMG] | "mirror"
++ kernelcore= Format: nn[KMGTPE] | "mirror"
+ [KNL,X86,IA-64,PPC] This parameter
specifies the amount of memory usable by the kernel
for non-movable allocations. The requested amount is
spread evenly throughout all nodes in the system. The
^ permalink raw reply
* linux-next: build failure after merge of the drm tree
From: Stephen Rothwell @ 2015-12-31 10:31 UTC (permalink / raw)
To: Dave Airlie; +Cc: linux-next, linux-kernel, Rex Zhu, Alex Deucher
Hi Dave,
After merging the drm tree, today's linux-next build (powerpc
allyesconfig) failed like this:
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_thermal.c: In function 'tonga_fan_ctrl_get_fan_speed_percent':
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/tonga_thermal.c:84:2: error: implicit declaration of function 'do_div' [-Werror=implicit-function-declaration]
do_div(tmp64, duty100);
^
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_thermal.c: In function 'fiji_fan_ctrl_get_fan_speed_percent':
drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/fiji_thermal.c:78:2: error: implicit declaration of function 'do_div' [-Werror=implicit-function-declaration]
do_div(tmp64, duty100);
^
Caused by commit
1e4854e96c35 ("drm/amdgpu/powerplay: implement thermal control for tonga.")
[I notice that that commit does not have a Signed-off-by from its
committer (Alex)]
I applied the following fix patch for today:
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 31 Dec 2015 21:20:20 +1100
Subject: [PATCH] drm/amdgpu/powerplay: include asm/div64.h for do_div()
Fixes: 1e4854e96c35 ("drm/amdgpu/powerplay: implement thermal control for tonga.")
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c | 2 +-
drivers/gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c b/drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c
index def57d0675ed..e76a7de9aa32 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/fiji_thermal.c
@@ -20,7 +20,7 @@
* OTHER DEALINGS IN THE SOFTWARE.
*
*/
-
+#include <asm/div64.h>
#include "fiji_thermal.h"
#include "fiji_hwmgr.h"
#include "fiji_smumgr.h"
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c b/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c
index 2e159b003e71..a188174747c9 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c
@@ -20,7 +20,7 @@
* OTHER DEALINGS IN THE SOFTWARE.
*
*/
-
+#include <asm/div64.h>
#include "tonga_thermal.h"
#include "tonga_hwmgr.h"
#include "tonga_smumgr.h"
--
2.6.4
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply related
* Re: linux-next: manual merge of the vhost tree with the tip tree
From: Michael S. Tsirkin @ 2015-12-31 10:25 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra,
linux-next, linux-kernel, Davidlohr Bueso
In-Reply-To: <20151231202347.3090c74b@canb.auug.org.au>
On Thu, Dec 31, 2015 at 08:23:47PM +1100, Stephen Rothwell wrote:
> Hi Michael,
>
> Today's linux-next merge of the vhost tree got conflicts in:
>
> arch/ia64/include/asm/barrier.h
> arch/powerpc/include/asm/barrier.h
> arch/s390/include/asm/barrier.h
> include/asm-generic/barrier.h
>
> between commit:
>
> d5a73cadf3fd ("lcoking/barriers, arch: Use smp barriers in smp_store_release()")
>
> from the tip tree and commit:
>
> 2683de3a1732 ("ia64: reuse asm-generic/barrier.h")
> d78113bef3e0 ("powerpc: reuse asm-generic/barrier.h")
> 25bc870c914b ("s390: reuse asm-generic/barrier.h")
> 24888a057e97 ("asm-generic: add __smp_XXX wrappers")
>
> from the vhost tree.
Thanks for letting me know.
I should probably cherry-pick d5a73cadf3fd - this will
make it appear twice in git history, but seems cleaner
than rebasing all of vhost on top of tip.
Is everyone fine with this?
Alternatively, I could submit the virt barriers + virtio patches for
inclusion in tip.
> I fixed it up (in each case taking the vhost tree version) and can
> carry the fix as necessary (no action is required).
>
> However, given the ongoing review and discussion, I do wonder if these
> vhost tree commits should be in linux-next yet.
So far I got comments from David Miller about the API naming, and I'd
like to get more feedback - at least from Peter Zijlstra who gave me
the idea. Otherwise this seems rather like a safe bet, and
this kind of integration issue seems like exactly the kind of thing
linux-next helps figure out.
> --
> Cheers,
> Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply
* linux-next: manual merge of the vhost tree with the tip tree
From: Stephen Rothwell @ 2015-12-31 9:23 UTC (permalink / raw)
To: Michael S. Tsirkin, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
Peter Zijlstra
Cc: linux-next, linux-kernel, Davidlohr Bueso
Hi Michael,
Today's linux-next merge of the vhost tree got conflicts in:
arch/ia64/include/asm/barrier.h
arch/powerpc/include/asm/barrier.h
arch/s390/include/asm/barrier.h
include/asm-generic/barrier.h
between commit:
d5a73cadf3fd ("lcoking/barriers, arch: Use smp barriers in smp_store_release()")
from the tip tree and commit:
2683de3a1732 ("ia64: reuse asm-generic/barrier.h")
d78113bef3e0 ("powerpc: reuse asm-generic/barrier.h")
25bc870c914b ("s390: reuse asm-generic/barrier.h")
24888a057e97 ("asm-generic: add __smp_XXX wrappers")
from the vhost tree.
I fixed it up (in each case taking the vhost tree version) and can
carry the fix as necessary (no action is required).
However, given the ongoing review and discussion, I do wonder if these
vhost tree commits should be in linux-next yet.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply
* linux-next: manual merge of the target-updates tree with the nfsd tree
From: Stephen Rothwell @ 2015-12-31 8:28 UTC (permalink / raw)
To: Nicholas A. Bellinger, J. Bruce Fields
Cc: linux-next, linux-kernel, Christoph Hellwig, Jenny Derzhavetz
Hi Nicholas,
Today's linux-next merge of the target-updates tree got conflicts in:
drivers/infiniband/ulp/iser/iser_memory.c
drivers/infiniband/ulp/isert/ib_isert.c
between commit:
6c7b6d2d442c ("IB: merge struct ib_device_attr into struct ib_device")
from the nfsd tree and commits:
6d2cb3ad4bc2 ("iser-target: Support the remote invalidation exception")
9a4a71456262 ("IB/iser: Support the remote invalidation exception")
from the target-updates tree.
I fixed it up (see below) and can carry the fix as necessary (no action
is required).
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc drivers/infiniband/ulp/iser/iser_memory.c
index 81ad5e998fc2,8a57d4eadda6..000000000000
--- a/drivers/infiniband/ulp/iser/iser_memory.c
+++ b/drivers/infiniband/ulp/iser/iser_memory.c
@@@ -69,16 -69,17 +69,17 @@@ static struct iser_reg_ops fmr_ops =
int iser_assign_reg_ops(struct iser_device *device)
{
- struct ib_device_attr *dev_attr = &device->dev_attr;
+ struct ib_device *ib_dev = device->ib_device;
/* Assign function handles - based on FMR support */
- if (device->ib_device->alloc_fmr && device->ib_device->dealloc_fmr &&
- device->ib_device->map_phys_fmr && device->ib_device->unmap_fmr) {
+ if (ib_dev->alloc_fmr && ib_dev->dealloc_fmr &&
+ ib_dev->map_phys_fmr && ib_dev->unmap_fmr) {
iser_info("FMR supported, using FMR for registration\n");
device->reg_ops = &fmr_ops;
- } else if (dev_attr->device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS) {
+ } else if (ib_dev->device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS) {
iser_info("FastReg supported, using FastReg for registration\n");
device->reg_ops = &fastreg_ops;
+ device->remote_inv_sup = iser_always_reg;
} else {
iser_err("IB device does not support FMRs nor FastRegs, can't register memory\n");
return -1;
diff --cc drivers/infiniband/ulp/isert/ib_isert.c
index 77f894970aeb,91eb22c4fdba..000000000000
--- a/drivers/infiniband/ulp/isert/ib_isert.c
+++ b/drivers/infiniband/ulp/isert/ib_isert.c
@@@ -654,6 -679,32 +653,32 @@@ out_login_buf
return ret;
}
+ static void
+ isert_set_nego_params(struct isert_conn *isert_conn,
+ struct rdma_conn_param *param)
+ {
+ struct isert_device *device = isert_conn->device;
+
+ /* Set max inflight RDMA READ requests */
+ isert_conn->initiator_depth = min_t(u8, param->initiator_depth,
- device->dev_attr.max_qp_init_rd_atom);
++ device->ib_device->max_qp_init_rd_atom);
+ isert_dbg("Using initiator_depth: %u\n", isert_conn->initiator_depth);
+
+ if (param->private_data) {
+ u8 flags = *(u8 *)param->private_data;
+
+ /*
+ * use remote invalidation if the both initiator
+ * and the HCA support it
+ */
+ isert_conn->snd_w_inv = !(flags & ISER_SEND_W_INV_NOT_SUP) &&
- (device->dev_attr.device_cap_flags &
++ (device->ib_device->device_cap_flags &
+ IB_DEVICE_MEM_MGT_EXTENSIONS);
+ if (isert_conn->snd_w_inv)
+ isert_info("Using remote invalidation\n");
+ }
+ }
+
static int
isert_connect_request(struct rdma_cm_id *cma_id, struct rdma_cm_event *event)
{
^ permalink raw reply
* linux-next: manual merge of the cgroup tree with the net-next tree
From: Stephen Rothwell @ 2015-12-31 8:10 UTC (permalink / raw)
To: Tejun Heo, David Miller, netdev; +Cc: linux-next, linux-kernel, Serge E. Hallyn
Hi Tejun,
Today's linux-next merge of the cgroup tree got a conflict in:
include/linux/cgroup.h
kernel/cgroup.c
between commit:
bd1060a1d671 ("sock, cgroup: add sock->sk_cgroup")
from the net-next tree and commit:
f176ae3a5df6 ("cgroup: introduce cgroup namespaces")
from the cgroup tree.
I fixed it up (see below) and can carry the fix as necessary (no action
is required).
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc include/linux/cgroup.h
index 322a28482745,6d0992f3543d..000000000000
--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@@ -577,45 -569,47 +569,88 @@@ static inline int cgroup_init(void) { r
#endif /* !CONFIG_CGROUPS */
+/*
+ * sock->sk_cgrp_data handling. For more info, see sock_cgroup_data
+ * definition in cgroup-defs.h.
+ */
+#ifdef CONFIG_SOCK_CGROUP_DATA
+
+#if defined(CONFIG_CGROUP_NET_PRIO) || defined(CONFIG_CGROUP_NET_CLASSID)
+extern spinlock_t cgroup_sk_update_lock;
+#endif
+
+void cgroup_sk_alloc_disable(void);
+void cgroup_sk_alloc(struct sock_cgroup_data *skcd);
+void cgroup_sk_free(struct sock_cgroup_data *skcd);
+
+static inline struct cgroup *sock_cgroup_ptr(struct sock_cgroup_data *skcd)
+{
+#if defined(CONFIG_CGROUP_NET_PRIO) || defined(CONFIG_CGROUP_NET_CLASSID)
+ unsigned long v;
+
+ /*
+ * @skcd->val is 64bit but the following is safe on 32bit too as we
+ * just need the lower ulong to be written and read atomically.
+ */
+ v = READ_ONCE(skcd->val);
+
+ if (v & 1)
+ return &cgrp_dfl_root.cgrp;
+
+ return (struct cgroup *)(unsigned long)v ?: &cgrp_dfl_root.cgrp;
+#else
+ return (struct cgroup *)(unsigned long)skcd->val;
+#endif
+}
+
+#else /* CONFIG_CGROUP_DATA */
+
+static inline void cgroup_sk_alloc(struct sock_cgroup_data *skcd) {}
+static inline void cgroup_sk_free(struct sock_cgroup_data *skcd) {}
+
+#endif /* CONFIG_CGROUP_DATA */
+
+ struct cgroup_namespace {
+ atomic_t count;
+ struct ns_common ns;
+ struct user_namespace *user_ns;
+ struct css_set *root_cset;
+ };
+
+ extern struct cgroup_namespace init_cgroup_ns;
+
+ #ifdef CONFIG_CGROUPS
+
+ void free_cgroup_ns(struct cgroup_namespace *ns);
+
+ struct cgroup_namespace *
+ copy_cgroup_ns(unsigned long flags, struct user_namespace *user_ns,
+ struct cgroup_namespace *old_ns);
+
+ char *cgroup_path(struct cgroup *cgrp, char *buf, size_t buflen);
+
+ #else /* !CONFIG_CGROUPS */
+
+ static inline void free_cgroup_ns(struct cgroup_namespace *ns) { }
+ static inline struct cgroup_namespace *
+ copy_cgroup_ns(unsigned long flags, struct user_namespace *user_ns,
+ struct cgroup_namespace *old_ns)
+ {
+ return old_ns;
+ }
+
+ #endif /* !CONFIG_CGROUPS */
+
+ static inline void get_cgroup_ns(struct cgroup_namespace *ns)
+ {
+ if (ns)
+ atomic_inc(&ns->count);
+ }
+
+ static inline void put_cgroup_ns(struct cgroup_namespace *ns)
+ {
+ if (ns && atomic_dec_and_test(&ns->count))
+ free_cgroup_ns(ns);
+ }
+
#endif /* _LINUX_CGROUP_H */
diff --cc kernel/cgroup.c
index fe95970b1f79,7eb1d9de2afa..000000000000
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@@ -57,8 -57,11 +57,12 @@@
#include <linux/vmalloc.h> /* TODO: replace with more sophisticated array */
#include <linux/kthread.h>
#include <linux/delay.h>
+ #include <linux/proc_ns.h>
+ #include <linux/nsproxy.h>
+ #include <linux/proc_ns.h>
+
#include <linux/atomic.h>
+#include <net/sock.h>
/*
* pidlists linger the following amount before being destroyed. The goal
@@@ -5839,59 -5900,134 +5901,187 @@@ struct cgroup *cgroup_get_from_path(con
}
EXPORT_SYMBOL_GPL(cgroup_get_from_path);
+/*
+ * sock->sk_cgrp_data handling. For more info, see sock_cgroup_data
+ * definition in cgroup-defs.h.
+ */
+#ifdef CONFIG_SOCK_CGROUP_DATA
+
+#if defined(CONFIG_CGROUP_NET_PRIO) || defined(CONFIG_CGROUP_NET_CLASSID)
+
+DEFINE_SPINLOCK(cgroup_sk_update_lock);
+static bool cgroup_sk_alloc_disabled __read_mostly;
+
+void cgroup_sk_alloc_disable(void)
+{
+ if (cgroup_sk_alloc_disabled)
+ return;
+ pr_info("cgroup: disabling cgroup2 socket matching due to net_prio or net_cls activation\n");
+ cgroup_sk_alloc_disabled = true;
+}
+
+#else
+
+#define cgroup_sk_alloc_disabled false
+
+#endif
+
+void cgroup_sk_alloc(struct sock_cgroup_data *skcd)
+{
+ if (cgroup_sk_alloc_disabled)
+ return;
+
+ rcu_read_lock();
+
+ while (true) {
+ struct css_set *cset;
+
+ cset = task_css_set(current);
+ if (likely(cgroup_tryget(cset->dfl_cgrp))) {
+ skcd->val = (unsigned long)cset->dfl_cgrp;
+ break;
+ }
+ cpu_relax();
+ }
+
+ rcu_read_unlock();
+}
+
+void cgroup_sk_free(struct sock_cgroup_data *skcd)
+{
+ cgroup_put(sock_cgroup_ptr(skcd));
+}
+
+#endif /* CONFIG_SOCK_CGROUP_DATA */
+
+ /* cgroup namespaces */
+
+ static struct cgroup_namespace *alloc_cgroup_ns(void)
+ {
+ struct cgroup_namespace *new_ns;
+ int ret;
+
+ new_ns = kzalloc(sizeof(struct cgroup_namespace), GFP_KERNEL);
+ if (!new_ns)
+ return ERR_PTR(-ENOMEM);
+ ret = ns_alloc_inum(&new_ns->ns);
+ if (ret) {
+ kfree(new_ns);
+ return ERR_PTR(ret);
+ }
+ atomic_set(&new_ns->count, 1);
+ new_ns->ns.ops = &cgroupns_operations;
+ return new_ns;
+ }
+
+ void free_cgroup_ns(struct cgroup_namespace *ns)
+ {
+ put_css_set(ns->root_cset);
+ put_user_ns(ns->user_ns);
+ ns_free_inum(&ns->ns);
+ kfree(ns);
+ }
+ EXPORT_SYMBOL(free_cgroup_ns);
+
+ struct cgroup_namespace *
+ copy_cgroup_ns(unsigned long flags, struct user_namespace *user_ns,
+ struct cgroup_namespace *old_ns)
+ {
+ struct cgroup_namespace *new_ns = NULL;
+ struct css_set *cset = NULL;
+ int err;
+
+ BUG_ON(!old_ns);
+
+ if (!(flags & CLONE_NEWCGROUP)) {
+ get_cgroup_ns(old_ns);
+ return old_ns;
+ }
+
+ /* Allow only sysadmin to create cgroup namespace. */
+ err = -EPERM;
+ if (!ns_capable(user_ns, CAP_SYS_ADMIN))
+ goto err_out;
+
+ cset = task_css_set(current);
+ get_css_set(cset);
+
+ err = -ENOMEM;
+ new_ns = alloc_cgroup_ns();
+ if (!new_ns)
+ goto err_out;
+
+ new_ns->user_ns = get_user_ns(user_ns);
+ new_ns->root_cset = cset;
+
+ return new_ns;
+
+ err_out:
+ if (cset)
+ put_css_set(cset);
+ kfree(new_ns);
+ return ERR_PTR(err);
+ }
+
+ static inline struct cgroup_namespace *to_cg_ns(struct ns_common *ns)
+ {
+ return container_of(ns, struct cgroup_namespace, ns);
+ }
+
+ static int cgroupns_install(struct nsproxy *nsproxy, struct ns_common *ns)
+ {
+ struct cgroup_namespace *cgroup_ns = to_cg_ns(ns);
+
+ if (!ns_capable(current_user_ns(), CAP_SYS_ADMIN) ||
+ !ns_capable(cgroup_ns->user_ns, CAP_SYS_ADMIN))
+ return -EPERM;
+
+ /* Don't need to do anything if we are attaching to our own cgroupns. */
+ if (cgroup_ns == nsproxy->cgroup_ns)
+ return 0;
+
+ get_cgroup_ns(cgroup_ns);
+ put_cgroup_ns(nsproxy->cgroup_ns);
+ nsproxy->cgroup_ns = cgroup_ns;
+
+ return 0;
+ }
+
+ static struct ns_common *cgroupns_get(struct task_struct *task)
+ {
+ struct cgroup_namespace *ns = NULL;
+ struct nsproxy *nsproxy;
+
+ task_lock(task);
+ nsproxy = task->nsproxy;
+ if (nsproxy) {
+ ns = nsproxy->cgroup_ns;
+ get_cgroup_ns(ns);
+ }
+ task_unlock(task);
+
+ return ns ? &ns->ns : NULL;
+ }
+
+ static void cgroupns_put(struct ns_common *ns)
+ {
+ put_cgroup_ns(to_cg_ns(ns));
+ }
+
+ const struct proc_ns_operations cgroupns_operations = {
+ .name = "cgroup",
+ .type = CLONE_NEWCGROUP,
+ .get = cgroupns_get,
+ .put = cgroupns_put,
+ .install = cgroupns_install,
+ };
+
+ static __init int cgroup_namespaces_init(void)
+ {
+ return 0;
+ }
+ subsys_initcall(cgroup_namespaces_init);
+
#ifdef CONFIG_CGROUP_DEBUG
static struct cgroup_subsys_state *
debug_css_alloc(struct cgroup_subsys_state *parent_css)
^ permalink raw reply
* Re: linux-next: build failure after merge of the drm tree
From: Mark yao @ 2015-12-31 5:14 UTC (permalink / raw)
To: Stephen Rothwell, Dave Airlie; +Cc: linux-next, linux-kernel
In-Reply-To: <20151231134011.165b239b@canb.auug.org.au>
On 2015年12月31日 10:40, Stephen Rothwell wrote:
> Hi Dave,
>
> After merging the drm tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
>
> ERROR: "vop_component_ops" [drivers/gpu/drm/rockchip/rockchip_vop_reg.ko] undefined!
>
> Caused by commit
>
> a67719d18229 ("drm/rockchip: vop: spilt register related into rockchip_reg_vop.c")
>
> I have added the following fix patch for today (just because its
> Christmas :-)):
>
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 31 Dec 2015 13:35:27 +1100
> Subject: [PATCH] drm/rockchip: vop: export vop_component_ops to modules
>
> Fixes: a67719d18229 ("drm/rockchip: vop: spilt register related into rockchip_reg_vop.c")
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> index d83bf87ba71e..f5b3da2f92d7 100644
> --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> @@ -1395,3 +1395,4 @@ const struct component_ops vop_component_ops = {
> .bind = vop_bind,
> .unbind = vop_unbind,
> };
> +EXPORT_SYMBOL_GPL(vop_component_ops);
Hi Stephen
Thanks for the fix, Sorry for forgetting test it with modules, and
Acked-by: Mark Yao <mark.yao@rock-chips.com>
Hi Dave
Can you pick this one?
Thanks.:-)
--
Mark Yao
^ permalink raw reply
* Re: linux-next: manual merge of the security tree with the vfs tree
From: Al Viro @ 2015-12-31 4:30 UTC (permalink / raw)
To: Stephen Rothwell
Cc: James Morris, linux-next, linux-kernel, Petko Manolov, Mimi Zohar
In-Reply-To: <20151231152453.08cfae79@canb.auug.org.au>
On Thu, Dec 31, 2015 at 03:24:53PM +1100, Stephen Rothwell wrote:
> Hi James,
>
> Today's linux-next merge of the security tree got a conflict in:
>
> security/integrity/ima/ima_fs.c
>
> between commit:
>
> 3bc8f29b149e ("new helper: memdup_user_nul()")
>
> from the vfs tree and commit:
>
> 38d859f991f3 ("IMA: policy can now be updated multiple times")
>
> from the security tree.
>
> I fixed it up (hopefully, see below) and can carry the fix as necessary
> (no action is required).
> + res = mutex_lock_interruptible(&ima_write_mutex);
> + if (res)
> + return res;
>
> if (datalen >= PAGE_SIZE)
> datalen = PAGE_SIZE - 1;
>
> /* No partial writes. */
> + result = -EINVAL;
> if (*ppos != 0)
> - return -EINVAL;
> + goto out;
>
> - result = -ENOMEM;
> - data = kmalloc(datalen + 1, GFP_KERNEL);
> - if (!data)
> - goto out;
> -
> - *(data + datalen) = '\0';
> -
> - result = -EFAULT;
> - if (copy_from_user(data, buf, datalen))
> + data = memdup_user_nul(buf, datalen);
> - if (IS_ERR(data))
> - return PTR_ERR(data);
> ++ if (IS_ERR(data)) {
> ++ result = PTR_ERR(data);
> + goto out;
> ++ }
Why do it in this order? With or without opencoding memdup_user_nul(),
what's the point of taking the mutex before copying the data from
userland? All it achieves is holding it longer, over the area that
needs no exclusion whatsoever.
^ permalink raw reply
* linux-next: manual merge of the security tree with the vfs tree
From: Stephen Rothwell @ 2015-12-31 4:24 UTC (permalink / raw)
To: James Morris, Al Viro; +Cc: linux-next, linux-kernel, Petko Manolov, Mimi Zohar
Hi James,
Today's linux-next merge of the security tree got a conflict in:
security/integrity/ima/ima_fs.c
between commit:
3bc8f29b149e ("new helper: memdup_user_nul()")
from the vfs tree and commit:
38d859f991f3 ("IMA: policy can now be updated multiple times")
from the security tree.
I fixed it up (hopefully, see below) and can carry the fix as necessary
(no action is required).
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc security/integrity/ima/ima_fs.c
index 71aa60b8d257,3caed6de610c..000000000000
--- a/security/integrity/ima/ima_fs.c
+++ b/security/integrity/ima/ima_fs.c
@@@ -259,21 -261,35 +261,30 @@@ static const struct file_operations ima
static ssize_t ima_write_policy(struct file *file, const char __user *buf,
size_t datalen, loff_t *ppos)
{
- char *data = NULL;
ssize_t result;
- char *data;
++ char *data = NULL;
+ int res;
+
+ res = mutex_lock_interruptible(&ima_write_mutex);
+ if (res)
+ return res;
if (datalen >= PAGE_SIZE)
datalen = PAGE_SIZE - 1;
/* No partial writes. */
+ result = -EINVAL;
if (*ppos != 0)
- return -EINVAL;
+ goto out;
- result = -ENOMEM;
- data = kmalloc(datalen + 1, GFP_KERNEL);
- if (!data)
- goto out;
-
- *(data + datalen) = '\0';
-
- result = -EFAULT;
- if (copy_from_user(data, buf, datalen))
+ data = memdup_user_nul(buf, datalen);
- if (IS_ERR(data))
- return PTR_ERR(data);
++ if (IS_ERR(data)) {
++ result = PTR_ERR(data);
+ goto out;
++ }
result = ima_parse_add_rule(data);
+ out:
if (result < 0)
valid_policy = 0;
kfree(data);
^ permalink raw reply
* linux-next: build failure after merge of the mmc-uh tree
From: Stephen Rothwell @ 2015-12-31 3:53 UTC (permalink / raw)
To: Ulf Hansson, Stephen Warren, Colin Cross, Olof Johansson,
Thierry Reding
Cc: linux-next, linux-kernel, Lucas Stach
Hi Ulf,
After merging the mmc-uh tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:
drivers/mmc/host/sdhci-tegra.c:361:38: error: redefinition of 'sdhci_tegra210_pdata'
static const struct sdhci_pltfm_data sdhci_tegra210_pdata = {
^
drivers/mmc/host/sdhci-tegra.c:343:38: note: previous definition of 'sdhci_tegra210_pdata' was here
static const struct sdhci_pltfm_data sdhci_tegra210_pdata = {
^
drivers/mmc/host/sdhci-tegra.c:370:42: error: redefinition of 'soc_data_tegra210'
static const struct sdhci_tegra_soc_data soc_data_tegra210 = {
^
drivers/mmc/host/sdhci-tegra.c:354:42: note: previous definition of 'soc_data_tegra210' was here
static const struct sdhci_tegra_soc_data soc_data_tegra210 = {
^
drivers/mmc/host/sdhci-tegra.c:372:14: error: 'NVQUIRK_DISABLE_SDR50' undeclared here (not in a function)
.nvquirks = NVQUIRK_DISABLE_SDR50 |
^
drivers/mmc/host/sdhci-tegra.c:373:7: error: 'NVQUIRK_DISABLE_DDR50' undeclared here (not in a function)
NVQUIRK_DISABLE_DDR50 |
^
drivers/mmc/host/sdhci-tegra.c:374:7: error: 'NVQUIRK_DISABLE_SDR104' undeclared here (not in a function)
NVQUIRK_DISABLE_SDR104,
^
Caused by patch
"mmc: tegra: Add Tegra210 support"
turning up in two trees (mmc-uh and tegra) as separate commits and then
further changes to this file in the mmc-uh tree.
I used the version of the file from the mmc-uh tree.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply
* linux-next: manual merge of the block tree with Linus' tree
From: Stephen Rothwell @ 2015-12-31 3:34 UTC (permalink / raw)
To: Jens Axboe; +Cc: linux-next, linux-kernel, Keith Busch, Christoph Hellwig
Hi Jens,
Today's linux-next merge of the block tree got a conflict in:
drivers/nvme/host/pci.c
between commit:
b5875222de2f ("NVMe: IO ending fixes on surprise removal")
from Linus' tree and commit:
5bae7f73d378 ("nvme: move namespace scanning to common code")
from the block tree.
I fixed it up (the code was moved - I added the fix patch below) and
can carry the fix as necessary (no action is required).
However, there was another part to the former patch that I could not
quite figure out how to reproduce - the fix to nvme_dev_remove().
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 31 Dec 2015 14:21:38 +1100
Subject: [PATCH] nvme: merge fix up for ns code movement
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/nvme/host/core.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 1437ff36e91c..1375a83593b5 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -1118,8 +1118,17 @@ static void nvme_ns_remove(struct nvme_ns *ns)
bool kill = nvme_io_incapable(ns->ctrl) &&
!blk_queue_dying(ns->queue);
- if (kill)
+ if (kill) {
blk_set_queue_dying(ns->queue);
+
+ /*
+ * The controller was shutdown first if we got here through
+ * device removal. The shutdown may requeue outstanding
+ * requests. These need to be aborted immediately so
+ * del_gendisk doesn't block indefinitely for their completion.
+ */
+ blk_mq_abort_requeue_list(ns->queue);
+ }
if (ns->disk->flags & GENHD_FL_UP) {
if (blk_get_integrity(ns->disk))
blk_integrity_unregister(ns->disk);
--
2.6.4
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply related
* linux-next: build failure after merge of the drm tree
From: Stephen Rothwell @ 2015-12-31 2:40 UTC (permalink / raw)
To: Dave Airlie; +Cc: linux-next, linux-kernel, Mark Yao
Hi Dave,
After merging the drm tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:
ERROR: "vop_component_ops" [drivers/gpu/drm/rockchip/rockchip_vop_reg.ko] undefined!
Caused by commit
a67719d18229 ("drm/rockchip: vop: spilt register related into rockchip_reg_vop.c")
I have added the following fix patch for today (just because its
Christmas :-)):
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 31 Dec 2015 13:35:27 +1100
Subject: [PATCH] drm/rockchip: vop: export vop_component_ops to modules
Fixes: a67719d18229 ("drm/rockchip: vop: spilt register related into rockchip_reg_vop.c")
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index d83bf87ba71e..f5b3da2f92d7 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -1395,3 +1395,4 @@ const struct component_ops vop_component_ops = {
.bind = vop_bind,
.unbind = vop_unbind,
};
+EXPORT_SYMBOL_GPL(vop_component_ops);
--
2.6.4
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply related
* linux-next: manual merge of the rdma tree with the nfsd tree
From: Stephen Rothwell @ 2015-12-31 2:30 UTC (permalink / raw)
To: Doug Ledford, J. Bruce Fields; +Cc: linux-next, linux-kernel, Christoph Hellwig
Hi Doug,
Today's linux-next merge of the rdma tree got conflicts in a quite a
few files between (mostly, I think) commit:
6c7b6d2d442c ("IB: merge struct ib_device_attr into struct ib_device")
from the nfsd tree and various commits from the rdma tree.
It would have taken me considerable time to fix the conflicts up, so I
have dropped teh rdma tree for today (just because it was merged second).
Please have a conversation and figure out how you are going to cooperate
and get these conflicts fixed e.g. set up a stable branch with Christoph's
commit (and any other conflicting commits) in it and merge that into
both trees.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply
* linux-next: build failure after merge of the thermal-soc tree
From: Stephen Rothwell @ 2015-12-31 1:53 UTC (permalink / raw)
To: Eduardo Valentin, Zhang Rui
Cc: linux-next, linux-kernel, Srinivas Pandruvada, Kuninori Morimoto
Hi Eduardo,
After merging the thermal-soc tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:
drivers/thermal/thermal_core.c: In function 'trip_point_temp_store':
drivers/thermal/thermal_core.c:764:2: error: too few arguments to function 'thermal_zone_device_update'
thermal_zone_device_update(tz);
^
drivers/thermal/thermal_core.c:612:6: note: declared here
void thermal_zone_device_update(struct thermal_zone_device *tz,
^
Caused by commit
ce0265dd6f8e ("thermal: trip_point_temp_store() calls thermal_zone_device_update()")
from the thermal-soc tree interacting with commit
c4117cc3526e ("thermal: core: enhance thermal_zone_device_update")
from the thermal tree.
I have applied the following merge fix patch for today:
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 31 Dec 2015 12:47:22 +1100
Subject: [PATCH] thermal: fix for thermal_zone_device_update() API change
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/thermal/thermal_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index bd175218141f..7f7a3caf8892 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -761,7 +761,7 @@ trip_point_temp_store(struct device *dev, struct device_attribute *attr,
if (ret)
return ret;
- thermal_zone_device_update(tz);
+ thermal_zone_device_update(tz, THERMAL_DEVICE_EVENT_NONE);
return count;
}
--
2.6.4
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply related
* linux-next: manual merge of the libata tree
From: Stephen Rothwell @ 2015-12-31 1:29 UTC (permalink / raw)
To: Tejun Heo; +Cc: linux-next, linux-kernel, Jaedon Shin
Hi Tejun,
Today's linux-next merge of the libata tree got conflicts all over teh
place due to commit:
53fab927a8fc ("ata: ahci_brcmstb: add support for MIPS-based platforms")
from the libata tree which seem to contain most (if not all) of Linus'
tree :-(.
I have used the version of the libata tree from next-20151223 for today.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
^ permalink raw reply
* mmotm 2015-12-30-14-39 uploaded
From: akpm @ 2015-12-30 22:40 UTC (permalink / raw)
To: mm-commits, linux-kernel, linux-mm, linux-fsdevel, linux-next,
sfr, mhocko, broonie
The mm-of-the-moment snapshot 2015-12-30-14-39 has been uploaded to
http://www.ozlabs.org/~akpm/mmotm/
mmotm-readme.txt says
README for mm-of-the-moment:
http://www.ozlabs.org/~akpm/mmotm/
This is a snapshot of my -mm patch queue. Uploaded at random hopefully
more than once a week.
You will need quilt to apply these patches to the latest Linus release (4.x
or 4.x-rcY). The series file is in broken-out.tar.gz and is duplicated in
http://ozlabs.org/~akpm/mmotm/series
The file broken-out.tar.gz contains two datestamp files: .DATE and
.DATE-yyyy-mm-dd-hh-mm-ss. Both contain the string yyyy-mm-dd-hh-mm-ss,
followed by the base kernel version against which this patch series is to
be applied.
This tree is partially included in linux-next. To see which patches are
included in linux-next, consult the `series' file. Only the patches
within the #NEXT_PATCHES_START/#NEXT_PATCHES_END markers are included in
linux-next.
A git tree which contains the memory management portion of this tree is
maintained at git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
by Michal Hocko. It contains the patches which are between the
"#NEXT_PATCHES_START mm" and "#NEXT_PATCHES_END" markers, from the series
file, http://www.ozlabs.org/~akpm/mmotm/series.
A full copy of the full kernel tree with the linux-next and mmotm patches
already applied is available through git within an hour of the mmotm
release. Individual mmotm releases are tagged. The master branch always
points to the latest release, so it's constantly rebasing.
http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/
To develop on top of mmotm git:
$ git remote add mmotm git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git
$ git remote update mmotm
$ git checkout -b topic mmotm/master
<make changes, commit>
$ git send-email mmotm/master.. [...]
To rebase a branch with older patches to a new mmotm release:
$ git remote update mmotm
$ git rebase --onto mmotm/master <topic base> topic
The directory http://www.ozlabs.org/~akpm/mmots/ (mm-of-the-second)
contains daily snapshots of the -mm tree. It is updated more frequently
than mmotm, and is untested.
A git copy of this tree is available at
http://git.cmpxchg.org/cgit.cgi/linux-mmots.git/
and use of this tree is similar to
http://git.cmpxchg.org/cgit.cgi/linux-mmotm.git/, described above.
This mmotm tree contains the following patches against 4.4-rc7:
(patches marked "*" will be included in linux-next)
origin.patch
arch-alpha-kernel-systblss-remove-debug-check.patch
drivers-gpu-drm-i915-intel_spritec-fix-build.patch
drivers-gpu-drm-i915-intel_tvc-fix-build.patch
arm-mm-do-not-use-virt_to_idmap-for-nommu-systems.patch
* m32r-fix-m32104ut_defconfig-build-fail.patch
* nfs-hangs-in-__ocfs2_cluster_lock-due-to-race-with-ocfs2_unblock_lock.patch
* fsnotify-use-list_next_entry-in-fsnotify_unmount_inodes.patch
* fsnotify-destroy-marks-with-call_srcu-instead-of-dedicated-thread.patch
* modpost-dont-add-a-trailing-wildcard-for-of-module-aliases.patch
* virtio_balloon-fix-race-by-fill-and-leak.patch
* virtio_balloon-fix-race-between-migration-and-ballooning.patch
* fs-ext4-fsyncc-generic_file_fsync-call-based-on-barrier-flag.patch
* ocfs2-optimize-bad-declarations-and-redundant-assignment.patch
* ocfs2-return-non-zero-st_blocks-for-inline-data.patch
* o2hb-increase-unsteady-iterations.patch
* ocfs2-dlm-fix-a-race-between-purge-and-migratio.patch
* ocfs2-dlm-fix-a-race-between-purge-and-migratio-v2.patch
* ocfs2-constify-ocfs2_extent_tree_operations-structures.patch
* ocfs2-dlm-wait-until-dlm_lock_res_setref_inprog-is-cleared-in-dlm_deref_lockres_worker.patch
* ocfs2-clean-up-redundant-null-check-before-iput.patch
* ocfs2-dlm-return-appropriate-value-when-dlm_grab-returns-null.patch
* ocfs2-fix-slot-overwritten-if-storage-link-down-during-mount.patch
* ocfs2-fix-slot-overwritten-if-storage-link-down-during-mount-checkpatch-fixes.patch
* ocfs2-do-not-lock-unlock-inode-dlm-lock.patch
* ocfs2-dlm-ignore-cleaning-the-migration-mle-that-is-inuse.patch
* ocfs2-dlm-do-not-insert-a-new-mle-when-another-process-is-already-migrating.patch
* ocfs2-access-orphan-dinode-before-delete-entry-in-ocfs2_orphan_del.patch
* ocfs2-dlm-remove-redundant-code.patch
* ocfs2-add-ocfs2_write_type_t-type-to-identify-the-caller-of-write.patch
* ocfs2-use-c_new-to-indicate-newly-allocated-extents.patch
* ocfs2-test-target-page-before-change-it.patch
* ocfs2-do-not-change-i_size-in-write_end-for-direct-io.patch
* ocfs2-return-the-physical-address-in-ocfs2_write_cluster.patch
* ocfs2-record-unwritten-extents-when-populate-write-desc.patch
* ocfs2-fix-sparse-file-data-ordering-issue-in-direct-io.patch
* ocfs2-code-clean-up-for-direct-io.patch
* ocfs2-fix-ip_unaligned_aio-deadlock-with-dio-work-queue.patch
* ocfs2-fix-ip_unaligned_aio-deadlock-with-dio-work-queue-fix.patch
* ocfs2-take-ip_alloc_sem-in-ocfs2_dio_get_block-ocfs2_dio_end_io_write.patch
* ocfs2-fix-disk-file-size-and-memory-file-size-mismatch.patch
* ocfs2-fix-a-deadlock-issue-in-ocfs2_dio_end_io_write.patch
* ocfs2-dlm-fix-race-between-convert-and-recovery.patch
* ocfs2-dlm-fix-race-between-convert-and-recovery-v2.patch
* ocfs2-dlm-fix-race-between-convert-and-recovery-v3.patch
* ocfs2-dlm-fix-bug-in-dlm_move_lockres_to_recovery_list.patch
* ocfs2-extend-transaction-for-ocfs2_remove_rightmost_path-and-ocfs2_update_edge_lengths-before-to-avoid-inconsistency-between-inode-and-et.patch
* extend-enough-credits-for-freeing-one-truncate-record-while-replaying-truncate-records.patch
* ocfs2-avoid-occurring-deadlock-by-changing-ocfs2_wq-from-global-to-local.patch
* ocfs2-solve-a-problem-of-crossing-the-boundary-in-updating-backups.patch
* ocfs2-export-ocfs2_kset-for-online-file-check.patch
* ocfs2-sysfile-interfaces-for-online-file-check.patch
* ocfs2-create-remove-sysfile-for-online-file-check.patch
* ocfs2-check-fix-inode-block-for-online-file-check.patch
* block-restore-proc-partitions-to-not-display-non-partitionable-removable-devices.patch
* include-linux-dcacheh-remove-semicolons-from-hash_len_declare.patch
mm.patch
* mm-slab-use-list_first_entry_or_null.patch
* mm-slab-use-list_for_each_entry-in-cache_flusharray.patch
* mm-slabc-add-a-helper-function-get_first_slab.patch
* revert-kernfs-do-not-account-ino_ida-allocations-to-memcg.patch
* revert-gfp-add-__gfp_noaccount.patch
* memcg-only-account-kmem-allocations-marked-as-__gfp_account.patch
* slab-add-slab_account-flag.patch
* vmalloc-allow-to-account-vmalloc-to-memcg.patch
* account-certain-kmem-allocations-to-memcg.patch
* account-certain-kmem-allocations-to-memcg-checkpatch-fixes.patch
* mm-mlockc-drop-unneeded-initialization-in-munlock_vma_pages_range.patch
* mm-mmapc-remove-redundant-local-variables-for-may_expand_vm.patch
* mm-change-trace_mm_vmscan_writepage-proto-type.patch
* include-define-__phys_to_pfn-as-phys_pfn.patch
* include-define-__phys_to_pfn-as-phys_pfn-fix.patch
* include-define-__phys_to_pfn-as-phys_pfn-fix-2.patch
* mempolicy-convert-the-shared_policy-lock-to-a-rwlock.patch
* mempolicy-convert-the-shared_policy-lock-to-a-rwlock-fix.patch
* mempolicy-convert-the-shared_policy-lock-to-a-rwlock-fix-2.patch
* mm-page_isolation-return-last-tested-pfn-rather-than-failure-indicator.patch
* mm-page_isolation-add-new-tracepoint-test_pages_isolated.patch
* mm-cma-always-check-which-page-cause-allocation-failure.patch
* mm-cma-always-check-which-page-cause-allocation-failure-v2.patch
* mm-change-mm_vmscan_lru_shrink_inactive-proto-types.patch
* mm-hugetlb-is_file_hugepages-can-be-boolean.patch
* mm-memblock-memblock_is_memory-reserved-can-be-boolean.patch
* mm-lru-remove-unused-is_unevictable_lru-function.patch
* mm-zonelist-enumerate-zonelists-array-index.patch
* mm-zonelist-enumerate-zonelists-array-index-checkpatch-fixes.patch
* mm-zonelist-enumerate-zonelists-array-index-fix.patch
* mm-zonelist-enumerate-zonelists-array-index-fix-fix.patch
* mm-zonelist-enumerate-zonelists-array-index-fix-fix-fix.patch
* mm-get-rid-of-__alloc_pages_high_priority.patch
* mm-get-rid-of-__alloc_pages_high_priority-checkpatch-fixes.patch
* mm-do-not-loop-over-alloc_no_watermarks-without-triggering-reclaim.patch
* mm-vmalloc-use-list_nextfirst_entry.patch
* mm-mmzone-memmap_valid_within-can-be-boolean.patch
* mm-documentation-clarify-proc-pid-status-vmswap-limitations-for-shmem.patch
* mm-proc-account-for-shmem-swap-in-proc-pid-smaps.patch
* mm-proc-reduce-cost-of-proc-pid-smaps-for-shmem-mappings.patch
* mm-proc-reduce-cost-of-proc-pid-smaps-for-unpopulated-shmem-mappings.patch
* mm-shmem-add-internal-shmem-resident-memory-accounting.patch
* mm-procfs-breakdown-rss-for-anon-shmem-and-file-in-proc-pid-status.patch
* mm-thp-use-list_first_entry_or_null.patch
* tree-wide-use-kvfree-than-conditional-kfree-vfree.patch
* mm-vmalloc-remove-vm_vpages.patch
* vmscan-do-not-force-scan-file-lru-if-its-absolute-size-is-small.patch
* vmscan-do-not-force-scan-file-lru-if-its-absolute-size-is-small-v2.patch
* memcg-do-not-allow-to-disable-tcp-accounting-after-limit-is-set.patch
* fs-block_devc-bdev_write_page-use-blk_queue_enter-gfp_noio.patch
* mm-vmscan-consider-isolated-pages-in-zone_reclaimable_pages.patch
* mm-mmapc-remove-incorrect-map_fixed-flag-comparison-from-mmap_region.patch
* mm-mmap-add-new-proc-tunable-for-mmap_base-aslr.patch
* arm-mm-support-arch_mmap_rnd_bits.patch
* arm-mm-support-arch_mmap_rnd_bits-v7.patch
* arm64-mm-support-arch_mmap_rnd_bits.patch
* arm64-mm-support-arch_mmap_rnd_bits-fix.patch
* arm64-mm-support-arch_mmap_rnd_bits-v6.patch
* arm64-mm-support-arch_mmap_rnd_bits-v7.patch
* x86-mm-support-arch_mmap_rnd_bits.patch
* x86-mm-support-arch_mmap_rnd_bits-v7.patch
* mm-compaction-improve-comment-for-compact_memory-tunable-knob-handler.patch
* mm-allow-gfp_iofs-for-page_cache_read-page-cache-allocation.patch
* mm-page_alloc-generalize-the-dirty-balance-reserve.patch
* proc-meminfo-estimate-available-memory-more-conservatively.patch
* drivers-memory-clean-up-section-counting.patch
* drivers-memory-rename-remove_memory_block-to-remove_memory_section.patch
* mm-page_alloc-remove-unnecessary-parameter-from-__rmqueue.patch
* mm-page_allocc-use-list_firstlast_entry-instead-of-list_entry.patch
* mm-page_allocc-use-list_for_each_entry-in-mark_free_pages.patch
* mm-oom-give-__gfp_nofail-allocations-access-to-memory-reserves.patch
* mm-memblock-remove-rgnbase-and-rgnsize-variables.patch
* mm-memblock-introduce-for_each_memblock_type.patch
* mm-swapfilec-use-list_nextfirst_entry.patch
* mm-compaction-__compact_pgdat-code-cleanuup.patch
* mm-readaheadc-mm-vmscanc-use-lru_to_page-instead-of-list_to_page.patch
* mm-ksmc-use-list_for_each_entry_safe.patch
* mm-memcontrol-export-root_mem_cgroup.patch
* net-tcp_memcontrol-properly-detect-ancestor-socket-pressure.patch
* net-tcp_memcontrol-remove-bogus-hierarchy-pressure-propagation.patch
* net-tcp_memcontrol-protect-all-tcp_memcontrol-calls-by-jump-label.patch
* net-tcp_memcontrol-remove-dead-per-memcg-count-of-allocated-sockets.patch
* net-tcp_memcontrol-simplify-the-per-memcg-limit-access.patch
* net-tcp_memcontrol-sanitize-tcp-memory-accounting-callbacks.patch
* net-tcp_memcontrol-simplify-linkage-between-socket-and-page-counter.patch
* net-tcp_memcontrol-simplify-linkage-between-socket-and-page-counter-fix.patch
* mm-memcontrol-generalize-the-socket-accounting-jump-label.patch
* mm-memcontrol-do-not-account-memoryswap-on-unified-hierarchy.patch
* mm-memcontrol-move-socket-code-for-unified-hierarchy-accounting.patch
* mm-memcontrol-account-socket-memory-in-unified-hierarchy-memory-controller.patch
* mm-memcontrol-hook-up-vmpressure-to-socket-pressure.patch
* mm-memcontrol-switch-to-the-updated-jump-label-api.patch
* vmstat-make-vmstat_updater-deferrable-again-and-shut-down-on-idle.patch
* vmstat-make-vmstat_updater-deferrable-again-and-shut-down-on-idle-fix.patch
* ksm-introduce-ksm_max_page_sharing-per-page-deduplication-limit.patch
* ksm-introduce-ksm_max_page_sharing-per-page-deduplication-limit-fix-2.patch
* ksm-introduce-ksm_max_page_sharing-per-page-deduplication-limit-fix-3.patch
* mm-make-sure-isolate_lru_page-is-never-called-for-tail-page.patch
* mm-proc-pid-clear_refs-no-need-to-clear-vm_softdirty-in-clear_soft_dirty_pmd.patch
* mm-swapfilec-use-list_for_each_entry_safe-in-free_swap_count_continuations.patch
* hugetlb-make-mm-and-fs-code-explicitly-non-modular.patch
* memory-hotplug-dont-bug-in-register_memory_resource.patch
* documentation-describe-the-shared-memory-usage-accounting.patch
* mm-move-lru_to_page-to-mm_inlineh.patch
* mm-memblock-fix-ordering-of-flags-argument-in-comments.patch
* mm-calculate-zone_start_pfn-at-zone_spanned_pages_in_node.patch
* mm-introduce-kernelcore=mirror-option.patch
* mm-introduce-kernelcore=mirror-option-fix.patch
* mm-rework-virtual-memory-accounting.patch
* mm-fix-noisy-sparse-warning-in-libcfs_alloc_pre.patch
* mm-add-tracepoint-for-scanning-pages.patch
* mm-add-tracepoint-for-scanning-pages-fix.patch
* mm-make-optimistic-check-for-swapin-readahead.patch
* mm-make-optimistic-check-for-swapin-readahead-fix.patch
* mm-make-optimistic-check-for-swapin-readahead-fix-2.patch
* mm-fix-kernel-crash-in-khugepaged-thread.patch
* mm-make-swapin-readahead-to-improve-thp-collapse-rate.patch
* mm-make-swapin-readahead-to-improve-thp-collapse-rate-fix.patch
* mm-make-swapin-readahead-to-improve-thp-collapse-rate-fix-2.patch
* mm-make-swapin-readahead-to-improve-thp-collapse-rate-fix-3.patch
* zram-zcomp-use-gfp_noio-to-allocate-streams.patch
* zram-try-vmalloc-after-kmalloc.patch
* zram-pass-gfp-from-zcomp-frontend-to-backend.patch
* zram-zcomp-do-not-zero-out-zcomp-private-pages.patch
* mm-zbud-use-list_last_entry-instead-of-list_tail_entry.patch
* zsmalloc-reorganize-struct-size_class-to-pack-4-bytes-hole.patch
* page-flags-trivial-cleanup-for-pagetrans-helpers.patch
* page-flags-move-code-around.patch
* page-flags-introduce-page-flags-policies-wrt-compound-pages.patch
* page-flags-introduce-page-flags-policies-wrt-compound-pages-fix.patch
* page-flags-introduce-page-flags-policies-wrt-compound-pages-fix-fix.patch
* page-flags-introduce-page-flags-policies-wrt-compound-pages-fix-3.patch
* page-flags-define-pg_locked-behavior-on-compound-pages.patch
* page-flags-define-pg_locked-behavior-on-compound-pages-fix.patch
* page-flags-define-behavior-of-fs-io-related-flags-on-compound-pages.patch
* page-flags-define-behavior-of-lru-related-flags-on-compound-pages.patch
* page-flags-define-behavior-slb-related-flags-on-compound-pages.patch
* page-flags-define-behavior-of-xen-related-flags-on-compound-pages.patch
* page-flags-define-pg_reserved-behavior-on-compound-pages.patch
* page-flags-define-pg_reserved-behavior-on-compound-pages-fix.patch
* page-flags-define-pg_swapbacked-behavior-on-compound-pages.patch
* page-flags-define-pg_swapcache-behavior-on-compound-pages.patch
* page-flags-define-pg_mlocked-behavior-on-compound-pages.patch
* page-flags-define-pg_uncached-behavior-on-compound-pages.patch
* page-flags-define-pg_uptodate-behavior-on-compound-pages.patch
* page-flags-look-at-head-page-if-the-flag-is-encoded-in-page-mapping.patch
* mm-sanitize-page-mapping-for-tail-pages.patch
* page-flags-drop-__testclearpage-helpers.patch
* mm-proc-adjust-pss-calculation.patch
* rmap-add-argument-to-charge-compound-page.patch
* rmap-add-argument-to-charge-compound-page-fix.patch
* memcg-adjust-to-support-new-thp-refcounting.patch
* mm-thp-adjust-conditions-when-we-can-reuse-the-page-on-wp-fault.patch
* mm-adjust-foll_split-for-new-refcounting.patch
* mm-handle-pte-mapped-tail-pages-in-gerneric-fast-gup-implementaiton.patch
* thp-mlock-do-not-allow-huge-pages-in-mlocked-area.patch
* khugepaged-ignore-pmd-tables-with-thp-mapped-with-ptes.patch
* thp-rename-split_huge_page_pmd-to-split_huge_pmd.patch
* mm-vmstats-new-thp-splitting-event.patch
* mm-temporally-mark-thp-broken.patch
* thp-drop-all-split_huge_page-related-code.patch
* mm-drop-tail-page-refcounting.patch
* futex-thp-remove-special-case-for-thp-in-get_futex_key.patch
* futex-thp-remove-special-case-for-thp-in-get_futex_key-fix.patch
* ksm-prepare-to-new-thp-semantics.patch
* mm-thp-remove-compound_lock.patch
* arm64-thp-remove-infrastructure-for-handling-splitting-pmds.patch
* arm-thp-remove-infrastructure-for-handling-splitting-pmds.patch
* arm-thp-remove-infrastructure-for-handling-splitting-pmds-fix.patch
* mips-thp-remove-infrastructure-for-handling-splitting-pmds.patch
* powerpc-thp-remove-infrastructure-for-handling-splitting-pmds.patch
* s390-thp-remove-infrastructure-for-handling-splitting-pmds.patch
* sparc-thp-remove-infrastructure-for-handling-splitting-pmds.patch
* tile-thp-remove-infrastructure-for-handling-splitting-pmds.patch
* x86-thp-remove-infrastructure-for-handling-splitting-pmds.patch
* mm-thp-remove-infrastructure-for-handling-splitting-pmds.patch
* mm-thp-remove-infrastructure-for-handling-splitting-pmds-fix.patch
* mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps.patch
* mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps-fix.patch
* mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps-fix-2.patch
* mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps-fix-3.patch
* mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps-fix-4.patch
* mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps-fix-5.patch
* mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps-fix-5-fix.patch
* mm-differentiate-page_mapped-from-page_mapcount-for-compound-pages.patch
* mm-numa-skip-pte-mapped-thp-on-numa-fault.patch
* thp-implement-split_huge_pmd.patch
* thp-add-option-to-setup-migration-entries-during-pmd-split.patch
* thp-mm-split_huge_page-caller-need-to-lock-page.patch
* mm-hwpoison-adjust-for-new-thp-refcounting.patch
* mm-hwpoison-adjust-for-new-thp-refcounting-fix.patch
* thp-reintroduce-split_huge_page.patch
* thp-reintroduce-split_huge_page-fix-2.patch
* thp-reintroduce-split_huge_page-fix-3.patch
* thp-reintroduce-split_huge_page-fix-4.patch
* migrate_pages-try-to-split-pages-on-qeueuing.patch
* thp-introduce-deferred_split_huge_page.patch
* thp-introduce-deferred_split_huge_page-fix.patch
* mm-re-enable-thp.patch
* thp-update-documentation.patch
* thp-allow-mlocked-thp-again.patch
* thp-allow-mlocked-thp-again-fix.patch
* thp-allow-mlocked-thp-again-fix-2.patch
* mm-prepare-page_referenced-and-page_idle-to-new-thp-refcounting.patch
* mm-prepare-page_referenced-and-page_idle-to-new-thp-refcounting-fix.patch
* mm-prepare-page_referenced-and-page_idle-to-new-thp-refcounting-checkpatch-fixes.patch
* mm-prepare-page_referenced-and-page_idle-to-new-thp-refcounting-fix-fix.patch
* mm-prepare-page_referenced-and-page_idle-to-new-thp-refcounting-fix-fix-fix.patch
* thp-add-debugfs-handle-to-split-all-huge-pages.patch
* thp-increase-split_huge_page-success-rate.patch
* thp-increase-split_huge_page-success-rate-fix.patch
* mm-add-page_check_address_transhuge-helper.patch
* mm-add-page_check_address_transhuge-helper-fix.patch
* mm-add-page_check_address_transhuge-helper-fix-fix.patch
* mm-debug-fix-wrongly-filtered-flags-in-dump_vma.patch
* mm-debug-fix-wrongly-filtered-flags-in-dump_vma-fix.patch
* mm-page_owner-print-symbolic-migratetype-of-both-page-and-pageblock.patch
* mm-page_owner-convert-page_owner_inited-to-static-key.patch
* mm-page_owner-copy-page-owner-info-during-migration.patch
* mm-page_owner-track-and-print-last-migrate-reason.patch
* mm-page_owner-track-and-print-last-migrate-reason-fix.patch
* mm-debug-introduce-dump_gfpflag_names-for-symbolic-printing-of-gfp_flags.patch
* mm-page_owner-dump-page-owner-info-from-dump_page.patch
* mm-page_owner-dump-page-owner-info-from-dump_page-fix.patch
* mm-page_alloc-print-symbolic-gfp_flags-on-allocation-failure.patch
* mm-oom-print-symbolic-gfp_flags-in-oom-warning.patch
* mm-printk-introduce-new-format-string-for-flags.patch
* mm-printk-introduce-new-format-string-for-flags-fix.patch
* mm-printk-introduce-new-format-string-for-flags-fix-2.patch
* mm-page_owner-provide-symbolic-page-flags-and-gfp_flags.patch
* mm-debug-move-bad-flags-printing-to-bad_page.patch
* mm-support-madvisemadv_free.patch
* mm-support-madvisemadv_free-fix.patch
* mm-support-madvisemadv_free-fix-2.patch
* mm-support-madvisemadv_free-fix-2-fix.patch
* mm-define-madv_free-for-some-arches.patch
* arch-uapi-asm-mmanh-let-madv_free-have-same-value-for-all-architectures.patch
* arch-uapi-asm-mmanh-let-madv_free-have-same-value-for-all-architectures-fix.patch
* arch-uapi-asm-mmanh-let-madv_free-have-same-value-for-all-architectures-fix-fix-2.patch
* arch-uapi-asm-mmanh-let-madv_free-have-same-value-for-all-architectures-fix-fix-2-fix-3.patch
* arch-uapi-asm-mmanh-let-madv_free-have-same-value-for-all-architectures-fix-fix-2-fix-4.patch
* mm-free-swp_entry-in-madvise_free.patch
* mm-move-lazily-freed-pages-to-inactive-list.patch
* mm-mark-stable-page-dirty-in-ksm.patch
* x86-add-pmd_-for-thp.patch
* sparc-add-pmd_-for-thp.patch
* powerpc-add-pmd_-for-thp.patch
* arm-add-pmd_mkclean-for-thp.patch
* arm64-add-pmd_mkclean-for-thp.patch
* mm-dont-split-thp-page-when-syscall-is-called.patch
* pmem-dax-clean-up-clear_pmem.patch
* dax-increase-granularity-of-dax_clear_blocks-operations.patch
* dax-guarantee-page-aligned-results-from-bdev_direct_access.patch
* dax-fix-lifetime-of-in-kernel-dax-mappings-with-dax_map_atomic.patch
* dax-fix-lifetime-of-in-kernel-dax-mappings-with-dax_map_atomic-v3.patch
* mm-dax-fix-livelock-allow-dax-pmd-mappings-to-become-writeable.patch
* dax-split-pmd-map-when-fallback-on-cow.patch
* um-kill-pfn_t.patch
* kvm-rename-pfn_t-to-kvm_pfn_t.patch
* mm-dax-pmem-introduce-pfn_t.patch
* mm-skip-memory-block-registration-for-zone_device.patch
* mm-introduce-find_dev_pagemap.patch
* x86-mm-introduce-vmem_altmap-to-augment-vmemmap_populate.patch
* libnvdimm-pfn-pmem-allocate-memmap-array-in-persistent-memory.patch
* avr32-convert-to-asm-generic-memory_modelh.patch
* hugetlb-fix-compile-error-on-tile.patch
* frv-fix-compiler-warning-from-definition-of-__pmd.patch
* x86-mm-introduce-_page_devmap.patch
* mm-dax-gpu-convert-vm_insert_mixed-to-pfn_t.patch
* mm-dax-convert-vmf_insert_pfn_pmd-to-pfn_t.patch
* libnvdimm-pmem-move-request_queue-allocation-earlier-in-probe.patch
* mm-dax-pmem-introduce-getput_dev_pagemap-for-dax-gup.patch
* mm-dax-dax-pmd-vs-thp-pmd-vs-hugetlbfs-pmd.patch
* mm-dax-dax-pmd-vs-thp-pmd-vs-hugetlbfs-pmd-fix.patch
* mm-dax-dax-pmd-vs-thp-pmd-vs-hugetlbfs-pmd-v5.patch
* mm-dax-dax-pmd-vs-thp-pmd-vs-hugetlbfs-pmd-v5-fix.patch
* mm-x86-get_user_pages-for-dax-mappings.patch
* mm-x86-get_user_pages-for-dax-mappings-v5.patch
* dax-provide-diagnostics-for-pmd-mapping-failures.patch
* dax-re-enable-dax-pmd-mappings.patch
* mm-oom-rework-oom-detection.patch
* mm-oom-rework-oom-detection-checkpatch-fixes.patch
* mm-throttle-on-io-only-when-there-are-too-many-dirty-and-writeback-pages.patch
* mm-use-watermak-checks-for-__gfp_repeat-high-order-allocations.patch
* mm-use-watermak-checks-for-__gfp_repeat-high-order-allocations-checkpatch-fixes.patch
* sched-add-schedule_timeout_idle.patch
* mm-oom-introduce-oom-reaper.patch
* mm-oom-introduce-oom-reaper-fix.patch
* mm-oom-introduce-oom-reaper-fix-fix.patch
* mm-oom-introduce-oom-reaper-fix-fix-2.patch
* mm-oom-introduce-oom-reaper-checkpatch-fixes.patch
* mm-oom-introduce-oom-reaper-fix-3.patch
* mm-oom-introduce-oom-reaper-fix-4.patch
* mm-oom-introduce-oom-reaper-fix-4-fix.patch
* mm-oom-introduce-oom-reaper-fix-5.patch
* mm-oom-introduce-oom-reaper-fix-5-fix.patch
* mm-oom-introduce-oom-reaper-fix-6.patch
* mmoom-exclude-tif_memdie-processes-from-candidates.patch
* proc-add-a-reschedule-point-in-proc_readfd_common.patch
* um-fix-build-error-and-kconfig-for-i386.patch
* use-poison_pointer_delta-for-poison-pointers.patch
* include-kernelh-change-abs-macro-so-it-uses-consistent-return-type.patch
* fs-statc-drop-the-last-new_valid_dev-check.patch
* include-linux-kdev_th-remove-new_valid_dev.patch
* kconfig-remove-have_latencytop_support.patch
* errh-add-missing-unlikely-to-is_err_or_null.patch
* uselib-default-depending-if-libc5-was-used.patch
* kernel-stop_machinec-remove-config_smp-dependencies.patch
* kernel-stop_machinec-remove-config_smp-dependencies-fix.patch
* kernel-hung_taskc-use-timeout-diff-when-timeout-is-updated.patch
* asm-sections-add-helpers-to-check-for-section-data.patch
* printk-only-unregister-boot-consoles-when-necessary.patch
* printk-do-cond_resched-between-lines-while-outputting-to-consoles.patch
* lib-vsprintfc-pull-out-padding-code-from-dentry_name.patch
* lib-vsprintfc-move-string-below-widen_string.patch
* lib-vsprintfc-eliminate-potential-race-in-string.patch
* lib-vsprintfc-expand-field_width-to-24-bits.patch
* lib-vsprintfc-expand-field_width-to-24-bits-fix.patch
* lib-vsprintfc-help-gcc-make-number-smaller.patch
* lib-vsprintfc-warn-about-too-large-precisions-and-field-widths.patch
* lib-kasprintfc-add-sanity-check-to-kvasprintf.patch
* lib-test_printfc-dont-bug.patch
* lib-test_printfc-check-for-out-of-bound-writes.patch
* lib-test_printfc-test-precision-quirks.patch
* lib-test_printfc-add-a-few-number-tests.patch
* lib-test_printfc-account-for-kvasprintf-tests.patch
* lib-test_printfc-add-test-for-large-bitmaps.patch
* lib-test_printfc-test-dentry-printing.patch
* lib-test_printfc-test-dentry-printing-fix.patch
* printk-help-pr_debug-and-pr_devel-to-optimize-out-arguments.patch
* printk-help-pr_debug-and-pr_devel-to-optimize-out-arguments-fix.patch
* printk-formatstxt-remove-unimplemented-%pt.patch
* printk-nmi-generic-solution-for-safe-printk-in-nmi.patch
* printk-nmi-generic-solution-for-safe-printk-in-nmi-v4.patch
* printk-nmi-generic-solution-for-safe-printk-in-nmi-v4-fix.patch
* printk-nmi-generic-solution-for-safe-printk-in-nmi-v4-fix-fix.patch
* printk-nmi-use-irq-work-only-when-ready.patch
* printk-nmi-warn-when-some-message-has-been-lost-in-nmi-context.patch
* printk-nmi-warn-when-some-message-has-been-lost-in-nmi-context-fix.patch
* printk-nmi-increase-the-size-of-nmi-buffer-and-make-it-configurable.patch
* printk-nmi-increase-the-size-of-nmi-buffer-and-make-it-configurable-fix.patch
* printk-nmi-increase-the-size-of-nmi-buffer-and-make-it-configurable-fix-2.patch
* lib-vsprintf-refactor-duplicate-code-to-special_hex_number.patch
* lib-vsprintf-factor-out-%pn-handler-as-netdev_bits.patch
* string_helpers-fix-precision-loss-for-some-inputs.patch
* frv-io-accept-const-void-pointers-for-readbwl.patch
* lib-iomap_copy-add-__ioread32_copy.patch
* soc-qcom-smd-use-__ioread32_copy-instead-of-open-coding-it.patch
* firmware-bcm47xx_nvram-use-__ioread32_copy-instead-of-open-coding.patch
* test_hexdump-rename-to-test_hexdump.patch
* test_hexdump-introduce-test_hexdump_prepare_test-helper.patch
* test_hexdump-define-fill_char-constant.patch
* test_hexdump-go-through-all-possible-lengths-of-buffer.patch
* test_hexdump-replace-magic-numbers-by-their-meaning.patch
* test_hexdump-switch-to-memcmp.patch
* test_hexdump-check-all-bytes-in-real-buffer.patch
* test_hexdump-test-all-possible-group-sizes-for-overflow.patch
* test_hexdump-print-statistics-at-the-end.patch
* lib-radix_tree-fix-error-in-docs-about-locks.patch
* lib-clz_tabc-put-in-lib-y-rather-than-obj-y.patch
* mm-utilc-add-kstrimdup.patch
* lib-add-crc64-ecma-module.patch
* checkpatch-warn-when-casting-constants-to-c90-int-or-longer-types.patch
* checkpatch-improve-macros-with-flow-control-test.patch
* checkpatch-fix-a-number-of-complex_macro-false-positives.patch
* epoll-add-epollexclusive-flag.patch
* init-mainc-obsolete_checksetup-can-be-boolean.patch
* init-do_mounts-initrd_load-can-be-boolean.patch
* dmi_scan-uuid-fix-endianess-for-smbios-=-0x206.patch
* hfs-use-list_for_each_entry-in-hfs_cat_delete.patch
* fat-allow-time_offset-to-be-upto-24-hours.patch
* fat-add-simple-validation-for-directory-inode.patch
* fat-add-fat_fallocate-operation.patch
* fat-skip-cluster-allocation-on-fallocated-region.patch
* fat-permit-to-return-phy-block-number-by-fibmap-in-fallocated-region.patch
* documentation-filesystems-vfattxt-update-the-limitation-for-fat-fallocate.patch
* fat-constify-fatent_operations-structures.patch
* ptrace-make-wait_on_bitjobctl_trapping_bit-in-ptrace_attach-killable.patch
* ptrace-task_stopped_codeptrace-=-true-cant-see-task_stopped-task.patch
* ptrace-task_stopped_codeptrace-=-true-cant-see-task_stopped-task-fix.patch
* security-let-security-modules-use-ptrace_mode_-with-bitmasks.patch
* ptrace-use-fsuid-fsgid-effective-creds-for-fs-access-checks.patch
* ptrace-use-fsuid-fsgid-effective-creds-for-fs-access-checks-fix.patch
* exit-remove-unneeded-declaration-of-exit_mm.patch
* powerpc-fadump-rename-cpu_online_mask-member-of-struct-fadump_crash_info_header.patch
* kernel-cpuc-change-type-of-cpu_possible_bits-and-friends.patch
* kernel-cpuc-export-__cpu__mask.patch
* drivers-base-cpuc-use-__cpu__mask-directly.patch
* kernel-cpuc-eliminate-cpu__mask.patch
* kernel-cpuc-make-set_cpu_-static-inlines.patch
* kexec-set-kexec_type_crash-before-sanity_check_segment_list.patch
* kexec-use-list_for_each_entry_safe-in-kimage_free_page_list.patch
* kexec-move-some-memembers-and-definitions-within-the-scope-of-config_kexec_file.patch
* kexec-introduce-a-protection-mechanism-for-the-crashkernel-reserved-memory.patch
* kexec-provide-arch_kexec_protectunprotect_crashkres.patch
* kdump-vmcoreinfo-report-actual-value-of-phys_base.patch
* sysctl-enable-strict-writes.patch
* fs-affs-replace-time_t-with-time64_t.patch
* kernel-printk-specify-alignment-for-struct-printk_log.patch
* mac80211-prevent-build-failure-with-config_ubsan=y.patch
* ubsan-run-time-undefined-behavior-sanity-checker.patch
* ubsan-run-time-undefined-behavior-sanity-checker-fix.patch
* ubsan-run-time-undefined-behavior-sanity-checker-fix-2.patch
* ubsan-run-time-undefined-behavior-sanity-checker-fix-3.patch
* ubsan-run-time-undefined-behavior-sanity-checker-fix-4.patch
* powerpc-enable-ubsan-support.patch
* powerpc-enable-ubsan-support-fix.patch
* lz4-fix-wrong-compress-buffer-size-for-64-bits.patch
* ipc-shm-is_file_shm_hugepages-can-be-boolean.patch
* ipc-msgc-msgsnd-use-freezable-blocking-call.patch
* msgrcv-use-freezable-blocking-call.patch
linux-next.patch
linux-next-rejects.patch
linux-next-git-rejects.patch
* include-linux-propertyh-fix-build-issues-with-gcc-444.patch
* fs-overlayfs-superc-needs-pagemaph.patch
* fs-adfs-adfsh-tidy-up-comments.patch
* iio-core-introduce-iio-configfs-support.patch
* iio-core-introduce-iio-software-triggers.patch
* iio-core-introduce-iio-software-triggers-fix.patch
* iio-trigger-introduce-iio-hrtimer-based-trigger.patch
* iio-documentation-add-iio-configfs-documentation.patch
* dma-mapping-make-the-generic-coherent-dma-mmap-implementation-optional.patch
* arc-convert-to-dma_map_ops.patch
* arc-convert-to-dma_map_ops-fix.patch
* arc-convert-to-dma_map_ops-fix-2.patch
* avr32-convert-to-dma_map_ops.patch
* blackfin-convert-to-dma_map_ops.patch
* c6x-convert-to-dma_map_ops.patch
* c6x-convert-to-dma_map_ops-fix.patch
* c6x-convert-to-dma_map_ops-fix-2.patch
* cris-convert-to-dma_map_ops.patch
* nios2-convert-to-dma_map_ops.patch
* nios2-convert-to-dma_map_ops-fix.patch
* frv-convert-to-dma_map_ops.patch
* parisc-convert-to-dma_map_ops.patch
* mn10300-convert-to-dma_map_ops.patch
* m68k-convert-to-dma_map_ops.patch
* metag-convert-to-dma_map_ops.patch
* sparc-use-generic-dma_set_mask.patch
* tile-uninline-dma_set_mask.patch
* dma-mapping-always-provide-the-dma_map_ops-based-implementation.patch
* dma-mapping-always-provide-the-dma_map_ops-based-implementation-fix.patch
* dma-mapping-remove-asm-generic-dma-coherenth.patch
* dma-mapping-use-offset_in_page-macro.patch
* memstick-use-sector_div-instead-of-do_div.patch
* mm-memcontrol-drop-unused-css-argument-in-memcg_init_kmem.patch
* mm-memcontrol-remove-double-kmem-page_counter-init.patch
* mm-memcontrol-give-the-kmem-states-more-descriptive-names.patch
* mm-memcontrol-group-kmem-init-and-exit-functions-together.patch
* mm-memcontrol-separate-kmem-code-from-legacy-tcp-accounting-code.patch
* mm-memcontrol-move-kmem-accounting-code-to-config_memcg.patch
* mm-memcontrol-move-kmem-accounting-code-to-config_memcg-v2.patch
* mm-memcontrol-move-kmem-accounting-code-to-config_memcg-fix.patch
* mm-memcontrol-account-kmem-consumers-in-cgroup2-memory-controller.patch
* mm-memcontrol-allow-to-disable-kmem-accounting-for-cgroup2.patch
* mm-memcontrol-introduce-config_memcg_legacy_kmem.patch
* mm-memcontrol-introduce-config_memcg_legacy_kmem-fix.patch
* net-drop-tcp_memcontrolc.patch
* net-drop-tcp_memcontrolc-fix.patch
* mm-memcontrol-reign-in-the-config-space-madness.patch
* mm-memcontrol-reign-in-the-config-space-madness-fix.patch
* mm-memcontrol-reign-in-the-config-space-madness-fix-fix.patch
* mm-memcontrol-flatten-struct-cg_proto.patch
* mm-memcontrol-clean-up-alloc-online-offline-free-functions.patch
* mm-memcontrol-clean-up-alloc-online-offline-free-functions-fix.patch
* mm-memcontrol-clean-up-alloc-online-offline-free-functions-fix-2.patch
* mm-memcontrol-charge-swap-to-cgroup2.patch
* mm-vmscan-pass-memcg-to-get_scan_count.patch
* mm-memcontrol-replace-mem_cgroup_lruvec_online-with-mem_cgroup_online.patch
* swaph-move-memcg-related-stuff-to-the-end-of-the-file.patch
* mm-vmscan-do-not-scan-anon-pages-if-memcg-swap-limit-is-hit.patch
* mm-free-swap-cache-aggressively-if-memcg-swap-is-full.patch
* documentation-cgroup-add-memoryswapcurrentmax-description.patch
* maintainers-add-git-url-for-apm-driver.patch
* maintainers-add-git-url-for-at91.patch
* maintainers-add-git-url-for-rockchip.patch
* maintainers-add-git-url-for-arm64.patch
* maintainers-add-git-url-for-ath6kl.patch
* maintainers-add-git-url-for-backlight.patch
* maintainers-add-git-url-for-chrome.patch
* maintainers-add-git-url-for-cris.patch
* maintainers-add-git-url-for-cryptodev.patch
* maintainers-add-git-url-for-devfreq.patch
* maintainers-update-git-url-for-dlm.patch
* maintainers-add-git-url-for-ecryptfs.patch
* maintainers-add-git-url-for-ext4.patch
* maintainers-add-git-url-for-hwspinlock.patch
* maintainers-add-git-url-for-integrity.patch
* maintainers-add-git-url-for-ipvs.patch
* maintainers-add-git-url-for-nfsd.patch
* maintainers-add-git-url-for-kvm-s390.patch
* maintainers-add-git-url-for-kgdb.patch
* maintainers-add-git-url-for-nvdimm.patch
* maintainers-add-git-url-for-metag.patch
* maintainers-add-git-url-for-wireless-drivers.patch
* maintainers-add-git-url-for-devicetree.patch
* maintainers-update-git-url-for-pcmcia.patch
* maintainers-update-git-url-for-pstore.patch
* maintainers-update-git-url-for-ath10k.patch
* maintainers-add-git-url-for-hexagon.patch
* maintainers-add-git-url-for-reset.patch
* maintainers-add-git-url-for-s390.patch
* maintainers-fix-tree-format-for-samsung-thermal.patch
* maintainers-add-git-url-for-md.patch
* maintainers-add-git-url-for-squashfs.patch
* maintainers-add-git-url-for-swiotlb.patch
* maintainers-add-git-url-for-xtensa.patch
* maintainers-fix-tree-format-for-tpm.patch
* maintainers-add-git-url-for-uml.patch
* maintainers-add-git-url-for-vfio.patch
* maintainers-add-git-url-for-vhost.patch
* maintainers-update-git-url-for-xfs.patch
* pmem-add-wb_cache_pmem-to-the-pmem-api.patch
* pmem-add-wb_cache_pmem-to-the-pmem-api-v6.patch
* dax-support-dirty-dax-entries-in-radix-tree.patch
* dax-support-dirty-dax-entries-in-radix-tree-v6.patch
* mm-add-find_get_entries_tag.patch
* dax-add-support-for-fsync-sync.patch
* dax-add-support-for-fsync-sync-v6.patch
* ext2-call-dax_pfn_mkwrite-for-dax-fsync-msync.patch
* ext4-call-dax_pfn_mkwrite-for-dax-fsync-msync.patch
* xfs-call-dax_pfn_mkwrite-for-dax-fsync-msync.patch
mm-add-strictlimit-knob-v2.patch
do_shared_fault-check-that-mmap_sem-is-held.patch
make-sure-nobodys-leaking-resources.patch
releasing-resources-with-children.patch
make-frame_pointer-default=y.patch
kernel-forkc-export-kernel_thread-to-modules.patch
mutex-subsystem-synchro-test-module.patch
slab-leaks3-default-y.patch
add-debugging-aid-for-memory-initialisation-problems.patch
workaround-for-a-pci-restoring-bug.patch
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
^ permalink raw reply
* Re: HDLCD tree for linux-next
From: Stephen Rothwell @ 2015-12-30 22:00 UTC (permalink / raw)
To: Liviu Dudau; +Cc: linux-next, linux-kernel, Dave Airlie, dri-devel
In-Reply-To: <20151223143022.GY960@e106497-lin.cambridge.arm.com>
Hi Liviu,
On Wed, 23 Dec 2015 14:30:23 +0000 Liviu Dudau <Liviu.Dudau@arm.com> wrote:
>
> I would like to add the HDLCD DRM driver tree to linux-next. I'm planning
> to send a pull request for inclusion into v4.5 and I hope that getting a
> wider exposure for a few weeks is beneficial.
>
> Please add the following git tree:
>
> git://linux-arm.org/linux-ld for-upstream/hdlcd
>
> It is based on Dave Airlie's drm-next tree as of 23rd of December.
Added from today (though there may not be a release until Monday).
Thanks for adding your subsystem tree as a participant of linux-next. As
you may know, this is not a judgment of your code. The purpose of
linux-next is for integration testing and to lower the impact of
conflicts between subsystems in the next merge window.
You will need to ensure that the patches/commits in your tree/series have
been:
* submitted under GPL v2 (or later) and include the Contributor's
Signed-off-by,
* posted to the relevant mailing list,
* reviewed by you (or another maintainer of your subsystem tree),
* successfully unit tested, and
* destined for the current or next Linux merge window.
Basically, this should be just what you would send to Linus (or ask him
to fetch). It is allowed to be rebased if you deem it necessary.
--
Cheers,
Stephen Rothwell
sfr@canb.auug.org.au
^ permalink raw reply
* Re: [PATCH v2 1/3] device property: add spaces to PROPERTY_ENTRY_STRING macro
From: Rafael J. Wysocki @ 2015-12-30 1:49 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Stephen Rothwell, linux-next, akpm, linux-kernel, heikki.krogerus,
linux-acpi
In-Reply-To: <1451301853.30729.326.camel@linux.intel.com>
On Monday, December 28, 2015 01:24:13 PM Andy Shevchenko wrote:
> On Mon, 2015-12-28 at 02:12 +0100, Rafael J. Wysocki wrote:
> > On Wednesday, December 23, 2015 03:34:42 PM Andy Shevchenko wrote:
> > > Just a style fix, no functional changes.
> > >
> > > To be folded to Andrew's patch.
> >
> > What patch?
>
> In linux-next from Andrew:
>
> e39ece7 include-linux-propertyh-fix-build-issues-with-gcc-444-fix
> 40bb8a1 include/linux/property.h: fix build issues with gcc-4.4.4
Any pointers to the original patch submission(s)?
Thanks,
Rafael
^ permalink raw reply
* Re: [PATCH v2 1/3] device property: add spaces to PROPERTY_ENTRY_STRING macro
From: Andrew Morton @ 2015-12-30 1:44 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: Andy Shevchenko, Stephen Rothwell, linux-next, linux-kernel,
heikki.krogerus, linux-acpi
In-Reply-To: <1850926.j60LlceTNY@vostro.rjw.lan>
On Wed, 30 Dec 2015 03:06:23 +0100 "Rafael J. Wysocki" <rjw@rjwysocki.net> wrote:
> I'll apply it to my tree if you don't mind with the Andy's [1/3] on top
> so we have all of that in one place.
That version needed a fix. Here's the one to apply:
From: Andrew Morton <akpm@linux-foundation.org>
Subject: include/linux/property.h: fix build issues with gcc-4.4.4
gcc-4.4.4 has problems with initialization of anonymous unions:
drivers/mfd/intel-lpss-acpi.c:30: error: unknown field 'value' specified in initializer
work around this by crafting the initializers in a manner which the
compiler can handle.
Cc: Kevin Fenzi <kevin@scrye.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/property.h | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff -puN include/linux/property.h~include-linux-propertyh-fix-build-issues-with-gcc-444 include/linux/property.h
--- a/include/linux/property.h~include-linux-propertyh-fix-build-issues-with-gcc-444
+++ a/include/linux/property.h
@@ -175,12 +175,19 @@ struct property_entry {
};
};
+/*
+ * Note: the below four initializers for the anonymous union are carefully
+ * crafted to avoid gcc-4.4.4's problems with initialization of anon unions
+ * and structs.
+ */
+
#define PROPERTY_ENTRY_INTEGER_ARRAY(_name_, _type_, _val_) \
{ \
.name = _name_, \
.length = ARRAY_SIZE(_val_) * sizeof(_type_), \
.is_array = true, \
- .pointer._type_##_data = _val_, \
+ .is_string = false, \
+ { .pointer = { _type_##_data = _val_ } }, \
}
#define PROPERTY_ENTRY_U8_ARRAY(_name_, _val_) \
@@ -198,14 +205,15 @@ struct property_entry {
.length = ARRAY_SIZE(_val_) * sizeof(const char *), \
.is_array = true, \
.is_string = true, \
- .pointer.str = _val_, \
+ { .pointer = { .str = _val_ } }, \
}
#define PROPERTY_ENTRY_INTEGER(_name_, _type_, _val_) \
{ \
.name = _name_, \
.length = sizeof(_type_), \
- .value._type_##_data = _val_, \
+ .is_string = false, \
+ { .value = { ._type_##_data = _val_ } }, \
}
#define PROPERTY_ENTRY_U8(_name_, _val_) \
@@ -222,7 +230,7 @@ struct property_entry {
.name = _name_, \
.length = sizeof(_val_), \
.is_string = true, \
- .value.str = _val_, \
+ { .value = {.str = _val_} }, \
}
#define PROPERTY_ENTRY_BOOL(_name_) \
_
^ permalink raw reply
* Re: [PATCH v2 1/3] device property: add spaces to PROPERTY_ENTRY_STRING macro
From: Andy Shevchenko @ 2015-12-30 1:43 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: Andrew Morton, Andy Shevchenko, Stephen Rothwell, linux-next,
linux-kernel@vger.kernel.org, Krogerus, Heikki,
linux-acpi@vger.kernel.org
In-Reply-To: <1850926.j60LlceTNY@vostro.rjw.lan>
On Wed, Dec 30, 2015 at 4:06 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> On Tuesday, December 29, 2015 05:24:53 PM Andrew Morton wrote:
>> On Wed, 30 Dec 2015 02:49:26 +0100 "Rafael J. Wysocki" <rjw@rjwysocki.net> wrote:
>>
>> > On Monday, December 28, 2015 01:24:13 PM Andy Shevchenko wrote:
>> > > On Mon, 2015-12-28 at 02:12 +0100, Rafael J. Wysocki wrote:
>> > > > On Wednesday, December 23, 2015 03:34:42 PM Andy Shevchenko wrote:
>> > > > > Just a style fix, no functional changes.
>> > > > >
>> > > > > To be folded to Andrew's patch.
>> > > >
>> > > > What patch?
>> > >
>> > > In linux-next from Andrew:
>> > >
>> > > e39ece7 include-linux-propertyh-fix-build-issues-with-gcc-444-fix
>> > > 40bb8a1 include/linux/property.h: fix build issues with gcc-4.4.4
>> >
>> > Any pointers to the original patch submission(s)?
>>
>> I think it was discussed in some followup to something else, I forget.
>>
>> This:
>>
>> From: Andrew Morton <akpm@linux-foundation.org>
>> Subject: include/linux/property.h: fix build issues with gcc-4.4.4
>
> OK, thanks!
>
> I'll apply it to my tree if you don't mind with the Andy's [1/3] on top
> so we have all of that in one place.
Be aware that there are actually _two_ patches from Andrew and _one_
from me to be all folded together.
I think there is no need to have 3 of them.
>
> Thanks,
> Rafael
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply
* Re: [PATCH v2 1/3] device property: add spaces to PROPERTY_ENTRY_STRING macro
From: Rafael J. Wysocki @ 2015-12-30 2:06 UTC (permalink / raw)
To: Andrew Morton
Cc: Andy Shevchenko, Stephen Rothwell, linux-next, linux-kernel,
heikki.krogerus, linux-acpi
In-Reply-To: <20151229172453.b8bf71ef.akpm@linux-foundation.org>
On Tuesday, December 29, 2015 05:24:53 PM Andrew Morton wrote:
> On Wed, 30 Dec 2015 02:49:26 +0100 "Rafael J. Wysocki" <rjw@rjwysocki.net> wrote:
>
> > On Monday, December 28, 2015 01:24:13 PM Andy Shevchenko wrote:
> > > On Mon, 2015-12-28 at 02:12 +0100, Rafael J. Wysocki wrote:
> > > > On Wednesday, December 23, 2015 03:34:42 PM Andy Shevchenko wrote:
> > > > > Just a style fix, no functional changes.
> > > > >
> > > > > To be folded to Andrew's patch.
> > > >
> > > > What patch?
> > >
> > > In linux-next from Andrew:
> > >
> > > e39ece7 include-linux-propertyh-fix-build-issues-with-gcc-444-fix
> > > 40bb8a1 include/linux/property.h: fix build issues with gcc-4.4.4
> >
> > Any pointers to the original patch submission(s)?
>
> I think it was discussed in some followup to something else, I forget.
>
> This:
>
> From: Andrew Morton <akpm@linux-foundation.org>
> Subject: include/linux/property.h: fix build issues with gcc-4.4.4
OK, thanks!
I'll apply it to my tree if you don't mind with the Andy's [1/3] on top
so we have all of that in one place.
Thanks,
Rafael
^ permalink raw reply
* Re: [PATCH v2 1/3] device property: add spaces to PROPERTY_ENTRY_STRING macro
From: Andy Shevchenko @ 2015-12-30 1:29 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: Andy Shevchenko, Stephen Rothwell, linux-next, Andrew Morton,
linux-kernel@vger.kernel.org, Krogerus, Heikki,
linux-acpi@vger.kernel.org
In-Reply-To: <1627434.AfSeGfofYv@vostro.rjw.lan>
On Wed, Dec 30, 2015 at 3:49 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> On Monday, December 28, 2015 01:24:13 PM Andy Shevchenko wrote:
>> On Mon, 2015-12-28 at 02:12 +0100, Rafael J. Wysocki wrote:
>> > On Wednesday, December 23, 2015 03:34:42 PM Andy Shevchenko wrote:
>> > > Just a style fix, no functional changes.
>> > >
>> > > To be folded to Andrew's patch.
>> >
>> > What patch?
>>
>> In linux-next from Andrew:
>>
>> e39ece7 include-linux-propertyh-fix-build-issues-with-gcc-444-fix
>> 40bb8a1 include/linux/property.h: fix build issues with gcc-4.4.4
>
> Any pointers to the original patch submission(s)?
Yes, I found one [1] and added to v3 of this patch [2]
[1] http://comments.gmane.org/gmane.linux.kernel.commits.mm/97592
[2] http://www.spinics.net/lists/kernel/msg2151801.html
>
> Thanks,
> Rafael
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply
* Re: [PATCH v2 1/3] device property: add spaces to PROPERTY_ENTRY_STRING macro
From: Andrew Morton @ 2015-12-30 1:24 UTC (permalink / raw)
To: Rafael J. Wysocki
Cc: Andy Shevchenko, Stephen Rothwell, linux-next, linux-kernel,
heikki.krogerus, linux-acpi
In-Reply-To: <1627434.AfSeGfofYv@vostro.rjw.lan>
On Wed, 30 Dec 2015 02:49:26 +0100 "Rafael J. Wysocki" <rjw@rjwysocki.net> wrote:
> On Monday, December 28, 2015 01:24:13 PM Andy Shevchenko wrote:
> > On Mon, 2015-12-28 at 02:12 +0100, Rafael J. Wysocki wrote:
> > > On Wednesday, December 23, 2015 03:34:42 PM Andy Shevchenko wrote:
> > > > Just a style fix, no functional changes.
> > > >
> > > > To be folded to Andrew's patch.
> > >
> > > What patch?
> >
> > In linux-next from Andrew:
> >
> > e39ece7 include-linux-propertyh-fix-build-issues-with-gcc-444-fix
> > 40bb8a1 include/linux/property.h: fix build issues with gcc-4.4.4
>
> Any pointers to the original patch submission(s)?
I think it was discussed in some followup to something else, I forget.
This:
From: Andrew Morton <akpm@linux-foundation.org>
Subject: include/linux/property.h: fix build issues with gcc-4.4.4
gcc-4.4.4 has problems with initialization of anonymous unions:
drivers/mfd/intel-lpss-acpi.c:30: error: unknown field 'value' specified in initializer
work around this by crafting the initializers in a manner which the
compiler can handle.
Cc: Kevin Fenzi <kevin@scrye.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
include/linux/property.h | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff -puN include/linux/property.h~include-linux-propertyh-fix-build-issues-with-gcc-444 include/linux/property.h
--- a/include/linux/property.h~include-linux-propertyh-fix-build-issues-with-gcc-444
+++ a/include/linux/property.h
@@ -175,12 +175,19 @@ struct property_entry {
};
};
+/*
+ * Note: the below four initializers for the anonymous union are carefully
+ * crafted to avoid gcc-4.4.4's problems with initialization of anon unions
+ * and structs.
+ */
+
#define PROPERTY_ENTRY_INTEGER_ARRAY(_name_, _type_, _val_) \
{ \
.name = _name_, \
.length = ARRAY_SIZE(_val_) * sizeof(_type_), \
.is_array = true, \
- .pointer._type_##_data = _val_, \
+ .is_string = false, \
+ { .pointer = _type_##_data = _val_ } }, \
}
#define PROPERTY_ENTRY_U8_ARRAY(_name_, _val_) \
@@ -198,14 +205,15 @@ struct property_entry {
.length = ARRAY_SIZE(_val_) * sizeof(const char *), \
.is_array = true, \
.is_string = true, \
- .pointer.str = _val_, \
+ { .pointer = { .str = _val_ } }, \
}
#define PROPERTY_ENTRY_INTEGER(_name_, _type_, _val_) \
{ \
.name = _name_, \
.length = sizeof(_type_), \
- .value._type_##_data = _val_, \
+ .is_string = false, \
+ { .value = { ._type_##_data = _val_ } }, \
}
#define PROPERTY_ENTRY_U8(_name_, _val_) \
@@ -222,7 +230,7 @@ struct property_entry {
.name = _name_, \
.length = sizeof(_val_), \
.is_string = true, \
- .value.str = _val_, \
+ { .value = {.str = _val_} }, \
}
#define PROPERTY_ENTRY_BOOL(_name_) \
_
^ permalink raw reply
* [PATCH v3 0/3] device property: post merge fixes
From: Andy Shevchenko @ 2015-12-29 11:07 UTC (permalink / raw)
To: Stephen Rothwell, linux-next, akpm, linux-kernel, heikki.krogerus,
Rafael J . Wysocki, linux-acpi
Cc: Andy Shevchenko
Three fixes to device property API.
Patch 1 is a simple style fix to be folded into previous Andrew's patch to
allow old gcc to build (see commit message for the details).
There is a crash in linux-next
BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
IP: [<ffffffff8145e8a6>] fwnode_property_present+0x16/0x30
Check for fwnode pointer before dereference (patch 2).
Patch 3 prevents to allocate buffers with 0 length (the result maybe surprising
to someone).
Changelog v3:
- fix typo in Heikki's patch (patch 2)
- update commit message for patch 1 to explain what is the fixup for
Changelog v2:
- added patches 2 and 3
Andy Shevchenko (2):
device property: add spaces to PROPERTY_ENTRY_STRING macro
device property: avoid allocations of 0 length
Heikki Krogerus (1):
device property: the secondary fwnode needs to depend on the primary
drivers/base/property.c | 14 ++++++++++----
include/linux/property.h | 2 +-
2 files changed, 11 insertions(+), 5 deletions(-)
--
2.6.4
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox