Strona 1 z 1

Jądro 2.6.31.6 błąd z łatką grsec

: 19 listopada 2009, 21:23
autor: miloszes
Witam.

Pobrałem najnowsze stabilne jądro (2.6.31.6) z http://www.kernel.org oraz łatkę grsec ze strony http://www.grsecurity.net/ (z dnia 2009-11-15).

Podczas wykonywania polecenia:

Kod: Zaznacz cały

sudo patch -p0 < grsecurity-2.1.14-2.6.31.6-200911151724.patch
Pojawia mi się następujący komunikat:

Kod: Zaznacz cały

patching file linux-2.6.31.6/arch/alpha/include/asm/atomic.h
Hunk #1 FAILED at 18.
Hunk #2 succeeded at 51 with fuzz 1 (offset 5 lines).
Hunk #3 succeeded at 91 with fuzz 1 (offset 10 lines).
Hunk #4 FAILED at 268.
2 out of 4 hunks FAILED -- saving rejects to file linux-2.6.31.6/arch/alpha/include/asm/atomic.h.rej
patching file linux-2.6.31.6/arch/alpha/include/asm/elf.h
patch: **** malformed patch at line 63: 00 : 0x120000000UL)
Zawartość pliku /arch/alpha/include/asm/atomic.h.rej:

Kod: Zaznacz cały

***************
*** 18,26 ****
  #define ATOMIC64_INIT(i)       ( (atomic64_t) { (i) } )

  #define atomic_read(v)         ((v)->counter + 0)
  #define atomic64_read(v)       ((v)->counter + 0)

  #define atomic_set(v,i)                ((v)->counter = (i))
  #define atomic64_set(v,i)      ((v)->counter = (i))

  /*
--- 18,28 ----
  #define ATOMIC64_INIT(i)       ( (atomic64_t) { (i) } )

  #define atomic_read(v)         ((v)->counter + 0)
+ #define atomic_read_unchecked(v)       ((v)->counter + 0)
  #define atomic64_read(v)       ((v)->counter + 0)

  #define atomic_set(v,i)                ((v)->counter = (i))
+ #define atomic_set_unchecked(v,i)      ((v)->counter = (i))
  #define atomic64_set(v,i)      ((v)->counter = (i))

  /*
*************** static __inline__ int atomic64_add_unles
*** 256,261 ****
  #define atomic64_dec_and_test(v) (atomic64_sub_return(1, (v)) == 0)

  #define atomic_inc(v) atomic_add(1,(v))
  #define atomic64_inc(v) atomic64_add(1,(v))

  #define atomic_dec(v) atomic_sub(1,(v))
--- 268,274 ----
  #define atomic64_dec_and_test(v) (atomic64_sub_return(1, (v)) == 0)

  #define atomic_inc(v) atomic_add(1,(v))
+ #define atomic_inc_unchecked(v) atomic_add_unchecked(1,(v))
  #define atomic64_inc(v) atomic64_add(1,(v))

  #define atomic_dec(v) atomic_sub(1,(v))
Czy macie może pomysł jaki może być problem z nakładaniem łatek na jądro?

Pozdrawiam,
MiloszeS

: 19 listopada 2009, 21:47
autor: winnetou
Dziękuje...

: 20 listopada 2009, 09:51
autor: miloszes
Wiem, że zabrzmi to lamersko, ale właśnie nie mogłem znaleźć starszych wersji grsec. Na stronie grsec w sekcji pobierania jest wyłącznie najnowsza wersja.
Próbowałem przez Google i też bez rezultatów. Co do repozytorium, to nie znalazłem gałęzi z gotowymi łatami - są jakieś pliki, ale nie wiem czy należy je samemu skompilować. Ponieważ to moje pierwsze łatki, wolę samemu nie podejmować takich decyzji.
Czy mógłbyś mi w skrócie opisać jak zdobyć starszą wersję łaty?

Pozdrawiam,
MiloszeS