Re: [patch 2/16] list_head debugging

Arnaldo Carvalho de Melo
2002-06-01T17:19:14Z

Em Sat, Jun 01, 2002 at 01:40:03AM -0700, Andrew Morton escreveu:
> A common and very subtle bug is to use list_heads which aren't on any
> lists. It causes kernel memory corruption which is observed long after
> the offending code has executed.

> The patch nulls out the dangling pointers so we get a nice oops at the
> site of the buggy code.

> =====================================
>
> --- 2.5.19/include/linux/list.h~list-debug Sat Jun 1 01:18:05 2002
> +++ 2.5.19-akpm/include/linux/list.h Sat Jun 1 01:18:05 2002
> @@ -94,6 +94,11 @@ static __inline__ void __list_del(struct
> static __inline__ void list_del(struct list_head *entry)
> {
> __list_del(entry->prev, entry->next);

#ifdef CONFIG_DEBUG_LIST_DEL_NULLIFY

> + entry->next = 0;
> + entry->prev = 0;

#endif

> }

8) And get this configured in the Debug section of make *config

The kernel will always have bugs ;)

- Arnaldo