@@ -864,10 +864,9 @@ static int __dump_emit(struct coredump_params *cprm, const void *addr, int nr)
864
864
struct file * file = cprm -> file ;
865
865
loff_t pos = file -> f_pos ;
866
866
ssize_t n ;
867
+
867
868
if (cprm -> written + nr > cprm -> limit )
868
869
return 0 ;
869
-
870
-
871
870
if (dump_interrupted ())
872
871
return 0 ;
873
872
n = __kernel_write (file , addr , nr , & pos );
@@ -884,20 +883,21 @@ static int __dump_skip(struct coredump_params *cprm, size_t nr)
884
883
{
885
884
static char zeroes [PAGE_SIZE ];
886
885
struct file * file = cprm -> file ;
886
+
887
887
if (file -> f_mode & FMODE_LSEEK ) {
888
- if (dump_interrupted () ||
889
- vfs_llseek (file , nr , SEEK_CUR ) < 0 )
888
+ if (dump_interrupted () || vfs_llseek (file , nr , SEEK_CUR ) < 0 )
890
889
return 0 ;
891
890
cprm -> pos += nr ;
892
891
return 1 ;
893
- } else {
894
- while (nr > PAGE_SIZE ) {
895
- if (!__dump_emit (cprm , zeroes , PAGE_SIZE ))
896
- return 0 ;
897
- nr -= PAGE_SIZE ;
898
- }
899
- return __dump_emit (cprm , zeroes , nr );
900
892
}
893
+
894
+ while (nr > PAGE_SIZE ) {
895
+ if (!__dump_emit (cprm , zeroes , PAGE_SIZE ))
896
+ return 0 ;
897
+ nr -= PAGE_SIZE ;
898
+ }
899
+
900
+ return __dump_emit (cprm , zeroes , nr );
901
901
}
902
902
903
903
int dump_emit (struct coredump_params * cprm , const void * addr , int nr )
0 commit comments