Re: getting allwinner SoC support upstream (was Re: Uploading linux (3.9.4-1))

2013-06-05 Thread Bastian Blank
On Wed, Jun 05, 2013 at 08:46:30PM +0100, Luke Kenneth Casson Leighton wrote:
>  to begin to describe the problem in getting allwinner soc source code
> upstream is this: not only do we have the usual "let's get it out the
> door as fast as possible" learning curve of a very young, very new and
> bewilderingly-successful fabless SoC company, but we also have a
> completely new type of very successful and comprehensive
> device-tree-like dynamic configuration system to deal with, which
> allwinner have called "fex" [*1].

IBM for example pushs the code into the kernel before the silicon is
even finished. Once a driver was removed because the project was
scrapped before it reached the customers. Arm did the same for the 64bit
variant of the architecture.

Are the turn around times for the allwinner SoC stuff really shorter
then two kernel releases?

>  basically at the time when device-tree was being thought of,
> allwinner needed something that they could *right then* - not waiting
> for developers to finish device-tree - they needed to be able to
> reconfigure their customer's kernels *without* needing a recompile.
> so they invented the script.fex system, which is a simple config.ini
> file-format, compile it to binary, and get the bootloader to upload it
> to memory and read it.

So it was invented over five years ago? What did you do in the last two
years since it was finished in all its glory?

> what's the point of mentioning this?

Obviously nothing, as the decision stands.

> well, the point is: the expectation of the linux kernel developers is
> that Everyone Must Convert To DeviceTree.  implicitly behind that is,
> i believe, an expectation that if you *don't* convert to Device Tree,
> you can kiss upstream submission goodbye.  and, in allwinner's case,
> that's simply not going to happen.

Yes. Our project, our rules. If you don't like them, go away.

> add to this the fact that they've already taken *five* near-identical
> copies of each version of their drivers (for sun3i up to sun7i) - if
> you do a recursive diff in the drivers/usb/sun7i_usb and
> drivers/usb/sun4i_usb directories, the discrepancies are negligeable
> (and are in many cases a regression, reintroducing known or new
> bugs!), you can start to see that they simply have no idea how to work
> with the free software community (they're too busy) and that they're
> not really about to start, either.

Send patches as everyone else.

Bastian

-- 
I've already got a female to worry about.  Her name is the Enterprise.
-- Kirk, "The Corbomite Maneuver", stardate 1514.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: getting allwinner SoC support upstream (was Re: Uploading linux (3.9.4-1))

2013-06-05 Thread Bastian Blank
On Wed, Jun 05, 2013 at 08:46:30PM +0100, Luke Kenneth Casson Leighton wrote:
  to begin to describe the problem in getting allwinner soc source code
 upstream is this: not only do we have the usual let's get it out the
 door as fast as possible learning curve of a very young, very new and
 bewilderingly-successful fabless SoC company, but we also have a
 completely new type of very successful and comprehensive
 device-tree-like dynamic configuration system to deal with, which
 allwinner have called fex [*1].

IBM for example pushs the code into the kernel before the silicon is
even finished. Once a driver was removed because the project was
scrapped before it reached the customers. Arm did the same for the 64bit
variant of the architecture.

Are the turn around times for the allwinner SoC stuff really shorter
then two kernel releases?

  basically at the time when device-tree was being thought of,
 allwinner needed something that they could *right then* - not waiting
 for developers to finish device-tree - they needed to be able to
 reconfigure their customer's kernels *without* needing a recompile.
 so they invented the script.fex system, which is a simple config.ini
 file-format, compile it to binary, and get the bootloader to upload it
 to memory and read it.

So it was invented over five years ago? What did you do in the last two
years since it was finished in all its glory?

 what's the point of mentioning this?

Obviously nothing, as the decision stands.

 well, the point is: the expectation of the linux kernel developers is
 that Everyone Must Convert To DeviceTree.  implicitly behind that is,
 i believe, an expectation that if you *don't* convert to Device Tree,
 you can kiss upstream submission goodbye.  and, in allwinner's case,
 that's simply not going to happen.

Yes. Our project, our rules. If you don't like them, go away.

 add to this the fact that they've already taken *five* near-identical
 copies of each version of their drivers (for sun3i up to sun7i) - if
 you do a recursive diff in the drivers/usb/sun7i_usb and
 drivers/usb/sun4i_usb directories, the discrepancies are negligeable
 (and are in many cases a regression, reintroducing known or new
 bugs!), you can start to see that they simply have no idea how to work
 with the free software community (they're too busy) and that they're
 not really about to start, either.

Send patches as everyone else.

Bastian

-- 
I've already got a female to worry about.  Her name is the Enterprise.
-- Kirk, The Corbomite Maneuver, stardate 1514.0
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 07/13] Initialize per cpu lowcores on cpu hotplug.

2008-02-20 Thread Bastian Blank
On Wed, Feb 20, 2008 at 10:45:52AM +0100, Heiko Carstens wrote:
> - copy_page(lowcore, _lowcore);
> + memcpy(lowcore, _lowcore, 512);

Okay

>   memset((void *)lowcore + 512, 0, sizeof(*lowcore) - 512);

Not completely okay. void pointer are not allowed in arithmetic. gcc
handles void * as char * in this case, but I think it should usualy be
avoided.

Bastian

-- 
Peace was the way.
-- Kirk, "The City on the Edge of Forever", stardate unknown
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 07/13] Initialize per cpu lowcores on cpu hotplug.

2008-02-20 Thread Bastian Blank
On Wed, Feb 20, 2008 at 10:45:52AM +0100, Heiko Carstens wrote:
 - copy_page(lowcore, S390_lowcore);
 + memcpy(lowcore, S390_lowcore, 512);

Okay

   memset((void *)lowcore + 512, 0, sizeof(*lowcore) - 512);

Not completely okay. void pointer are not allowed in arithmetic. gcc
handles void * as char * in this case, but I think it should usualy be
avoided.

Bastian

-- 
Peace was the way.
-- Kirk, The City on the Edge of Forever, stardate unknown
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 07/13] Initialize per cpu lowcores on cpu hotplug.

2008-02-19 Thread Bastian Blank
On Tue, Feb 19, 2008 at 03:40:54PM +0100, Martin Schwidefsky wrote:
> + /*
> +  * Only need to copy the first 512 bytes from address 0. But since
> +  * the compiler emits a warning if src == NULL for memcpy use copy_page
> +  * instead. Copies more than needed but this code is not performance
> +  * critical.
> +  */
> + copy_page(lowcore, _lowcore);

Boah, workaround alert. Why do you not fix the compiler?

Bastian

-- 
We fight only when there is no other choice.  We prefer the ways of
peaceful contact.
-- Kirk, "Spectre of the Gun", stardate 4385.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 07/13] Initialize per cpu lowcores on cpu hotplug.

2008-02-19 Thread Bastian Blank
On Tue, Feb 19, 2008 at 03:40:54PM +0100, Martin Schwidefsky wrote:
 + /*
 +  * Only need to copy the first 512 bytes from address 0. But since
 +  * the compiler emits a warning if src == NULL for memcpy use copy_page
 +  * instead. Copies more than needed but this code is not performance
 +  * critical.
 +  */
 + copy_page(lowcore, S390_lowcore);

Boah, workaround alert. Why do you not fix the compiler?

Bastian

-- 
We fight only when there is no other choice.  We prefer the ways of
peaceful contact.
-- Kirk, Spectre of the Gun, stardate 4385.3
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] splice: fix user pointer access in get_iovec_page_array()

2008-02-10 Thread Bastian Blank
On Sun, Feb 10, 2008 at 04:47:57PM +0200, Pekka J Enberg wrote:
> From: Bastian Blank <[EMAIL PROTECTED]>
> 
> The commit 8811930dc74a503415b35c4a79d14fb0b408a361 ("splice: missing user
> pointer access verification") added access_ok() to copy_from_user_mmap_sem()
> which only ensures we can copy the struct iovecs from userspace to the kernel
> but we also must check whether we can access the actual memory region pointed
> to by the struct iovec to close the local root exploit.
> 
> Cc: <[EMAIL PROTECTED]>
> Cc: Jens Axboe <[EMAIL PROTECTED]>
> Cc: Andrew Morton <[EMAIL PROTECTED]>
> Signed-off-by: Pekka Enberg <[EMAIL PROTECTED]>
Signed-off-by: Bastian Blank <[EMAIL PROTECTED]>

> Index: linux-2.6/fs/splice.c
> ===
> --- linux-2.6.orig/fs/splice.c
> +++ linux-2.6/fs/splice.c
> @@ -1237,6 +1237,9 @@ static int get_iovec_page_array(const st
>   if (unlikely(!base))
>   break;
>  
> + if (unlikely(!access_ok(VERIFY_READ, base, len)))
> + break;
> +
>   /*
>* Get this base offset and number of pages, then map
>* in the user pages.

-- 
Those who hate and fight must stop themselves -- otherwise it is not stopped.
-- Spock, "Day of the Dove", stardate unknown


signature.asc
Description: Digital signature


Re: [PATCH] kernel 2.6.24.1 still vulnerable to the vmsplice local root exploit

2008-02-10 Thread Bastian Blank
On Sun, Feb 10, 2008 at 12:39:05PM +, Niki Denev wrote:
> This patch is against 2.6.24.1 which has already the fix to vmsplice_to_user
> With it i can't exploit the hole, and it is returns "invalid address"

This is the vmsplice_to_pipe path and I have many reports that it is not
fixed.

Bastian

-- 
If there are self-made purgatories, then we all have to live in them.
-- Spock, "This Side of Paradise", stardate 3417.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] kernel 2.6.24.1 still vulnerable to the vmsplice local root exploit

2008-02-10 Thread Bastian Blank
On Sun, Feb 10, 2008 at 04:40:53AM -0500, Niki Denev wrote:
> this fixed the problem for me (kernel 2.6.24.1) :
> It appears that the initial patch checked the input to vmsplice_to_user,
> but the exploit used vmsplice_to_pipe which remained open to the attack.

This patch is broken. It opens the old hole again.

> @@ -1450,6 +1454,31 @@
>   .ops = _page_pipe_buf_ops,
>   };
> 
> + error = ret = 0;
> +
> + /*
> +  * Get user address base and length for this iovec.
> +  */
> + error = get_user(base, >iov_base);
> + if (unlikely(error))
> + return error;
> + error = get_user(len, >iov_len);
> + if (unlikely(error))
> + return error;

iov is unchecked.

> + if (unlikely(!access_ok(VERIFY_WRITE, base, len))) {
> + return -EFAULT;
> + }

Use VERIFY_READ and this only checks the first entry.

I checked the following patch and it at least fixes the known exploit.

diff --git a/fs/splice.c b/fs/splice.c
index 14e2262..80beb2b 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -1237,6 +1237,11 @@ static int get_iovec_page_array(const struct iovec 
__user *iov,
if (unlikely(!base))
break;
 
+   if (!access_ok(VERIFY_READ, base, len)) {
+   error = -EFAULT;
+   break;
+   }
+
/*
 * Get this base offset and number of pages, then map
 * in the user pages.
-- 
Even historians fail to learn from history -- they repeat the same mistakes.
-- John Gill, "Patterns of Force", stardate 2534.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] kernel 2.6.24.1 still vulnerable to the vmsplice local root exploit

2008-02-10 Thread Bastian Blank
On Sun, Feb 10, 2008 at 04:40:53AM -0500, Niki Denev wrote:
 this fixed the problem for me (kernel 2.6.24.1) :
 It appears that the initial patch checked the input to vmsplice_to_user,
 but the exploit used vmsplice_to_pipe which remained open to the attack.

This patch is broken. It opens the old hole again.

 @@ -1450,6 +1454,31 @@
   .ops = user_page_pipe_buf_ops,
   };
 
 + error = ret = 0;
 +
 + /*
 +  * Get user address base and length for this iovec.
 +  */
 + error = get_user(base, iov-iov_base);
 + if (unlikely(error))
 + return error;
 + error = get_user(len, iov-iov_len);
 + if (unlikely(error))
 + return error;

iov is unchecked.

 + if (unlikely(!access_ok(VERIFY_WRITE, base, len))) {
 + return -EFAULT;
 + }

Use VERIFY_READ and this only checks the first entry.

I checked the following patch and it at least fixes the known exploit.

diff --git a/fs/splice.c b/fs/splice.c
index 14e2262..80beb2b 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -1237,6 +1237,11 @@ static int get_iovec_page_array(const struct iovec 
__user *iov,
if (unlikely(!base))
break;
 
+   if (!access_ok(VERIFY_READ, base, len)) {
+   error = -EFAULT;
+   break;
+   }
+
/*
 * Get this base offset and number of pages, then map
 * in the user pages.
-- 
Even historians fail to learn from history -- they repeat the same mistakes.
-- John Gill, Patterns of Force, stardate 2534.7
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] kernel 2.6.24.1 still vulnerable to the vmsplice local root exploit

2008-02-10 Thread Bastian Blank
On Sun, Feb 10, 2008 at 12:39:05PM +, Niki Denev wrote:
 This patch is against 2.6.24.1 which has already the fix to vmsplice_to_user
 With it i can't exploit the hole, and it is returns invalid address

This is the vmsplice_to_pipe path and I have many reports that it is not
fixed.

Bastian

-- 
If there are self-made purgatories, then we all have to live in them.
-- Spock, This Side of Paradise, stardate 3417.7
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] splice: fix user pointer access in get_iovec_page_array()

2008-02-10 Thread Bastian Blank
On Sun, Feb 10, 2008 at 04:47:57PM +0200, Pekka J Enberg wrote:
 From: Bastian Blank [EMAIL PROTECTED]
 
 The commit 8811930dc74a503415b35c4a79d14fb0b408a361 (splice: missing user
 pointer access verification) added access_ok() to copy_from_user_mmap_sem()
 which only ensures we can copy the struct iovecs from userspace to the kernel
 but we also must check whether we can access the actual memory region pointed
 to by the struct iovec to close the local root exploit.
 
 Cc: [EMAIL PROTECTED]
 Cc: Jens Axboe [EMAIL PROTECTED]
 Cc: Andrew Morton [EMAIL PROTECTED]
 Signed-off-by: Pekka Enberg [EMAIL PROTECTED]
Signed-off-by: Bastian Blank [EMAIL PROTECTED]

 Index: linux-2.6/fs/splice.c
 ===
 --- linux-2.6.orig/fs/splice.c
 +++ linux-2.6/fs/splice.c
 @@ -1237,6 +1237,9 @@ static int get_iovec_page_array(const st
   if (unlikely(!base))
   break;
  
 + if (unlikely(!access_ok(VERIFY_READ, base, len)))
 + break;
 +
   /*
* Get this base offset and number of pages, then map
* in the user pages.

-- 
Those who hate and fight must stop themselves -- otherwise it is not stopped.
-- Spock, Day of the Dove, stardate unknown


signature.asc
Description: Digital signature


Re: [PATCH] Remove old definition of setup_per_cpu_areas

2008-02-01 Thread Bastian Blank
On Fri, Feb 01, 2008 at 09:16:15PM +0100, Bastian Blank wrote:
> Remove old definition of setup_per_cpu_areas.

This was completely wrong. Lets try it again.

Adopt x86 percpu changes for powerpc and ia64.

dd5af90a7f3d79e04b7eace9a98644dbf2038f4d replaced the config variable
ARCH_SETS_UP_PER_CPU_AREA with HAVE_SETUP_PER_CPU_AREA and moved
percpu_modcopy into kernel/module.c.

Do the same for ia64 and powerpc.

| init/main.c:376: error: static declaration of ‘setup_per_cpu_areas’ follows 
non-static declaration
| include/asm/percpu.h:33: error: previous declaration of ‘setup_per_cpu_areas’ 
was here

Signed-off-by: Bastian Blank <[EMAIL PROTECTED]>

diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 5a41e75..c9307c9 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -80,7 +80,7 @@ config GENERIC_TIME_VSYSCALL
bool
default y
 
-config ARCH_SETS_UP_PER_CPU_AREA
+config HAVE_SETUP_PER_CPU_AREA
def_bool y
 
 config DMI
diff --git a/arch/ia64/kernel/module.c b/arch/ia64/kernel/module.c
index e699eb6..bbcdcfd 100644
--- a/arch/ia64/kernel/module.c
+++ b/arch/ia64/kernel/module.c
@@ -941,13 +941,3 @@ module_arch_cleanup (struct module *mod)
unw_remove_unwind_table(mod->arch.core_unw_table);
 }
 
-#ifdef CONFIG_SMP
-void
-percpu_modcopy (void *pcpudst, const void *src, unsigned long size)
-{
-   unsigned int i;
-   for_each_possible_cpu(i) {
-   memcpy(pcpudst + per_cpu_offset(i), src, size);
-   }
-}
-#endif /* CONFIG_SMP */
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index fb85f6b..bb16443 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -42,7 +42,7 @@ config GENERIC_HARDIRQS
bool
default y
 
-config ARCH_SETS_UP_PER_CPU_AREA
+config HAVE_SETUP_PER_CPU_AREA
def_bool PPC64
 
 config IRQ_PER_CPU
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index 26f5791..73fc05d 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -66,7 +66,7 @@ config AUDIT_ARCH
bool
default y
 
-config ARCH_SETS_UP_PER_CPU_AREA
+config HAVE_SETUP_PER_CPU_AREA
def_bool y
 
 config ARCH_NO_VIRT_TO_BUS
diff --git a/include/asm-ia64/percpu.h b/include/asm-ia64/percpu.h
index 0095bcf..a4af49f 100644
--- a/include/asm-ia64/percpu.h
+++ b/include/asm-ia64/percpu.h
@@ -38,8 +38,9 @@ DECLARE_PER_CPU(unsigned long, local_per_cpu_offset);
 #define __get_cpu_var(var) (*RELOC_HIDE(_cpu__##var, 
__ia64_per_cpu_var(local_per_cpu_offset)))
 #define __raw_get_cpu_var(var) (*RELOC_HIDE(_cpu__##var, 
__ia64_per_cpu_var(local_per_cpu_offset)))
 
-extern void percpu_modcopy(void *pcpudst, const void *src, unsigned long size);
+#ifdef CONFIG_HAVE_SETUP_PER_CPU_AREA
 extern void setup_per_cpu_areas (void);
+#endif
 extern void *per_cpu_init(void);
 
 #else /* ! SMP */
diff --git a/include/asm-powerpc/percpu.h b/include/asm-powerpc/percpu.h
index cc1cbf6..ea8cbb7 100644
--- a/include/asm-powerpc/percpu.h
+++ b/include/asm-powerpc/percpu.h
@@ -21,16 +21,9 @@
 #define __get_cpu_var(var) (*RELOC_HIDE(_cpu__##var, __my_cpu_offset()))
 #define __raw_get_cpu_var(var) (*RELOC_HIDE(_cpu__##var, 
local_paca->data_offset))
 
-/* A macro to avoid #include hell... */
-#define percpu_modcopy(pcpudst, src, size) \
-do {   \
-   unsigned int __i;   \
-   for_each_possible_cpu(__i)  \
-   memcpy((pcpudst)+__per_cpu_offset(__i), \
-  (src), (size));  \
-} while (0)
-
+#ifdef CONFIG_HAVE_SETUP_PER_CPU_AREA
 extern void setup_per_cpu_areas(void);
+#endif
 
 #else /* ! SMP */
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Fix ext4 bitops

2008-02-01 Thread Bastian Blank
On Fri, Feb 01, 2008 at 12:22:57PM -0800, Andrew Morton wrote:
> On Fri, 1 Feb 2008 21:02:08 +0100
> Bastian Blank <[EMAIL PROTECTED]> wrote:
> 
> > Fix ext4 bitops.
> 
> This is incomplete.  Please tell us what was "fixed".
> 
> If it was a build error then please quote the compile error output in the
> changelog, as well as the usual description of what the problem is, and how
> it was fixed.

| fs/ext4/mballoc.c: In function 'ext4_mb_generate_buddy':
| fs/ext4/mballoc.c:954: error: implicit declaration of function 
'generic_find_next_le_bit'

The s390 specific bitops uses parts of the generic implementation.
Include the correct header.

> > diff --git a/include/asm-s390/bitops.h b/include/asm-s390/bitops.h
> > index dba6fec..47844fc 100644
> > --- a/include/asm-s390/bitops.h
> > +++ b/include/asm-s390/bitops.h
> > @@ -762,6 +762,8 @@ static inline int sched_find_first_bit(unsigned long *b)
> >   *23 22 21 20 19 18 17 16 31 30 29 28 27 26 25 24
> >   */
> >  
> > +#include 
> > +
> >  #define ext2_set_bit(nr, addr)   \
> > __test_and_set_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr)
> >  #define ext2_set_bit_atomic(lock, nr, addr)   \
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-s390" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
The idea of male and female are universal constants.
-- Kirk, "Metamorphosis", stardate 3219.8
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Fix ext4 bitops

2008-02-01 Thread Bastian Blank
Fix ext4 bitops.

Signed-off-by: Bastian Blank <[EMAIL PROTECTED]>

diff --git a/include/asm-powerpc/bitops.h b/include/asm-powerpc/bitops.h
index 220d9a7..d0980df 100644
--- a/include/asm-powerpc/bitops.h
+++ b/include/asm-powerpc/bitops.h
@@ -363,6 +363,8 @@ unsigned long generic_find_next_le_bit(const unsigned long 
*addr,
unsigned long size, unsigned long offset);
 /* Bitmap functions for the ext2 filesystem */
 
+#include 
+
 #define ext2_set_bit(nr,addr) \
__test_and_set_le_bit((nr), (unsigned long*)addr)
 #define ext2_clear_bit(nr, addr) \
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Fix ext4 bitops

2008-02-01 Thread Bastian Blank
Fix ext4 bitops.

Signed-off-by: Bastian Blank <[EMAIL PROTECTED]>

diff --git a/include/asm-s390/bitops.h b/include/asm-s390/bitops.h
index dba6fec..47844fc 100644
--- a/include/asm-s390/bitops.h
+++ b/include/asm-s390/bitops.h
@@ -762,6 +762,8 @@ static inline int sched_find_first_bit(unsigned long *b)
  *23 22 21 20 19 18 17 16 31 30 29 28 27 26 25 24
  */
 
+#include 
+
 #define ext2_set_bit(nr, addr)   \
__test_and_set_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr)
 #define ext2_set_bit_atomic(lock, nr, addr)   \
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Remove old definition of setup_per_cpu_areas

2008-02-01 Thread Bastian Blank
Remove old definition of setup_per_cpu_areas.

The definition is done depending on the new config variable
HAVE_SETUP_PER_CPU_AREA. 

Signed-off-by: Bastian Blank <[EMAIL PROTECTED]>

diff --git a/include/asm-powerpc/percpu.h b/include/asm-powerpc/percpu.h
index cc1cbf6..f309d34 100644
--- a/include/asm-powerpc/percpu.h
+++ b/include/asm-powerpc/percpu.h
@@ -30,8 +30,6 @@ do {  
\
   (src), (size));  \
 } while (0)
 
-extern void setup_per_cpu_areas(void);
-
 #else /* ! SMP */
 
 #define per_cpu(var, cpu)  (*((void)(cpu), 
_cpu__##var))
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Remove old definition of setup_per_cpu_areas

2008-02-01 Thread Bastian Blank
Remove old definition of setup_per_cpu_areas.

The definition is done depending on the new config variable
HAVE_SETUP_PER_CPU_AREA. 

Signed-off-by: Bastian Blank [EMAIL PROTECTED]

diff --git a/include/asm-powerpc/percpu.h b/include/asm-powerpc/percpu.h
index cc1cbf6..f309d34 100644
--- a/include/asm-powerpc/percpu.h
+++ b/include/asm-powerpc/percpu.h
@@ -30,8 +30,6 @@ do {  
\
   (src), (size));  \
 } while (0)
 
-extern void setup_per_cpu_areas(void);
-
 #else /* ! SMP */
 
 #define per_cpu(var, cpu)  (*((void)(cpu), 
per_cpu__##var))
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Fix ext4 bitops

2008-02-01 Thread Bastian Blank
Fix ext4 bitops.

Signed-off-by: Bastian Blank [EMAIL PROTECTED]

diff --git a/include/asm-powerpc/bitops.h b/include/asm-powerpc/bitops.h
index 220d9a7..d0980df 100644
--- a/include/asm-powerpc/bitops.h
+++ b/include/asm-powerpc/bitops.h
@@ -363,6 +363,8 @@ unsigned long generic_find_next_le_bit(const unsigned long 
*addr,
unsigned long size, unsigned long offset);
 /* Bitmap functions for the ext2 filesystem */
 
+#include asm-generic/bitops/le.h
+
 #define ext2_set_bit(nr,addr) \
__test_and_set_le_bit((nr), (unsigned long*)addr)
 #define ext2_clear_bit(nr, addr) \
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Fix ext4 bitops

2008-02-01 Thread Bastian Blank
Fix ext4 bitops.

Signed-off-by: Bastian Blank [EMAIL PROTECTED]

diff --git a/include/asm-s390/bitops.h b/include/asm-s390/bitops.h
index dba6fec..47844fc 100644
--- a/include/asm-s390/bitops.h
+++ b/include/asm-s390/bitops.h
@@ -762,6 +762,8 @@ static inline int sched_find_first_bit(unsigned long *b)
  *23 22 21 20 19 18 17 16 31 30 29 28 27 26 25 24
  */
 
+#include asm-generic/bitops/le.h
+
 #define ext2_set_bit(nr, addr)   \
__test_and_set_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr)
 #define ext2_set_bit_atomic(lock, nr, addr)   \
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Fix ext4 bitops

2008-02-01 Thread Bastian Blank
On Fri, Feb 01, 2008 at 12:22:57PM -0800, Andrew Morton wrote:
 On Fri, 1 Feb 2008 21:02:08 +0100
 Bastian Blank [EMAIL PROTECTED] wrote:
 
  Fix ext4 bitops.
 
 This is incomplete.  Please tell us what was fixed.
 
 If it was a build error then please quote the compile error output in the
 changelog, as well as the usual description of what the problem is, and how
 it was fixed.

| fs/ext4/mballoc.c: In function 'ext4_mb_generate_buddy':
| fs/ext4/mballoc.c:954: error: implicit declaration of function 
'generic_find_next_le_bit'

The s390 specific bitops uses parts of the generic implementation.
Include the correct header.

  diff --git a/include/asm-s390/bitops.h b/include/asm-s390/bitops.h
  index dba6fec..47844fc 100644
  --- a/include/asm-s390/bitops.h
  +++ b/include/asm-s390/bitops.h
  @@ -762,6 +762,8 @@ static inline int sched_find_first_bit(unsigned long *b)
*23 22 21 20 19 18 17 16 31 30 29 28 27 26 25 24
*/
   
  +#include asm-generic/bitops/le.h
  +
   #define ext2_set_bit(nr, addr)   \
  __test_and_set_bit((nr)^(__BITOPS_WORDSIZE - 8), (unsigned long *)addr)
   #define ext2_set_bit_atomic(lock, nr, addr)   \
 
 
 -
 To unsubscribe from this list: send the line unsubscribe linux-s390 in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
The idea of male and female are universal constants.
-- Kirk, Metamorphosis, stardate 3219.8
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 7/24] consolidate msr.h

2007-11-19 Thread Bastian Blank
On Fri, Nov 09, 2007 at 04:42:48PM -0200, Glauber de Oliveira Costa wrote:
> - wrmsrl(MSR_CSTAR, ia32_cstar_target);
> + wrmsrl(MSR_CSTAR, (u64)ia32_cstar_target);

Hmm, why do you add explicit casts? The compiler should convert that
correctly on its own.

> +static inline void wrmsrl(unsigned int msr, unsigned long long val)

Hmm, long long is 64 bit on all x86, but why not use explicit u64 to
show that?

Bastian

-- 
Captain's Log, star date 21:34.5...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 7/24] consolidate msr.h

2007-11-19 Thread Bastian Blank
On Fri, Nov 09, 2007 at 04:42:48PM -0200, Glauber de Oliveira Costa wrote:
 - wrmsrl(MSR_CSTAR, ia32_cstar_target);
 + wrmsrl(MSR_CSTAR, (u64)ia32_cstar_target);

Hmm, why do you add explicit casts? The compiler should convert that
correctly on its own.

 +static inline void wrmsrl(unsigned int msr, unsigned long long val)

Hmm, long long is 64 bit on all x86, but why not use explicit u64 to
show that?

Bastian

-- 
Captain's Log, star date 21:34.5...
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 3/6] sclp: call sclp_init() from start_kernel().

2007-11-16 Thread Bastian Blank
On Fri, Nov 16, 2007 at 03:29:45PM +0100, Martin Schwidefsky wrote:
>  #else
>  static inline void acpi_early_init(void) { }
>  #endif
> +#ifdef CONFIG_S390
> +extern int sclp_init(void);
> +#else
> +static inline int sclp_init(void) {return 0;}
> +#endif
>  #ifndef CONFIG_DEBUG_RODATA
>  static inline void mark_rodata_ro(void) { }
>  #endif
> @@ -643,6 +648,7 @@ asmlinkage void __init start_kernel(void
>   check_bugs();
>  
>   acpi_early_init(); /* before LAPIC and SMP init */
> + sclp_init();

What happens if sclp_init fails? The other early init calls explicitely
returns void and handels the error internal.

Bastian

-- 
Time is fluid ... like a river with currents, eddies, backwash.
-- Spock, "The City on the Edge of Forever", stardate 3134.0
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 3/6] sclp: call sclp_init() from start_kernel().

2007-11-16 Thread Bastian Blank
On Fri, Nov 16, 2007 at 03:29:45PM +0100, Martin Schwidefsky wrote:
  #else
  static inline void acpi_early_init(void) { }
  #endif
 +#ifdef CONFIG_S390
 +extern int sclp_init(void);
 +#else
 +static inline int sclp_init(void) {return 0;}
 +#endif
  #ifndef CONFIG_DEBUG_RODATA
  static inline void mark_rodata_ro(void) { }
  #endif
 @@ -643,6 +648,7 @@ asmlinkage void __init start_kernel(void
   check_bugs();
  
   acpi_early_init(); /* before LAPIC and SMP init */
 + sclp_init();

What happens if sclp_init fails? The other early init calls explicitely
returns void and handels the error internal.

Bastian

-- 
Time is fluid ... like a river with currents, eddies, backwash.
-- Spock, The City on the Edge of Forever, stardate 3134.0
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 5/6] Move psw_set_key.

2007-06-19 Thread Bastian Blank
On Tue, Jun 19, 2007 at 10:45:21AM +0200, Martin Schwidefsky wrote:
> Move psw_set_key() from ptrace.h to processor.h which is a more
> suitable place for it. In addition the moves makes the function
> invisible to user space.

Hmm, this does not really describe the changes.

Bastian

-- 
Violence in reality is quite different from theory.
-- Spock, "The Cloud Minders", stardate 5818.4
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 5/6] Move psw_set_key.

2007-06-19 Thread Bastian Blank
On Tue, Jun 19, 2007 at 10:45:21AM +0200, Martin Schwidefsky wrote:
 Move psw_set_key() from ptrace.h to processor.h which is a more
 suitable place for it. In addition the moves makes the function
 invisible to user space.

Hmm, this does not really describe the changes.

Bastian

-- 
Violence in reality is quite different from theory.
-- Spock, The Cloud Minders, stardate 5818.4
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [Xen-devel] [patch 19/28]xen: Add early printk support via hvc console

2007-05-12 Thread Bastian Blank
On Thu, May 10, 2007 at 05:07:02PM -0700, Jeremy Fitzhardinge wrote:
> +#ifdef CONFIG_XEN

xenboot_console is only available with CONFIG_HVC_XEN.

> + } else if (!strncmp(buf, "xen", 3)) {
> + early_console = _console;
> +#endif
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [Xen-devel] [patch 19/28]xen: Add early printk support via hvc console

2007-05-12 Thread Bastian Blank
On Thu, May 10, 2007 at 05:07:02PM -0700, Jeremy Fitzhardinge wrote:
 +#ifdef CONFIG_XEN

xenboot_console is only available with CONFIG_HVC_XEN.

 + } else if (!strncmp(buf, xen, 3)) {
 + early_console = xenboot_console;
 +#endif
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Allow reading tainted flag as user

2007-04-22 Thread Bastian Blank
The commit 34f5a39899f3f3e815da64f48ddb72942d86c366 restricted reading
of the tainted value. The attached patch changes this back to a
write-only check and restores the read behaviour of older versions.

Signed-off-by: Bastian Blank <[EMAIL PROTECTED]>

-- 
The joys of love made her human and the agonies of love destroyed her.
-- Spock, "Requiem for Methuselah", stardate 5842.8


signature.asc
Description: Digital signature


Re: [PATCH] Allow reading tainted flag as user

2007-04-22 Thread Bastian Blank
On Sun, Apr 22, 2007 at 01:50:45AM -0700, Andrew Morton wrote:
> On Sun, 22 Apr 2007 10:39:41 +0200 Bastian Blank <[EMAIL PROTECTED]> wrote:
> 
> > The commit 34f5a39899f3f3e815da64f48ddb72942d86c366 restricted reading
> > of the tainted value. The attached patch changes this back to a
> > write-only check and restores the read behaviour of older versions.
> > 
> > Signed-off-by: Bastian Blank <[EMAIL PROTECTED]>
> 
> there's no patch here.

Ups.

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 1b255df..c904748 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1676,7 +1676,7 @@ static int proc_dointvec_taint(ctl_table *table, int 
write, struct file *filp,
 {
int op;
 
-   if (!capable(CAP_SYS_ADMIN))
+   if (write && !capable(CAP_SYS_ADMIN))
return -EPERM;
 
op = OP_OR;

-- 
Captain's Log, star date 21:34.5...


signature.asc
Description: Digital signature


Re: [PATCH] Allow reading tainted flag as user

2007-04-22 Thread Bastian Blank
On Sun, Apr 22, 2007 at 01:50:45AM -0700, Andrew Morton wrote:
 On Sun, 22 Apr 2007 10:39:41 +0200 Bastian Blank [EMAIL PROTECTED] wrote:
 
  The commit 34f5a39899f3f3e815da64f48ddb72942d86c366 restricted reading
  of the tainted value. The attached patch changes this back to a
  write-only check and restores the read behaviour of older versions.
  
  Signed-off-by: Bastian Blank [EMAIL PROTECTED]
 
 there's no patch here.

Ups.

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 1b255df..c904748 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1676,7 +1676,7 @@ static int proc_dointvec_taint(ctl_table *table, int 
write, struct file *filp,
 {
int op;
 
-   if (!capable(CAP_SYS_ADMIN))
+   if (write  !capable(CAP_SYS_ADMIN))
return -EPERM;
 
op = OP_OR;

-- 
Captain's Log, star date 21:34.5...


signature.asc
Description: Digital signature


[PATCH] Allow reading tainted flag as user

2007-04-22 Thread Bastian Blank
The commit 34f5a39899f3f3e815da64f48ddb72942d86c366 restricted reading
of the tainted value. The attached patch changes this back to a
write-only check and restores the read behaviour of older versions.

Signed-off-by: Bastian Blank [EMAIL PROTECTED]

-- 
The joys of love made her human and the agonies of love destroyed her.
-- Spock, Requiem for Methuselah, stardate 5842.8


signature.asc
Description: Digital signature


Re: [Patch 1/2] add for_each_substring() and match_substring()

2007-03-08 Thread Bastian Blank
On Tue, Mar 06, 2007 at 08:19:23PM +0100, Martin Peschke wrote:
> +char *match_to(const char *cs, const char *ct)
> +{
> + char *delim = strpbrk(cs, ct);
> + if (delim)
> + return delim;
> + else if (*cs != '\0')
> + return (char *)(cs + strlen(cs));

This disallows the use of match_to with a real constant char array,
please remove the const from the prototyp.

Bastian

-- 
"Get back to your stations!"
"We're beaming down to the planet, sir."
-- Kirk and Mr. Leslie, "This Side of Paradise",
   stardate 3417.3
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [Patch 1/2] add for_each_substring() and match_substring()

2007-03-08 Thread Bastian Blank
On Tue, Mar 06, 2007 at 08:19:23PM +0100, Martin Peschke wrote:
 +char *match_to(const char *cs, const char *ct)
 +{
 + char *delim = strpbrk(cs, ct);
 + if (delim)
 + return delim;
 + else if (*cs != '\0')
 + return (char *)(cs + strlen(cs));

This disallows the use of match_to with a real constant char array,
please remove the const from the prototyp.

Bastian

-- 
Get back to your stations!
We're beaming down to the planet, sir.
-- Kirk and Mr. Leslie, This Side of Paradise,
   stardate 3417.3
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


ibmvstgt/aio broken with 2.6.20-rc6 powerpc

2007-01-28 Thread Bastian Blank
Hi folks

I'm not really sure if this is a ibmvstgt or a generic aio problem.

I tried ibmvstgt on my openpower and the kernel shows the following
warning several times:
| Jan 28 15:11:15 waldi kernel: Badness at arch/powerpc/mm/slb.c:95
| Jan 28 15:11:15 waldi kernel: Call Trace:
| Jan 28 15:11:15 waldi kernel: [C282B750] [C000EC94] 
.show_stack+0x68/0x1b0 (unreliable)
| Jan 28 15:11:15 waldi kernel: [C282B7F0] [C015ED64] 
.report_bug+0x94/0xe8
| Jan 28 15:11:15 waldi kernel: [C282B880] [C00228DC] 
.program_check_exception+0x140/0x54c
| Jan 28 15:11:15 waldi kernel: [C282B920] [C0004774] 
program_check_common+0xf4/0x100
| Jan 28 15:11:15 waldi kernel: --- Exception: 700 at 
.slb_flush_and_rebolt+0xc/0xe0
| Jan 28 15:11:15 waldi kernel: LR = .switch_slb+0xac/0x1a0
| Jan 28 15:11:15 waldi kernel: [C282BC10] [] 
0x (unreliable)
| Jan 28 15:11:15 waldi kernel: [C282BCB0] [C00E1750] 
.aio_kick_handler+0x128/0x278
| Jan 28 15:11:15 waldi kernel: [C282BD60] [C0066380] 
.run_workqueue+0xec/0x1d4
| Jan 28 15:11:15 waldi kernel: [C282BE00] [C0066F2C] 
.worker_thread+0x164/0x1bc
| Jan 28 15:11:15 waldi kernel: [C282BEE0] [C006B6E8] 
.kthread+0x120/0x170
| Jan 28 15:11:15 waldi kernel: [C282BF90] [C0024204] 
.kernel_thread+0x4c/0x68

One possibility:
aio_kick_handler calls use_mm. use_mm calls switch_mm. It seems that
90aef12e6dd609e1ad7fb70044eedc78ca55ee5e changed that from activate_mm.

activate_mm on powerpc disables interupts and calls swtich_mm. So
switch_mm is now called with interrupts enabled and runs into the
WARN_ON.

Bastian

-- 
She won' go Warp 7, Cap'n!  The batteries are dead!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


ibmvstgt/aio broken with 2.6.20-rc6 powerpc

2007-01-28 Thread Bastian Blank
Hi folks

I'm not really sure if this is a ibmvstgt or a generic aio problem.

I tried ibmvstgt on my openpower and the kernel shows the following
warning several times:
| Jan 28 15:11:15 waldi kernel: Badness at arch/powerpc/mm/slb.c:95
| Jan 28 15:11:15 waldi kernel: Call Trace:
| Jan 28 15:11:15 waldi kernel: [C282B750] [C000EC94] 
.show_stack+0x68/0x1b0 (unreliable)
| Jan 28 15:11:15 waldi kernel: [C282B7F0] [C015ED64] 
.report_bug+0x94/0xe8
| Jan 28 15:11:15 waldi kernel: [C282B880] [C00228DC] 
.program_check_exception+0x140/0x54c
| Jan 28 15:11:15 waldi kernel: [C282B920] [C0004774] 
program_check_common+0xf4/0x100
| Jan 28 15:11:15 waldi kernel: --- Exception: 700 at 
.slb_flush_and_rebolt+0xc/0xe0
| Jan 28 15:11:15 waldi kernel: LR = .switch_slb+0xac/0x1a0
| Jan 28 15:11:15 waldi kernel: [C282BC10] [] 
0x (unreliable)
| Jan 28 15:11:15 waldi kernel: [C282BCB0] [C00E1750] 
.aio_kick_handler+0x128/0x278
| Jan 28 15:11:15 waldi kernel: [C282BD60] [C0066380] 
.run_workqueue+0xec/0x1d4
| Jan 28 15:11:15 waldi kernel: [C282BE00] [C0066F2C] 
.worker_thread+0x164/0x1bc
| Jan 28 15:11:15 waldi kernel: [C282BEE0] [C006B6E8] 
.kthread+0x120/0x170
| Jan 28 15:11:15 waldi kernel: [C282BF90] [C0024204] 
.kernel_thread+0x4c/0x68

One possibility:
aio_kick_handler calls use_mm. use_mm calls switch_mm. It seems that
90aef12e6dd609e1ad7fb70044eedc78ca55ee5e changed that from activate_mm.

activate_mm on powerpc disables interupts and calls swtich_mm. So
switch_mm is now called with interrupts enabled and runs into the
WARN_ON.

Bastian

-- 
She won' go Warp 7, Cap'n!  The batteries are dead!
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] kbuild: Don't ignore localversion files if the path includes a ~

2007-01-10 Thread Bastian Blank
Hi Kai, Sam

The following patch fixes the problem that localversion files where
ignored if the tree lives in a path which contains a ~. It changes the
test to apply to the filename only.

Debian allows versions which contains ~ in it. The upstream part of the
version is in the directory name of the build tree and we got weird
results because the localversion files was just got ignored in this
case.

--- a/Makefile
+++ b/Makefile
@@ -807,7 +807,7 @@ space  := $(nullstring) # end of line
 ___localver = $(objtree)/localversion* $(srctree)/localversion*
 __localver  = $(sort $(wildcard $(___localver)))
 # skip backup files (containing '~')
-_localver = $(foreach f, $(__localver), $(if $(findstring ~, $(f)),,$(f)))
+_localver = $(foreach f, $(__localver), $(if $(findstring ~, $(notdir 
$(f))),,$(f)))
 
 localver = $(subst $(space),, \
   $(shell cat /dev/null $(_localver)) \

-- 
Totally illogical, there was no chance.
-- Spock, "The Galileo Seven", stardate 2822.3


signature.asc
Description: Digital signature


[PATCH] kbuild: Don't ignore localversion files if the path includes a ~

2007-01-10 Thread Bastian Blank
Hi Kai, Sam

The following patch fixes the problem that localversion files where
ignored if the tree lives in a path which contains a ~. It changes the
test to apply to the filename only.

Debian allows versions which contains ~ in it. The upstream part of the
version is in the directory name of the build tree and we got weird
results because the localversion files was just got ignored in this
case.

--- a/Makefile
+++ b/Makefile
@@ -807,7 +807,7 @@ space  := $(nullstring) # end of line
 ___localver = $(objtree)/localversion* $(srctree)/localversion*
 __localver  = $(sort $(wildcard $(___localver)))
 # skip backup files (containing '~')
-_localver = $(foreach f, $(__localver), $(if $(findstring ~, $(f)),,$(f)))
+_localver = $(foreach f, $(__localver), $(if $(findstring ~, $(notdir 
$(f))),,$(f)))
 
 localver = $(subst $(space),, \
   $(shell cat /dev/null $(_localver)) \

-- 
Totally illogical, there was no chance.
-- Spock, The Galileo Seven, stardate 2822.3


signature.asc
Description: Digital signature


[PATCH] s390 - fix posix types

2006-12-02 Thread Bastian Blank
Hi folks

The attached patch remove the usage of __ptr_t from
include/asm-s390/posix_types.h.

Bastian

-- 
Landru! Guide us!
-- A Beta 3-oid, "The Return of the Archons", stardate 3157.4
diff --git a/include/asm-s390/posix_types.h b/include/asm-s390/posix_types.h
index b94c988..878057b 100644
--- a/include/asm-s390/posix_types.h
+++ b/include/asm-s390/posix_types.h
@@ -104,7 +104,7 @@ static inline int __FD_ISSET(unsigned long fd, const 
__kernel_fd_set *fdsetp)
 
 #undef  __FD_ZERO
 #define __FD_ZERO(fdsetp) \
-   ((void) memset ((__ptr_t) (fdsetp), 0, sizeof (__kernel_fd_set)))
+   ((void) memset ((fdsetp), 0, sizeof (__kernel_fd_set)))
 
 #endif /* __KERNEL__ */
 


[PATCH] s390 - fix posix types

2006-12-02 Thread Bastian Blank
Hi folks

The attached patch remove the usage of __ptr_t from
include/asm-s390/posix_types.h.

Bastian

-- 
Landru! Guide us!
-- A Beta 3-oid, The Return of the Archons, stardate 3157.4
diff --git a/include/asm-s390/posix_types.h b/include/asm-s390/posix_types.h
index b94c988..878057b 100644
--- a/include/asm-s390/posix_types.h
+++ b/include/asm-s390/posix_types.h
@@ -104,7 +104,7 @@ static inline int __FD_ISSET(unsigned long fd, const 
__kernel_fd_set *fdsetp)
 
 #undef  __FD_ZERO
 #define __FD_ZERO(fdsetp) \
-   ((void) memset ((__ptr_t) (fdsetp), 0, sizeof (__kernel_fd_set)))
+   ((void) memset ((fdsetp), 0, sizeof (__kernel_fd_set)))
 
 #endif /* __KERNEL__ */
 


[RFC] device types for s390 network devices

2005-02-01 Thread Bastian Blank
The s390 network devices specifies device types which does not match the
reality.

ctc
===

This device is currently specified as ARPHRD_SLIP. If I see it
correctly, SLIP is an IP-only transport. ctc is more, the link level
header contains the ethernet protocoll type, so it is some sort of
pointopoint ethernet (which is sometimes crippled to IPv4-only for
compatiblity reasons).

qeth


This device is currently specified as the corresponding real device
type if it is a real adapter, or ARPHRD_ETHER if it is a virtual one.
The virtual device behaves different in different modi:
- "layer2": In this mode, the device behaves like a real layer 2 device.
- "fake_ll": The kernel prepends a faked link level header.
- default: The kernel processes the IP-packages.  This is the most used
  mode, in whom it is impossible to use a standard libpcap as it parses
  the IP-headers as Ethernet. (IBM suggests to patch libpcap, but I
  think that changing the device type to something more matching is the
  correct solution.)

At least the last part needs some fix, but I don't know how to fix if
properly.

Bastian

-- 
The more complex the mind, the greater the need for the simplicity of play.
-- Kirk, "Shore Leave", stardate 3025.8


signature.asc
Description: Digital signature


[RFC] device types for s390 network devices

2005-02-01 Thread Bastian Blank
The s390 network devices specifies device types which does not match the
reality.

ctc
===

This device is currently specified as ARPHRD_SLIP. If I see it
correctly, SLIP is an IP-only transport. ctc is more, the link level
header contains the ethernet protocoll type, so it is some sort of
pointopoint ethernet (which is sometimes crippled to IPv4-only for
compatiblity reasons).

qeth


This device is currently specified as the corresponding real device
type if it is a real adapter, or ARPHRD_ETHER if it is a virtual one.
The virtual device behaves different in different modi:
- layer2: In this mode, the device behaves like a real layer 2 device.
- fake_ll: The kernel prepends a faked link level header.
- default: The kernel processes the IP-packages.  This is the most used
  mode, in whom it is impossible to use a standard libpcap as it parses
  the IP-headers as Ethernet. (IBM suggests to patch libpcap, but I
  think that changing the device type to something more matching is the
  correct solution.)

At least the last part needs some fix, but I don't know how to fix if
properly.

Bastian

-- 
The more complex the mind, the greater the need for the simplicity of play.
-- Kirk, Shore Leave, stardate 3025.8


signature.asc
Description: Digital signature