All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 4.19 1/3] ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary
@ 2019-11-27  7:22 Lee Jones
  2019-11-27  7:22 ` [PATCH 4.19 2/3] media: siano: Use kmemdup instead of duplicating its function Lee Jones
  2019-11-27  7:22 ` [PATCH 4.19 3/3] ocfs2: remove ocfs2_is_o2cb_active() Lee Jones
  0 siblings, 2 replies; 6+ messages in thread
From: Lee Jones @ 2019-11-27  7:22 UTC (permalink / raw)
  To: stable

From: Chester Lin <clin@suse.com>

[ Upstream commit 1d31999cf04c21709f72ceb17e65b54a401330da ]

adjust_lowmem_bounds() checks every memblocks in order to find the boundary
between lowmem and highmem. However some memblocks could be marked as NOMAP
so they are not used by kernel, which should be skipped while calculating
the boundary.

Signed-off-by: Chester Lin <clin@suse.com>
Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 arch/arm/mm/mmu.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 70e560cf8ca0..d8cbe772f690 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -1195,6 +1195,9 @@ void __init adjust_lowmem_bounds(void)
 		phys_addr_t block_start = reg->base;
 		phys_addr_t block_end = reg->base + reg->size;
 
+		if (memblock_is_nomap(reg))
+			continue;
+
 		if (reg->base < vmalloc_limit) {
 			if (block_end > lowmem_limit)
 				/*
-- 
2.24.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4.19 2/3] media: siano: Use kmemdup instead of duplicating its function
  2019-11-27  7:22 [PATCH 4.19 1/3] ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary Lee Jones
@ 2019-11-27  7:22 ` Lee Jones
  2019-11-27  7:58   ` Greg KH
  2019-11-27  7:22 ` [PATCH 4.19 3/3] ocfs2: remove ocfs2_is_o2cb_active() Lee Jones
  1 sibling, 1 reply; 6+ messages in thread
From: Lee Jones @ 2019-11-27  7:22 UTC (permalink / raw)
  To: stable

From: Wen Yang <wen.yang99@zte.com.cn>

[ Upstream commit 0f4bb10857e22a657e6c8cca5d1d54b641e94628 ]

kmemdup has implemented the function that kmalloc() + memcpy().
We prefer to kmemdup rather than code opened implementation.

This issue was detected with the help of coccinelle.

Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
CC: Tomoki Sekiyama <tomoki.sekiyama@gmail.com>
CC: linux-kernel@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/media/usb/siano/smsusb.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c
index 3071d9bc77f4..38ea773eac97 100644
--- a/drivers/media/usb/siano/smsusb.c
+++ b/drivers/media/usb/siano/smsusb.c
@@ -225,10 +225,9 @@ static int smsusb_sendrequest(void *context, void *buffer, size_t size)
 		return -ENOENT;
 	}
 
-	phdr = kmalloc(size, GFP_KERNEL);
+	phdr = kmemdup(buffer, size, GFP_KERNEL);
 	if (!phdr)
 		return -ENOMEM;
-	memcpy(phdr, buffer, size);
 
 	pr_debug("sending %s(%d) size: %d\n",
 		  smscore_translate_msg(phdr->msg_type), phdr->msg_type,
-- 
2.24.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4.19 3/3] ocfs2: remove ocfs2_is_o2cb_active()
  2019-11-27  7:22 [PATCH 4.19 1/3] ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary Lee Jones
  2019-11-27  7:22 ` [PATCH 4.19 2/3] media: siano: Use kmemdup instead of duplicating its function Lee Jones
@ 2019-11-27  7:22 ` Lee Jones
  1 sibling, 0 replies; 6+ messages in thread
From: Lee Jones @ 2019-11-27  7:22 UTC (permalink / raw)
  To: stable

From: Gang He <ghe@suse.com>

[ Upstream commit a634644751c46238df58bbfe992e30c1668388db ]

Remove ocfs2_is_o2cb_active().  We have similar functions to identify
which cluster stack is being used via osb->osb_cluster_stack.

Secondly, the current implementation of ocfs2_is_o2cb_active() is not
totally safe.  Based on the design of stackglue, we need to get
ocfs2_stack_lock before using ocfs2_stack related data structures, and
that active_stack pointer can be NULL in the case of mount failure.

Link: http://lkml.kernel.org/r/1495441079-11708-1-git-send-email-ghe@suse.com
Signed-off-by: Gang He <ghe@suse.com>
Reviewed-by: Joseph Qi <jiangqi903@gmail.com>
Reviewed-by: Eric Ren <zren@suse.com>
Acked-by: Changwei Ge <ge.changwei@h3c.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 fs/ocfs2/dlmglue.c   | 2 +-
 fs/ocfs2/stackglue.c | 6 ------
 fs/ocfs2/stackglue.h | 3 ---
 3 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c
index 933aac5da193..178cb9e6772a 100644
--- a/fs/ocfs2/dlmglue.c
+++ b/fs/ocfs2/dlmglue.c
@@ -3603,7 +3603,7 @@ static int ocfs2_downconvert_lock(struct ocfs2_super *osb,
 	 * we can recover correctly from node failure. Otherwise, we may get
 	 * invalid LVB in LKB, but without DLM_SBF_VALNOTVALID being set.
 	 */
-	if (!ocfs2_is_o2cb_active() &&
+	if (ocfs2_userspace_stack(osb) &&
 	    lockres->l_ops->flags & LOCK_TYPE_USES_LVB)
 		lvb = 1;
 
diff --git a/fs/ocfs2/stackglue.c b/fs/ocfs2/stackglue.c
index d6c350ba25b9..c4b029c43464 100644
--- a/fs/ocfs2/stackglue.c
+++ b/fs/ocfs2/stackglue.c
@@ -48,12 +48,6 @@ static char ocfs2_hb_ctl_path[OCFS2_MAX_HB_CTL_PATH] = "/sbin/ocfs2_hb_ctl";
  */
 static struct ocfs2_stack_plugin *active_stack;
 
-inline int ocfs2_is_o2cb_active(void)
-{
-	return !strcmp(active_stack->sp_name, OCFS2_STACK_PLUGIN_O2CB);
-}
-EXPORT_SYMBOL_GPL(ocfs2_is_o2cb_active);
-
 static struct ocfs2_stack_plugin *ocfs2_stack_lookup(const char *name)
 {
 	struct ocfs2_stack_plugin *p;
diff --git a/fs/ocfs2/stackglue.h b/fs/ocfs2/stackglue.h
index e3036e1790e8..f2dce10fae54 100644
--- a/fs/ocfs2/stackglue.h
+++ b/fs/ocfs2/stackglue.h
@@ -298,9 +298,6 @@ void ocfs2_stack_glue_set_max_proto_version(struct ocfs2_protocol_version *max_p
 int ocfs2_stack_glue_register(struct ocfs2_stack_plugin *plugin);
 void ocfs2_stack_glue_unregister(struct ocfs2_stack_plugin *plugin);
 
-/* In ocfs2_downconvert_lock(), we need to know which stack we are using */
-int ocfs2_is_o2cb_active(void);
-
 extern struct kset *ocfs2_kset;
 
 #endif  /* STACKGLUE_H */
-- 
2.24.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 4.19 2/3] media: siano: Use kmemdup instead of duplicating its function
  2019-11-27  7:22 ` [PATCH 4.19 2/3] media: siano: Use kmemdup instead of duplicating its function Lee Jones
@ 2019-11-27  7:58   ` Greg KH
  2019-11-27  9:52     ` Lee Jones
  0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2019-11-27  7:58 UTC (permalink / raw)
  To: Lee Jones; +Cc: stable

On Wed, Nov 27, 2019 at 07:22:09AM +0000, Lee Jones wrote:
> From: Wen Yang <wen.yang99@zte.com.cn>
> 
> [ Upstream commit 0f4bb10857e22a657e6c8cca5d1d54b641e94628 ]
> 
> kmemdup has implemented the function that kmalloc() + memcpy().
> We prefer to kmemdup rather than code opened implementation.
> 
> This issue was detected with the help of coccinelle.
> 
> Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
> CC: Tomoki Sekiyama <tomoki.sekiyama@gmail.com>
> CC: linux-kernel@vger.kernel.org
> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>  drivers/media/usb/siano/smsusb.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c
> index 3071d9bc77f4..38ea773eac97 100644
> --- a/drivers/media/usb/siano/smsusb.c
> +++ b/drivers/media/usb/siano/smsusb.c
> @@ -225,10 +225,9 @@ static int smsusb_sendrequest(void *context, void *buffer, size_t size)
>  		return -ENOENT;
>  	}
>  
> -	phdr = kmalloc(size, GFP_KERNEL);
> +	phdr = kmemdup(buffer, size, GFP_KERNEL);
>  	if (!phdr)
>  		return -ENOMEM;
> -	memcpy(phdr, buffer, size);
>  
>  	pr_debug("sending %s(%d) size: %d\n",
>  		  smscore_translate_msg(phdr->msg_type), phdr->msg_type,
> -- 
> 2.24.0
> 

Why does this patch qualify for stable inclusion?



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 4.19 2/3] media: siano: Use kmemdup instead of duplicating its function
  2019-11-27  7:58   ` Greg KH
@ 2019-11-27  9:52     ` Lee Jones
  0 siblings, 0 replies; 6+ messages in thread
From: Lee Jones @ 2019-11-27  9:52 UTC (permalink / raw)
  To: Greg KH; +Cc: stable

On Wed, 27 Nov 2019, Greg KH wrote:

> On Wed, Nov 27, 2019 at 07:22:09AM +0000, Lee Jones wrote:
> > From: Wen Yang <wen.yang99@zte.com.cn>
> > 
> > [ Upstream commit 0f4bb10857e22a657e6c8cca5d1d54b641e94628 ]
> > 
> > kmemdup has implemented the function that kmalloc() + memcpy().
> > We prefer to kmemdup rather than code opened implementation.
> > 
> > This issue was detected with the help of coccinelle.
> > 
> > Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
> > CC: Tomoki Sekiyama <tomoki.sekiyama@gmail.com>
> > CC: linux-kernel@vger.kernel.org
> > Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> > Signed-off-by: Lee Jones <lee.jones@linaro.org>
> > ---
> >  drivers/media/usb/siano/smsusb.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c
> > index 3071d9bc77f4..38ea773eac97 100644
> > --- a/drivers/media/usb/siano/smsusb.c
> > +++ b/drivers/media/usb/siano/smsusb.c
> > @@ -225,10 +225,9 @@ static int smsusb_sendrequest(void *context, void *buffer, size_t size)
> >  		return -ENOENT;
> >  	}
> >  
> > -	phdr = kmalloc(size, GFP_KERNEL);
> > +	phdr = kmemdup(buffer, size, GFP_KERNEL);
> >  	if (!phdr)
> >  		return -ENOMEM;
> > -	memcpy(phdr, buffer, size);
> >  
> >  	pr_debug("sending %s(%d) size: %d\n",
> >  		  smscore_translate_msg(phdr->msg_type), phdr->msg_type,
> 
> Why does this patch qualify for stable inclusion?

I'm guessing this question is rhetorical. :)

Please drop the patch.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 4.19 2/3] media: siano: Use kmemdup instead of duplicating its function
  2019-11-26 13:47 [PATCH 4.19 1/3] ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary Lee Jones
@ 2019-11-26 13:47 ` Lee Jones
  0 siblings, 0 replies; 6+ messages in thread
From: Lee Jones @ 2019-11-26 13:47 UTC (permalink / raw)
  To: stable

From: Wen Yang <wen.yang99@zte.com.cn>

[ Upstream commit d1732e9fbadf5cb1e36cc3ee1e8dd8a0b7acca91 ]

kmemdup has implemented the function that kmalloc() + memcpy().
We prefer to kmemdup rather than code opened implementation.

This issue was detected with the help of coccinelle.

Signed-off-by: Wen Yang <wen.yang99@zte.com.cn>
CC: Tomoki Sekiyama <tomoki.sekiyama@gmail.com>
CC: linux-kernel@vger.kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
 drivers/media/usb/siano/smsusb.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c
index 3071d9bc77f4..38ea773eac97 100644
--- a/drivers/media/usb/siano/smsusb.c
+++ b/drivers/media/usb/siano/smsusb.c
@@ -225,10 +225,9 @@ static int smsusb_sendrequest(void *context, void *buffer, size_t size)
 		return -ENOENT;
 	}
 
-	phdr = kmalloc(size, GFP_KERNEL);
+	phdr = kmemdup(buffer, size, GFP_KERNEL);
 	if (!phdr)
 		return -ENOMEM;
-	memcpy(phdr, buffer, size);
 
 	pr_debug("sending %s(%d) size: %d\n",
 		  smscore_translate_msg(phdr->msg_type), phdr->msg_type,
-- 
2.24.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-11-27  9:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-27  7:22 [PATCH 4.19 1/3] ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary Lee Jones
2019-11-27  7:22 ` [PATCH 4.19 2/3] media: siano: Use kmemdup instead of duplicating its function Lee Jones
2019-11-27  7:58   ` Greg KH
2019-11-27  9:52     ` Lee Jones
2019-11-27  7:22 ` [PATCH 4.19 3/3] ocfs2: remove ocfs2_is_o2cb_active() Lee Jones
  -- strict thread matches above, loose matches on Subject: below --
2019-11-26 13:47 [PATCH 4.19 1/3] ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary Lee Jones
2019-11-26 13:47 ` [PATCH 4.19 2/3] media: siano: Use kmemdup instead of duplicating its function Lee Jones

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.