1*f4b8bfb1SPuranjay Mohan // SPDX-License-Identifier: GPL-2.0 2*f4b8bfb1SPuranjay Mohan /* Data introduced by the patch. */ 3*f4b8bfb1SPuranjay Mohan 4*f4b8bfb1SPuranjay Mohan static const char __modinfo[] 5*f4b8bfb1SPuranjay Mohan __attribute__((section(".modinfo"), used, aligned(1))) = "\0name=vmlinux"; 6*f4b8bfb1SPuranjay Mohan 7*f4b8bfb1SPuranjay Mohan #ifdef PATCHED 8*f4b8bfb1SPuranjay Mohan /* 9*f4b8bfb1SPuranjay Mohan * Not an arithmetic progression: { 1, 2, 3, 4 } indexed by x & 3 is something 10*f4b8bfb1SPuranjay Mohan * a compiler can compute instead of load, and then target() has no reference 11*f4b8bfb1SPuranjay Mohan * to the array and there is nothing for klp diff to carry. 12*f4b8bfb1SPuranjay Mohan */ 13*f4b8bfb1SPuranjay Mohan static const int klp_new_data[4] __attribute__((used)) = { 7, 3, 11, 5 }; 14*f4b8bfb1SPuranjay Mohan #endif 15*f4b8bfb1SPuranjay Mohan target(int x)16*f4b8bfb1SPuranjay Mohanint target(int x) 17*f4b8bfb1SPuranjay Mohan { 18*f4b8bfb1SPuranjay Mohan #ifdef PATCHED 19*f4b8bfb1SPuranjay Mohan return x + klp_new_data[x & 3]; 20*f4b8bfb1SPuranjay Mohan #else 21*f4b8bfb1SPuranjay Mohan return x; 22*f4b8bfb1SPuranjay Mohan #endif 23*f4b8bfb1SPuranjay Mohan } 24